文字数カウント
文字数・単語数・行数をリアルタイムでカウント
X 文字数: 漢字・かな・ハングル・絵文字は2、半角英数字は1、リンクは23
処理中…
0.0
停止していません。計算が終わると結果が表示されます。
文字数カウントについて
このツールは、空白込みの文字数、空白を除いた文字数、単語数、行数に加えて、UTF-8とEUC-KRのバイト数、X(旧Twitter)の重み付き文字数を表示します。文字はIntl.Segmenterの「書記素クラスタ」単位で数えるので、家族の絵文字👨👩👧👦のように複数のコードポイントをつないだ文字も1文字です。同じ文字列をJavaScriptの.lengthで数えると11になります。
「文字数」の定義は提出先によって違います。原稿用紙、Xの投稿、Shift_JISを使う古いシステムはそれぞれ別の数え方をします。以下では、その違いとこのツールの数字の読み方を説明します。
原稿用紙は「文字」ではなく「マス」
400字詰め原稿用紙(20字×20行)で「5枚」と指定された課題は、2,000字ちょうどではなく2,000マスを意味します。段落の最初の一字下げ、改行で残った行末の空きマス、句読点やかぎかっこが占めるマスもすべて分量に入ります。そのため、ここで数えた空白込みの文字数より原稿用紙の枚数はいつも多めになります。会話文や改行が多い文章ほど差が広がるので、字数ぴったりに書いた後は実際のマス目配置で確認してください。
行頭に句読点が来ないよう前の行の最後のマスに押し込む書き方(ぶら下げ)も、原稿用紙ならではの処理で、文字数カウンタには反映されません。
Xの280は重み付きの合計
Xの開発者向けドキュメントによると、投稿は重みの合計が280以下である必要があり、日本語・中国語・韓国語の文字は1文字を2、ラテン文字・句読点・一般的な記号は1と数えます。日本語だけなら140文字が上限です。絵文字は肌の色や結合に関係なく2、URLは元の長さに関係なくt.coの短縮URLとして23です。
このツールの「X 文字数」はこのルール(twitter-textの方式)で数え、280を超えると赤く表示します。日本語120文字と英数字・空白15文字なら120×2+15=255、リンクを1つ付けると255+1+23=279でぎりぎり収まります。リンクは http://・https://・www. で始まるものと、.com・.jp などよく使われるドメインで終わるものを認識します。
バイト数で制限する古いシステム
Shift_JISやEUC-JPで動くシステムでは、全角文字(かな・漢字・全角記号)は2バイト、半角英数字と半角カナは1バイトです。現在のWeb標準のUTF-8では、かなと漢字は3バイトになります。「全角100文字以内」という入力欄は、実質的に「200バイト以内」を意味していることがあります。このツールが表示するバイト数はUTF-8と韓国語のEUC-KRで、Shift_JISのバイト数は出ません。日本語だけの文なら全角文字数×2で見積もり、バイト制限のある欄では提出先のカウンタを最終的な基準にしてください。
このツールの数え方の細部
空白を除いた文字数は、JavaScriptの\sに当たる文字をすべて消してから数えます。ここには半角スペース、タブ、改行に加え、全角スペース(U+3000)とノーブレークスペース(U+00A0)も含まれます。一方、ゼロ幅スペース(U+200B)は空白扱いにならず1文字として数えられます。Webページからコピーした文章の数字が1〜2字多いときは、こうした見えない文字を疑ってください。
単語数は空白で区切られたかたまりの数です。日本語の文はスペースを入れないので、一文全体が1単語になります。日本語では文字数だけを見てください。行数は改行の数に1を足した値で、最後に改行を入れると空行が1行増えます。
Windowsの改行CRLF(\r\n)はUnicodeの規則で1つの書記素になるため、空白込みの数字に1文字として入ります。.lengthで数える他のツールは2文字と数えるため、行数の多い文章では行数ぶんの差が出ます。
例
2行の文章
- 入力
私は粘り強い性格です。 志望動機は次のとおりです。- 結果
空白込み 25 / 空白除く 24 / 単語 2 / 行 2
1行目11文字、改行1、2行目13文字で25。改行を除くと24です。単語はスペースがないので各行1つずつ、計2です。Shift_JISでは全角24文字×2=48バイトに改行を足した数になります。
見えない文字が混ざった場合
- 入力
a[NBSP]b[ZWSP]c(U+00A0とU+200Bを含む)- 結果
空白込み 5 / 空白除く 4 / 単語 2
NBSPは空白として除かれますが、ZWSPは残って1文字と数えられます。
絵文字
- 入力
👨👩👧👦- 結果
空白込み 1
コードポイントは7個、UTF-16で11単位、UTF-8で25バイトですが、見た目どおり1文字です。Xでは2と数えます。
使い方
- テキストを入力欄に貼り付けるか、直接入力します。
- 入力に合わせて文字数・バイト数・X 文字数がすぐ変わります。
- 提出先のルール(空白込み・除く、バイト、重み)に合う数字を読みます。
よくある質問
原稿用紙何枚分かわかりますか?
直接は出ません。一字下げや行末の空きマスが入るため、空白込み文字数を400で割った値より多くなると考えてください。
Xの文字数と合いません。
Xでは日本語1文字が2、URLが23、絵文字が2です。この重みで数えた値は「X 文字数」に出ます。空白込みの文字数とは別の数字です。
単語数が1や2になります。
スペースで区切って数えるためです。日本語には文字数を使ってください。
全角・半角を区別して数えられますか?
区別しません。どちらも1文字です。バイト制限の欄では全角を2として換算してください。
関連ガイド
出典
- X Developer Platform — Counting characters
- Unicode UAX #29 — Text Segmentation
- WHATWG Encoding Standard — Shift_JIS
- MDN — Intl.Segmenter
基準日: