なぜ絵文字が文字数を変えるのか
この絵文字はUTF-16では7単位。用途に合う文字の数え方を確認しましょう。
絵文字は見た目は1文字でも、テキストフィールドの内部表現では複数の単位を占めることがあります。そのため、2つのカウンターが異なる結果を示しても、テキストが失われているわけではありません。
CozyToolkitの単語カウンターはUnicodeのグラフェムクラスター(通常は見た目上の1文字に対応するグループ)を数えます。例えば、👩🏽💻のような結合された絵文字は、構成要素を別々に数えるのではなく1文字としてカウントします。
短い下書きを試す
サンプルテキストファイルを開き、中身をコピーしてテキストに貼り付けてください。2行の間に空行が1つあり、最後に改行はありません:
Café 👩🏽💻
Ready to share?
結果は4単語、23文字、スペースなしで18文字、2段落です。絵文字は1文字としてカウントされますが、単語には含まれません。句読点も文字数に含まれます。
コピー時にエディタが末尾に改行を追加すると、文字数が変わることがあります。正確な数値を確認する際はダウンロードしたファイルを使ってください。クリアで下書きを消去し、クリアを元に戻すで再表示できます。
1つの見える文字が複数の表現を持つことがある
以下の4つのサンプルはすべて、このツールでは1文字としてカウントされます:
| サンプル | ここでの文字数 | Unicodeコードポイント数 | JavaScript UTF-16単位数 | UTF-8バイト数 |
|---|---|---|---|---|
A |
1 | 1 | 1 | 1 |
é |
1 | 1 | 1 | 2 |
é |
1 | 2 | 2 | 3 |
👩🏽💻 |
1 | 4 | 7 | 15 |
2つのアクセント付き文字は見た目は似ています。1つ目はアクセント付き文字を1つのコードポイントで表し、2つ目は普通の文字に結合アクセントを続けています。絵文字は人物、肌の色修飾子、結合子、ノートパソコンを組み合わせて1つの表示記号にしています。
このツールはブラウザのIntl.Segmenterを使い、文字・単語・文の境界を判定します。単語を単純にスペースで区切るわけではないため、単語間にスペースがない言語でも境界を判定できます。ただし言語ルールやブラウザのUnicodeデータによって単語・文の区切りは影響を受けます。単語数はAIトークン数ではありません。
正確な文字列とカウントをダウンロードして、異なる表現を確認できます。ファイル内のバイト数やUTF-16単位数は参照用で、単語カウンターの追加コントロールではありません。
スペースなしは改行も除外する
サンプルでは3つのスペースと2つの改行が23文字と18文字の差を生んでいます。スペースなしは普通のスペースだけでなく、タブや改行などの空白文字全般を除外します。空行は段落の区切りですが、単一の改行はこのカウンターでは段落を分けません。
つまり、キャプションを再フォーマットしても単語数は変わらず、文字数や段落数だけ変わることがあります。公開時の改行を含めてテキストをコピーしてください。
送り先の制限を確認する
SNSやフォーム、APIはテキストを異なる方法でカウントすることがあります。制限はバイト数やUTF-16単位数、プラットフォーム固有のルールかもしれません。このカウンターで下書きを編集し、公開前に送り先で最終確認してください。ここでの少ないカウントが拒否を回避する保証にはなりません。
読了時間は1分間に200単語の大まかな目安で、この短い下書きは1分未満です。読者の速度は測定しません。カウントは端末上で行われ、AI呼び出しは不要です。
結果記録は2026年11月2日時点でのツールのカウント機能によるサンプル再現です。下書きはブラウザUIでも確認済みです。例はSNSの投稿制限やすべての言語の単語境界をテストしていません。