文字数・単語数の数え方:英語と日本語で違うルール

約6分

「400 字詰め原稿用紙 5 枚」「2000 ワード以内」「140 文字制限」など、文字数・単語数の数え方は場面によってルールが違います。本記事ではよくある数え方とその違いを整理します。

文字数 vs 単語数

英語と日本語で「数える単位」が違います:

  • 英語:単語数(words)が一般的
  • 日本語:文字数(characters)が一般的

「Hello world」は英語で 2 words、日本語で 11 文字(スペース含めるか別途)。

単語の数え方(英語)

スペース区切りで分割するのが基本:

"The quick brown fox jumps over the lazy dog."
→ 9 単語

ただし境界判定で分かれる:

  • ハイフン語well-being は 1 単語?2 単語?
  • アポストロフィit's は 1 単語?
  • 数字100m は 1 単語?2 単語?

Word の標準は「ハイフン込み 1 単語」「アポストロフィ込み 1 単語」。

文字数の数え方(日本語)

3 つのレベルがあります:

バイト数

ファイルサイズ。UTF-8 では:

  • ASCII:1 バイト
  • 半角カナ・ラテン拡張:2 バイト
  • 漢字・ひらがな・カタカナ:3 バイト
  • 絵文字:4 バイト(多くの場合)

「あいう」は 9 バイト。

コードポイント数

Unicode の符号位置。String.length の値(UTF-16 のコードユニット数)と微妙に違うことがある:

  • 「あいう」は 3 コードポイント
  • 「🍎」は 1 コードポイントだが UTF-16 では 2 コードユニット

グラフェムクラスタ数(見た目の文字数)

「人間が見て 1 文字」と数えるレベル:

  • 「が」(か + 濁点合成)は 1 グラフェムクラスタ(2 コードポイント)
  • 「👨‍👩‍👧」(家族絵文字)は 1 グラフェムクラスタ(5 コードポイント)

「文字数を数える」のが期待される感覚はこれ。

JavaScript での文字数

JavaScript はデフォルトで UTF-16 コードユニット数:

'hello'.length; // 5
'あいう'.length; // 3
'🍎'.length; // 2 ← 注意
'👨‍👩‍👧'.length; // 8 ← サロゲートペア + ZWJ

「絵文字を 1 文字として数えたい」なら:

[...'🍎'].length; // 1(イテレータでコードポイント)
[...'👨‍👩‍👧'].length; // 5(ZWJ を分解してしまう)

完全な「グラフェムクラスタ」は Intl.Segmenter を使う:

const seg = new Intl.Segmenter('ja', { granularity: 'grapheme' });
[...seg.segment('👨‍👩‍👧')].length; // 1

Twitter(X)の文字数

Twitter の独自ルール:

  • 全角文字(CJK、ひらがな等):2 文字としてカウント
  • 半角文字(ASCII):1 文字
  • 上限 280 / 2 = 140 全角文字 = 280 半角文字

URL は短縮されて固定 23 文字(t.co で短縮)。 画像・動画は文字数に含まれない。

SMS の文字数

SMS は文字エンコーディングで上限が変わる:

  • GSM 7-bit(ASCII 系):160 文字 / SMS
  • UCS-2(日本語含む):70 文字 / SMS
  • 超えると複数 SMS に分割(連結 SMS)

「日本語 SMS は 70 文字制限」が一般的。

Word の「文字数のカウント」

Microsoft Word の「文字カウント」ダイアログ:

  • 単語数:スペース区切り
  • 文字数(スペースなし)
  • 文字数(スペース含む)
  • 段落数
  • 行数

学術論文や業務文書で「2000 字以内」と言われたら、Word の「文字数(スペース含む)」が標準。

出版・印刷業界

  • 400 字詰め原稿用紙:1 枚 400 字
  • 20 字 × 20 行の升目
  • 句読点も 1 マス使う

「原稿用紙 5 枚」は 2000 字。雑誌・書籍の依頼でよく出る単位。

SEO とコンテンツ長

Google の検索品質ガイドライン:

  • 短すぎるコンテンツ(300 字以下):SEO に弱い
  • 適切な長さ:1500〜2500 字(日本語)、800〜1500 単語(英語)
  • 長すぎる:読み切られない

「内容に応じて」が原則。文字数稼ぎは逆効果。

翻訳料金

翻訳業界では:

  • 原文文字数ベース:日本語 1 文字 X 円
  • 訳文単語数ベース:英語 1 単語 X 円

「日本語→英語 で原文 1 文字 10 円」は普通。1000 字の翻訳依頼が 10,000 円。

通信プロトコルでの文字数

データベースのカラム定義:

VARCHAR(255)  -- 何文字?

これは多くの DB で「255 バイト」ではなく「255 文字」を意味する。だが MySQL の場合、文字セットによって最大バイト数が決まる:

  • utf8mb4:255 × 4 = 1020 バイト
  • latin1:255 × 1 = 255 バイト

設計時は「文字単位」と「バイト単位」を意識する必要あり。

速読・読書速度

参考値:

  • 日本語:400〜600 字/分(普通の読書)
  • 英語:200〜250 単語/分
  • 速読訓練後:1000〜1500 字/分

ブログ記事で「読了時間 5 分」と書くなら、日本語で 2000〜3000 字程度。

改行とパラグラフ

数え方によって含むかどうか変わる:

  • 改行文字(\n)を 1 文字として数えるかどうか
  • 空行を含めるか
  • 段落数として別途カウントするか

ツールやアプリで挙動が違うため、「文字数 X 以内」の指定があるなら確認が必要。

まとめ

  • 英語は単語数、日本語は文字数が主流
  • 文字数には「バイト」「コードポイント」「グラフェムクラスタ」の 3 段階
  • Twitter は全角 2、半角 1
  • SMS は 70 / 160 文字(エンコーディング依存)
  • 翻訳・出版業界では独自の基準

任意のテキストの文字数・単語数のカウントには、本サイトの文字カウンターが使えます。