文字数カウント
テキスト処理処理はすべてブラウザ内で完結します。データは送信されません
入力
出力
日本語や中国語と英語が混ざったテキストは実際どのくらいの長さなのか。漢字とかなは字で数え、英語は単語で数えます。両者は同じ単位ではないので、誤解を招く1つの数字にまとめず、別々に示します。文字数は Unicode のコードポイント単位(emoji は1文字)、バイト数は UTF-8 の実測値(漢字1文字は3バイト、emoji は4バイト)、読了時間は漢字・かな 300 字/分、英語 200 語/分で見積もります。レポートには各項目の数え方も明記しています。
機能
- 文字数は空白を含む場合と含まない場合の2通りを同時に表示
- 日本語や中国語の字数と英語の単語数を分けて数え、混ぜ合わせません
- 行数、および空行で区切った段落数
- UTF-8 バイト数の実測値:漢字は3バイト、emoji は4バイト
- 読了時間の目安:漢字・かな 300 字/分、英語 200 語/分
- 文字数はコードポイント単位なので、emoji も拡張領域の漢字も1文字
- 出力は左右を揃えた2列のレポートで、そのまま全文コピーできます
使い方
- テキストを入力欄に貼り付けます
- 結果はリアルタイムで更新されます。ボタンを押す必要はありません
- レポートを全文コピーするか、必要な項目だけを取り出します
よくある質問
- 日本語や中国語の字数と英語の単語数を分けて数えるのはなぜですか?
- 「字」と「語」は同じ単位ではないからです。300 の漢字と 300 の英単語では、読むのにかかる時間が2倍以上違います。1つの数字にまとめると見た目は簡潔ですが、長さの判断を誤らせます。そのためここでは分けて示しています。
- 文字数が普段見ている「字数」と違うのはなぜですか?
- Word などのソフトは「字数」を「中国語の字数 + 英語の単語数」と定義していますが、ここで出しているのは文字数(空白も句読点も数えます)です。どちらの数え方にも用途があり、大事なのは自分がどちらを使っているかを知ることです —— レポートの各項目には数え方を書いてあります。
- emoji は何文字として数えますか?
- 1文字です。集計は Unicode のコードポイントで行いますが、JavaScript の str.length は UTF-16 の符号単位を数えるため、emoji を2文字と数えてしまいます —— オンラインのツールで数字が合わない原因はまさにこれです。
- バイト数は何の役に立ちますか?
- API に送る、保存量を見積もる、項目の長さ制限を超えていないか確かめる —— いずれも見るのは文字ではなくバイトです。日本語や中国語は1文字が UTF-8 で3バイトを占めるので、「100 字以内」と「100 バイト以内」では3倍の差があります。
関連ツール
テキスト整形
テキスト処理ログや表からコピーした1列を整形します。重複行の削除、並べ替え、空行・前後の空白・行番号の削除、空白のまとめを個別に切り替えできます。
命名規則の変換
テキスト処理8つの命名規則の間で識別子を変換します。fooBarBaz や FOO_BAR のような混在も語に分解し、連続する大文字も語ごとに切ります。
テキスト差分
テキスト処理2つのテキストを行ごとに比較し、追加・削除・未変更の行をハイライト表示します。変更は最小差分で整列し、すべてブラウザ内で処理します。
簡体字・繁体字変換
テキスト処理中国語を簡体字と繁体字の間で相互変換します。常用語は語単位で置換し、残りは最も一般的な字形を採るため、一部は人の確認が必要です。
正規表現テスト
テキスト処理ブラウザで正規表現を試せます。一致のリアルタイムハイライト、名前付きキャプチャグループ、置換プレビューに対応し、壊滅的なバックトラックも防ぎます。
Markdown プレビュー
テキスト処理左に Markdown を書くと右にリアルタイムで描画します。貼り付けた HTML は文字として表示し、画像の外部リクエストも起こしません。