文字数カウント
貼り付けるだけで、文字数・バイト数・原稿用紙・Twitter文字数 を即時表示。絵文字も正確に1文字でカウントします。
使い方
- テキストエリアに数えたい文章を貼り付けます。入力するそばから 8 種類の指標 (文字数 / 空白除く / 改行除く / バイト数 / 単語数 / 行数 / 原稿用紙 / Twitter) がリアルタイムで更新されるので、ボタンを押す必要はありません。
-
絵文字 ( 👨👩👧 のような ZWJ 結合や肌色違い含む) は 1 文字扱いです。
.lengthだとサロゲートペアで 2 になりますが、このツールでは grapheme cluster で揃えています。 - 「空白除く」は半角・全角・タブ・改行・NBSP まで含めて除外、「改行除く」は改行だけを除外、と用途で使い分けできます。原稿用紙のみ 400 字詰めで切り上げ計算です。
-
右上のボタンから サンプル投入 / 全消去 / 全文コピーができます。フォーカスを戻したいときは
Cmd/Ctrl+Kで一発移動します。 -
入力したテキストはブラウザの
localStorageに自動保存されます。ページを閉じても次に開いたときに復元されるので、書きかけの原稿の文字数を測りながら使うのに向いています。
こんな時に使えます
原稿・記事の分量チェック
「2,000 字程度で」と依頼されたブログ記事や、400 字詰め原稿用紙○枚指定のレポートを書くときに。原稿用紙換算は切り上げで表示するので、「あと何文字書けば 1 枚分か」の感覚もつかみやすいです。
SNS の投稿前チェック
X (Twitter) の投稿は半角 1 / 全角 2、URL は 23 文字固定で計算されます。下書きを貼って Twitter 欄を見れば、無料枠の 280 相当に収まっているかが即わかります。ハッシュタグやリンクが混じった文章でも実用十分な近似です。
DB カラム・メール件名の長さ確認
バイト数は UTF-8 基準で表示します。VARCHAR(255) のようなバイト上限のカラムや、メールヘッダのバイト制限に収まるかをチェックするのに使えます。日本語は 1 文字 3 バイトが目安です。
英文ライティングの単語数カウント
英語論文やビジネスメールの「○○ words 以内」指定に。英語は空白区切り、日本語は形態素単位に近い切り方で単語数を出すので、和英混在の文章でもそれっぽい数字が出ます。
仕様のポイント
- 絵文字・ZWJ 結合を 1 文字で数える:
Intl.Segmenterの grapheme granularity を使い、家族絵文字や肌色付き絵文字、国旗絵文字なども 1 文字として扱います。素朴な.length実装と差が出やすいポイントです。 - 空白の定義は Unicode 全般: 半角スペース・全角スペース・タブ・改行に加えて、NBSP (U+00A0) や U+2000〜U+200A、行区切り (U+2028) なども「空白除く」では除外しています。コピペ由来の見えない空白も拾います。
- バイト数は UTF-8 基準:
TextEncoderでエンコードしたバイト長を表示します。ASCII = 1 / 一般的な日本語 = 3 / 多くの絵文字 = 4 バイト。Shift_JIS や EUC-JP 換算には対応していません。 - Twitter は URL 23 文字 + 半角 1 / 全角 2 の近似: URL は
https?://を検出して 23 で固定加算、末尾の句読点 (ピリオド・カンマ等) は URL から外して扱います。公式の weighted ruleset を厳密実装したものではなく、投稿前チェック用途の近似値です。 - 行数は末尾改行を二重カウントしない:
\r\n/\rを\nに正規化したうえで分割し、末尾が空文字なら 1 行減らします。空文字入力は 0 行扱いです。 - すべてブラウザ内で完結: 入力テキストはサーバーに送信されません。
localStorageに自動保存されますが、それも端末のローカル領域です。社外秘のドラフトを貼っても外には出ません。
もっと詳しく:「1文字」の数え方は1つではない
コードポイント・UTF-16・書記素クラスタ
「文字数」には実は複数の数え方があります。コードポイント(Unicode の文字番号の数)、UTF-16 コードユニット(JavaScript の .length が返す値)、書記素クラスタ(人が「1文字」と感じる単位)の3つです。たとえば家族絵文字 👨👩👧👦 は、.length では 11、コードポイントでは 7、書記素では 1 になります。本ツールは Intl.Segmenter で書記素クラスタとして数えるので、見た目の文字数と一致します。
SNS ごとに違う文字数ルール
投稿の文字数は、プラットフォームごとに数え方が異なります。X(Twitter)は URL を一律 23 文字として扱い、本文は半角=1・全角=2 の加重でカウントします(日本語の上限が実質 140 文字なのはこのため)。「全角は必ず2文字」と思い込むとズレるので、投稿前チェックには実際のルールに寄せた数え方が要ります。本ツールの Twitter 欄はこの加重方式を実務十分に近似しています。
文字数とバイト数は別物
データベースの VARCHAR やメールヘッダの上限は、文字数ではなくバイト数で効くことがよくあります。UTF-8 では ASCII が 1 バイト、日本語が 3 バイト、多くの絵文字が 4 バイト。同じ「10文字」でも、英数字なら 10 バイト、日本語なら 30 バイトです。本ツールは TextEncoder で UTF-8 の実バイト数を表示するので、バイト制限の事前チェックに使えます。
関連ツール
他にもいくつかの単機能ツールを揃えています。
- Unix Timestamp 変換 — 秒・ミリ秒・日時を双方向変換。UTC/JST/任意タイムゾーン対応。
- JSON整形 — JSONを整形・圧縮・検証。エラー位置を行番号/列で指摘。
- B2クラウド 使えない文字チェッカー — ヤマトB2クラウドで弾かれる機種依存文字・囲み数字などを即時検出し、推奨置換を提示。
- PDF 結合・分割 — PDFの結合・分割・ページ並び替え・回転をブラウザ内で完結。アップロード不要・サーバーに送信しません。
よくある質問
絵文字は何文字として数えますか?
.length だとサロゲートペアで 2 になりますが、このツールでは Intl.Segmenter で grapheme cluster 単位に統一しています。バイト数は何基準ですか?
Twitter の文字数ルールは?
原稿用紙は何字詰めですか?
入力したテキストはどこかに送信されますか?
localStorage にだけ保存されます (ページを閉じても復元)。