結論から言うと、X(旧Twitter)の通常ポストは、見た目の文字数ではなく合計280までの加重カウントです。日本語は1字2、ラテン文字や一般的な記号は1、有効なURLは長さに関係なく23、正規の絵文字シーケンスは複雑でも2として数えられます。
一方、X Premiumの「長いポスト」は最大25,000文字で、通常ポストの加重280とは別の上限です。返信先としてXが自動追加したメンションや、公式クライアントで添付したメディアは本文だけでは判定できないため、最後はXの投稿画面でも確認してください。
1. 通常ポストとPremiumの上限を先に確認
| 投稿の種類 | 上限 | 確認ポイント |
|---|---|---|
| 通常ポスト | 加重カウント280 | 重み2の日本語だけなら最大140字相当。ラテン文字だけなら最大280字 |
| X Premiumの長いポスト | 最大25,000文字 | 全Premiumティアで利用可能。通常ポストとは別枠で、投稿画面の表示を優先 |
Xの文字数カウント公式ドキュメントは通常ポストの加重280を説明しています。Premium側はX Premium公式ヘルプが最大25,000文字と案内していますが、長いポスト側の詳しい重み付けは明示していません。「日本語なら12,500字」と単純換算せず、投稿画面の残数表示を最終確認しましょう。
2. 通常ポストの文字種別ごとの重み
| 入力内容 | カウント | 例 |
|---|---|---|
| ラテン文字、数字、一般的な句読点・記号 | 1文字=1 | ABC123 !? |
| 日本語・中国語・韓国語などCJK文字 | 1文字=2 | 文字数 は6 |
| 正規の絵文字シーケンス | 1シーケンス=2 | 👋🏻、🇯🇵、👨👩👧👦はいずれも2 |
| 有効なURLとして検出された文字列 | 1件=23 | 元のURLが短くても長くても23 |
| 上記以外の多くのUnicode文字 | 既定値は2 | 文字によって異なるため公式ルールで確認 |
「全角は1、半角は0.5」と表示幅で考えると、URLや絵文字でずれます。Xの通常ポストは、上の重みを合計して280以内かを判定するのが正しい考え方です。また、Xは入力をNFCに正規化してから数えるため、見た目が同じ合成文字の表現差も調整されます。
3. 実例で加重カウントを確認
| 入力例 | 加重カウント | 内訳 |
|---|---|---|
I went to Tokyo Station yesterday |
33 | ラテン文字と半角スペースを各1で数える |
昨日東京駅に行った |
18 | 9文字 × 2 |
#文字数カウント |
15 | #が1、日本語7文字が14 |
日本語ABC123 |
12 | 日本語3文字が6、英数字6文字が6 |
https://x.com |
23 | 有効なURLとして検出 |
確認↵完了 |
9 | 日本語4文字が8、改行が1 |
以前の例で誤りやすい点は、英語文が39ではなく33、#文字数カウントが13ではなく15になることです。ハッシュタグ全体が特別な1文字になるわけではなく、#と後続文字をそれぞれの重みで合計します。
4. URLと絵文字は見た目の長さで数えない
URLは有効なURLとして検出されたとき23
https://x.comのような短いURLも、長いパスやクエリを含むURLも、Xが有効なURLとして検出すれば1件23です。文字列がURLとして認識されない場合は通常の文字として数えられるため、最終的な認識は投稿画面で確認してください。文字数を減らす目的だけで、自分で短縮URLへ置き換える必要はありません。
家族・国旗・肌色付き絵文字も1シーケンス2
🇯🇵、👋🏻、👨👩👧👦は内部的には複数のコードポイントで構成されていますが、Xでは正規の絵文字シーケンスを1つ2として数えます。ZWJ(ゼロ幅接合子)を含む家族の絵文字が「複数個分になる」という説明は正しくありません。Unicodeと表示上の1文字の違いは、サロゲートペアと絵文字の解説も参考にしてください。
5. メンション・添付・空白は文脈で変わる
| 要素 | 扱い | 注意点 |
|---|---|---|
| 返信先としてXが自動追加した@メンション | 本文の上限に含めない | 自分で本文へ入力したメンションは通常通り数える |
| 公式クライアントで添付した画像・動画・GIF | 本文の上限に含めない | 本文へ貼ったメディアURLは有効なURLとして23 |
| 改行・半角スペース | 1つ=1 | 読みやすさのために入れた分も加算 |
| 全角スペース | 1つ=2 | 半角スペースとは重みが異なる |
テキストだけを貼り付けるカウンターは、そのメンションがXの返信UIによって自動追加されたのか、画像が実際に添付されているのかを知ることができません。この差があるため、外部ツールの数値とXの投稿画面が一致しない場合があります。
6. mojisucount.comで下書きの文字数目安を確認する
文字数カウントツールへ下書きを貼り付けると、通常の文字数や空白・改行を含めた内訳を確認できます。下部のTwitter/Xカードは、ASCII文字と半角片仮名を0.5、その他のUnicodeコードポイントを1として合計を切り上げる簡易目安です。X公式の加重カウントとは異なります。
- 入力欄へ通常ポストの本文を貼り付けます。
- 基本文字数と、空白・改行を含む各集計を確認します。
- URLは23、正規の絵文字シーケンスは2という公式ルールを踏まえて文章を調整します。
- Xの投稿画面へ戻し、返信先メンション、添付メディア、Premiumモードを含む最終表示を確認します。
簡易目安は、URLや複合絵文字などを含むとXの投稿画面と差が出ます。カウンターは通常ポスト本文を整える補助として使い、投稿可能かどうかの最終判断はX側で行ってください。SNSごとの違いはSNS文字数制限の比較にもまとめています。
7. よくある質問
日本語は必ず140字までですか?
いいえ。「通常ポストを重み2の文字だけで構成した場合に最大140字相当」です。半角英数字、スペース、URL、絵文字などが混ざると、見た目の文字数と加重カウントの関係は変わります。
Premiumなら日本語を12,500字書けますか?
そのようには断定できません。公式ヘルプは長いポストを最大25,000文字と案内していますが、通常ポストと同じ重み付けを適用するとは明示していません。利用環境と投稿画面の表示を確認してください。
家族の絵文字は何カウントですか?
正規のZWJ絵文字シーケンスとして認識される👨👩👧👦は2です。肌色付きや国旗の絵文字も、正規のシーケンスなら1つ2として扱われます。
なぜ外部ツールとXの残り文字数が違うことがありますか?
返信時に自動追加されたメンション、実際の添付メディア、Premiumの投稿モード、新しいUnicode仕様など、貼り付けた本文だけでは分からない情報があるためです。URLが有効なURLとして認識されたかも含め、Xの投稿画面を優先してください。
8. 公式情報とまとめ
- ✓ 通常ポストは合計280までの加重カウント。日本語など重み2の文字だけなら最大140字相当。
- ✓ 有効なURLは1件23、正規の絵文字シーケンスは複雑でも1つ2。
- ✓ X Premiumの長いポストは最大25,000文字で、通常ポストの加重280とは別枠。
- ✓ 返信先メンション、添付メディア、Premiumモードは本文だけでは判定できないため、Xの投稿画面で最終確認する。