文字数カウント(Twitter/X風カウント)

X(旧Twitter)の重み付けルールに準拠した文字数カウントツールです。全角文字は2文字分、半角文字は1文字分として計算し、280文字の上限までの残り文字数をリアルタイムに表示します。

Tips

  • Xの文字数カウントは「見た目の文字数」ではなく、日本語・中国語・韓国語(CJK)や全角記号を2文字分として数える独自の加重ルールを採用しているため、単純な文字数とはズレが生じます。
  • 同じ30文字でも、英数字だけの投稿なら余裕がありますが、日本語だけの投稿は加重文字数で60文字相当になり、280文字の上限にあっという間に近づきます。
  • URLは実際の文字数にかかわらず一律23文字(t.co短縮リンク)としてカウントされる仕様のため、本ツールでは純粋な文字数の目安として使い、URLを含む投稿は実際の投稿画面で最終確認してください。
  • 絵文字はコードポイントとしては1文字ですが、種類によっては加重ルール上「通常」扱い(1カウント)になるものが多く、見た目の派手さの割に文字数を圧迫しません。
  • エンコーディングごとのバイト数を確認したい場合は姉妹ツールの「文字列のバイト数カウント」を、文字コード変換を確認したい場合は「文字コード判定」をあわせてご利用ください。

よくある質問

Xの文字数カウントルールでは、日本語・中国語・韓国語(CJK)の文字や全角記号を「2文字分」として数えるためです。英語であれば280文字近く入力できますが、日本語だけで書くと実質140文字程度で上限に達してしまいます。これは1文字あたりの情報量が言語によって大きく異なることを調整するための仕組みです。

X(旧Twitter)が公開しているオープンソースの文字数カウントアルゴリズム「twitter-text」で定義されているルールです。本ツールもこの公開仕様に基づいて、Unicodeのコードポイント範囲ごとに1文字または2文字としてカウントしています。

大半の絵文字はUnicodeの補助文字面(サロゲートペア)で表現されますが、加重ルール上はCJKや全角文字の範囲に含まれないため「1文字」としてカウントされます。ただし複数の絵文字を組み合わせた合成絵文字(家族の絵文字など)は、内部的に複数のコードポイントで構成されているため、見た目は1つでもカウント上は複数文字扱いになる場合があります。

姉妹ツールの「文字列のバイト数カウント」はUTF-8やShift_JISなど、コンピューター上でデータとして保存・送信する際の物理的なバイト数を計測します。一方このツールはSNSの投稿上限を判定するための「加重文字数」を計算するもので、目的も計算方法も異なります。

2017年に英語圏でも280文字に上限が引き上げられる以前は140文字が上限でした。当時から日本語などCJK言語は2文字分として数える加重ルール自体は存在しており、上限が280文字に倍増したことで、CJK言語ユーザーも英語ユーザーとほぼ同等の文章量を投稿できるようになりました。
ツールくん

余談ですが ― なぜXは文字を「重み付け」して数えるのか

Xの前身であるTwitterが140文字制限を採用していた当初、英語ユーザーからは「140文字では短すぎる」という不満が多く寄せられていました。アルファベット1文字が持つ情報量は漢字1文字に比べてはるかに小さいため、同じ140文字でも日本語なら小説の一場面を書けるのに対し、英語では単語数にして20〜30語程度しか書けなかったからです。この不公平感を解消するため、Twitterは2017年に英語など「1バイト系」言語の上限を280文字に倍増する一方、日本語・中国語・韓国語などCJK言語は引き続き140文字相当(加重280文字=実質140文字)に据え置くという、言語間の情報密度の違いを踏まえた調整を行いました。

この「加重文字数」という考え方は、実はSMS(ショートメッセージサービス)の世界でも古くから存在していました。GSM方式のSMSは通常1通160文字までですが、絵文字や日本語など特定の文字セットに含まれない文字を1つでも使うと、エンコード方式がUCS-2に切り替わり上限が70文字まで一気に減少する仕様があります。「特定の言語の文字を使うと使える文字数が減る」という現象は、文字コードの内部表現とユーザー体験がどう結びついているかを考えるうえで興味深い共通点です。

なお、加重文字数のルールは絵文字にも適用されており、多くの絵文字は「1文字」としてカウントされる一方、肌の色や性別を組み合わせた合成絵文字(Zero Width Joinerで複数の絵文字を連結したもの)は、内部的に複数のUnicodeコードポイントで構成されているため、見た目は1つの絵文字でも文字数カウント上は複数文字分になることがあります。SNSに文章を投稿する際は、こうした「見た目の文字数」と「システムが数える文字数」のズレを意識しておくと、思わぬ文字数オーバーを防げます。

→ すべての余談を見る