数え方の違い
| 項目 | 数え方 |
|---|---|
| 文字数 | 見た目の1文字を1と数えます。絵文字(👨👩👧 など)や濁点付きの文字も1文字です |
| 空白・改行を除く | スペース(全角・半角)、タブ、改行を数えません。原稿や応募書類の文字数制限によく使われます |
| 全角換算 | 半角の英数字・記号・カタカナを 0.5 文字として数えます |
| X(旧Twitter) | 日本語などの全角文字を2、半角英数字を1として数え、280 までが1投稿の上限(全角なら140文字)です。URL は長さに関係なく23として数えられますが、このツールでは考慮していません |
| 原稿用紙 | 空白・改行を除いた文字数を400で割った枚数の目安です(改行による空きマスは含みません) |
文字数とバイト数の違い
データベースやシステムの制限は「文字数」ではなく「バイト数」で決まっていることがあります。UTF-8 では日本語1文字が3バイト(絵文字は4バイト)、Shift_JIS では日本語1文字が2バイトです。たとえば MySQL の VARCHAR(255) は文字数での上限ですが、インデックスの長さ制限はバイト数で計算されます。
| 文字 | UTF-8 | Shift_JIS | JavaScript の length |
|---|---|---|---|
| a | 1バイト | 1バイト | 1 |
| あ | 3バイト | 2バイト | 1 |
| 𠮷(つちよし) | 4バイト | なし | 2 |
| 😀 | 4バイト | なし | 2 |
よくある質問
Word や Google ドキュメントと数が違います
ソフトによって、改行や空白、絵文字の数え方が異なります。Word の「文字数(スペースを含めない)」は、このツールの「空白・改行を除く」に近い値になります。
入力した文章は保存されますか?
保存も送信もしません。数える処理はすべてブラウザ内で行われ、ページを閉じると消えます。
プログラムで文字数を正しく数えるには?
JavaScript の str.length は UTF-16 の単位で数えるため、絵文字が2以上になります。見た目どおりに数えるには Intl.Segmenter を使います。このツールも同じ方法で数えています。