文字数はひとつではない
「文字数」と聞くとひとつの数字のように思えますが、実際には何を1文字とみなすかによって複数の値が出てきます。同じ自己紹介書を2つのサイトに貼り付けたら結果が数文字違った、ということがよくあるのはこのためです。違いの大半は3つの点から生じます。空白を数えるか、改行をどう数えるか、そして絵文字のように複数の符号が組み合わさった文字を何文字とみなすかです。
空白ありと空白なし
空白ありは、スペースも1文字として数えた値です。韓国語の「안녕 하세요」は空白ありで6字です。空白なしはスペース・タブ・改行などの空白をすべて除いた値で、同じ文が5字になります。
韓国語は文節(어절)ごとに分かち書きをするため、空白の比重が小さくありません。1つの文節はふつう3〜4字なので、一般的な散文では空白が全体の約5分の1を占めることもよくあります。そのため「空白あり1,000字」と「空白なし1,000字」では実際の分量がかなり違います。空白なし基準なら、同じ制限の中により多くの内容を盛り込めます。
提出先が基準を明示していない場合は、より厳しい空白あり基準に合わせておくのが安全です。
改行は何文字か
改行の扱いは、サービスによって最も分かれる部分です。
- 改行を1字と数えるところ
- 改行をまったく数えないところ
- Windows式の改行(CR+LFの2文字)をそのまま2字と数えるところ
段落が10個ある文章なら、この違いだけで10〜20字変わります。このツールはWindows・Mac・Linuxのどの改行も1字に統一して数え、「改行も文字として数える」オプションをオフにすると改行を除いて数えます。空白なしの値には、オプションに関係なく改行は含まれません。
絵文字と結合文字
コンピューターの中では、文字は「コードポイント」という番号で保存されます。ほとんどの文字は番号1つが1文字ですが、例外があります。
- 絵文字の組み合わせ:家族の絵文字 👨👩👧 は、人物3人とそれをつなぐ目に見えない文字(ZWJ)2つ、合計5つのコードポイントでできています。JavaScriptの標準の長さ計算では8になります。
- 肌の色・国旗:👍🏽 は手の形と肌の色を調整する文字の2つ、🇰🇷 は地域指示文字2つでできています。
- 分解されたハングル(NFD):Macで作ったファイル名や一部の文書では、「한」がㅎ・ㅏ・ㄴの3つの符号で保存されることがあります。画面上は1文字に見えても、符号としては3つです。
このツールはUnicode標準の「書記素クラスター(grapheme cluster)」の規則に従い、見た目のひとかたまりを1字として数えます。そのため 👨👩👧 も、分解された「한」も1字です。一方、バイト数の計算には実際に保存される符号がすべて反映されるため、絵文字の多い文章は文字数に比べてバイト数が大きく増えます。
提出前に確認すること
- 募集要項や案内に書かれた基準が空白ありか空白なしかを確認します。
- 提出システムに直接貼り付けて、表示される文字数を最後に確認します。システムによって改行の扱いが異なる場合があるためです。
- 制限ぴったりに合わせるより数文字の余裕を持たせると、改行の違いによる超過を防げます。
- 絵文字や特殊文字は提出システムで文字化けしたり、数え方が変わったりすることがあるので、なるべく使わないようにします。
基準日: 2026-09-23