文字数・単語数の数え方:英語と日本語で違うルール
「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 文字(エンコーディング依存)
- 翻訳・出版業界では独自の基準
任意のテキストの文字数・単語数のカウントには、本サイトの文字カウンターが使えます。