X(旧Twitter)の文字数カウント(全角2カウント対応)

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

X(旧Twitter)の文字数カウントとは

X(旧Twitter)の文字数カウントは、投稿文が280文字の上限に収まるかどうかを、Xが採用する独自の加重ルールに基づいて判定するツールです。日本語・中国語・韓国語(CJK)の文字や全角記号は2文字分として数えられるため、見た目の文字数だけでは正確な残り文字数がわかりません。

本ツールは入力した文章をリアルタイムで加重カウントし、実際の投稿画面と同じ基準で残り文字数を表示します。日本語中心の投稿を作成する際、思わぬ文字数オーバーを事前に防げます。

使い方

  1. 投稿したい文章を入力する 入力欄にポストする予定の文章を貼り付けます。
  2. カウント結果を確認する 見た目の文字数と、Xの加重ルールに基づく加重文字数が同時に表示されます。
  3. 残り文字数を確認する 280文字の上限までの残りがリアルタイムに更新されます。
  4. 上限を超えた場合は文章を調整する 超過文字数が表示されるので、それを目安に文章を短くします。

使いこなすためのヒント

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

活用シーン

日本語投稿の文字数調整

日本語は英語の半分程度しか書けないため、投稿前に加重文字数を確認して過不足なく収める際に使えます。

英語・日本語混在の投稿の事前確認

半角と全角が混在する文章で、実際の投稿画面を開かずに文字数超過の有無を確認できます。

企業アカウントの定型文チェック

SNS運用担当者が投稿テンプレートを作成する際、複数パターンの文字数を素早く比較できます。

URLを含む投稿の目安確認

URL部分を除いた本文の文字数を把握し、t.co短縮後の23文字と合わせて全体のバランスを見積もれます。

用語集

加重文字数
Xの投稿上限を判定するために使われる独自の文字数の数え方。CJK文字・全角記号を2文字分として計算します。
CJK
中国語(Chinese)・日本語(Japanese)・韓国語(Korean)の総称。Xの加重ルールではこれらの文字を2文字分として扱います。
twitter-text
X(旧Twitter)が公開しているオープンソースの文字数カウントアルゴリズム。本ツールもこの仕様に基づいて計算しています。
t.co短縮リンク
X上でURLを自動的に短縮する仕組み。元のURLの長さにかかわらず一律23文字としてカウントされます。

よくある質問

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に文章を投稿する際は、こうした「見た目の文字数」と「システムが数える文字数」のズレを意識しておくと、思わぬ文字数オーバーを防げます。