piapia123
ja

文字数カウント

テキスト処理

処理はすべてブラウザ内で完結します。データは送信されません

入力
出力

日本語や中国語と英語が混ざったテキストは実際どのくらいの長さなのか。漢字とかなは字で数え、英語は単語で数えます。両者は同じ単位ではないので、誤解を招く1つの数字にまとめず、別々に示します。文字数は Unicode のコードポイント単位(emoji は1文字)、バイト数は UTF-8 の実測値(漢字1文字は3バイト、emoji は4バイト)、読了時間は漢字・かな 300 字/分、英語 200 語/分で見積もります。レポートには各項目の数え方も明記しています。

機能

  • 文字数は空白を含む場合と含まない場合の2通りを同時に表示
  • 日本語や中国語の字数と英語の単語数を分けて数え、混ぜ合わせません
  • 行数、および空行で区切った段落数
  • UTF-8 バイト数の実測値:漢字は3バイト、emoji は4バイト
  • 読了時間の目安:漢字・かな 300 字/分、英語 200 語/分
  • 文字数はコードポイント単位なので、emoji も拡張領域の漢字も1文字
  • 出力は左右を揃えた2列のレポートで、そのまま全文コピーできます

使い方

  1. テキストを入力欄に貼り付けます
  2. 結果はリアルタイムで更新されます。ボタンを押す必要はありません
  3. レポートを全文コピーするか、必要な項目だけを取り出します

よくある質問

日本語や中国語の字数と英語の単語数を分けて数えるのはなぜですか?
「字」と「語」は同じ単位ではないからです。300 の漢字と 300 の英単語では、読むのにかかる時間が2倍以上違います。1つの数字にまとめると見た目は簡潔ですが、長さの判断を誤らせます。そのためここでは分けて示しています。
文字数が普段見ている「字数」と違うのはなぜですか?
Word などのソフトは「字数」を「中国語の字数 + 英語の単語数」と定義していますが、ここで出しているのは文字数(空白も句読点も数えます)です。どちらの数え方にも用途があり、大事なのは自分がどちらを使っているかを知ることです —— レポートの各項目には数え方を書いてあります。
emoji は何文字として数えますか?
1文字です。集計は Unicode のコードポイントで行いますが、JavaScript の str.length は UTF-16 の符号単位を数えるため、emoji を2文字と数えてしまいます —— オンラインのツールで数字が合わない原因はまさにこれです。
バイト数は何の役に立ちますか?
API に送る、保存量を見積もる、項目の長さ制限を超えていないか確かめる —— いずれも見るのは文字ではなくバイトです。日本語や中国語は1文字が UTF-8 で3バイトを占めるので、「100 字以内」と「100 バイト以内」では3倍の差があります。

関連ツール