最終更新:
X (Twitter) の文字数制限まとめ|効果的な投稿のコツ
X (旧 Twitter) は短文投稿が特徴の SNS ですが、投稿の種類によって文字数制限が異なります。この記事では、各機能の文字数上限と、限られた文字数で効果的に伝えるコツを紹介します。
X 加重カウントチェッカー
投稿したいテキストを貼り付けると、X と同じ加重方式 (日本語・絵文字 = 重み 2、URL = 一律 23) で「重み合計 280」までの残りをその場で確認できます。処理はブラウザ内で完結し、入力内容がサーバーへ送信されることはありません。
0 / 280 (加重) - 残り 280
簡易版の概算です。URL の検出は「https:// ・http:// ・www. で始まる文字列」に限定した簡易判定のため、X 本体が短縮対象とする裸のドメイン表記 (example.com など) は通常の文字として数え、URL の範囲 (どこまでを URL とみなすか) も実際の X と異なる場合があります。正確な判定は X の投稿画面で最終確認してください。
通常投稿 (ポスト) の文字数制限
X の通常投稿は最大 280 文字です。ただし、この「280 文字」は見た目の文字数ではなく、X 独自の加重カウント方式で算出されます。日本語・中国語・韓国語は 1 文字が「重み 2」としてカウントされ、英語やラテン文字は「重み 1」です。内部的な上限は 280 ではなく「重み合計 280」であるため、日本語のみの投稿では 140 文字、英語のみの投稿では 280 文字が実際の上限になります。
この加重方式は、X が内部で使用する twitter-text ライブラリ (GitHub で公開) に実装されています。具体的には、Unicode のコードポイント範囲に基づいて重みが決定されます。CJK 統合漢字 (U+4E00〜U+9FFF)、ひらがな (U+3040〜U+309F)、カタカナ (U+30A0〜U+30FF)、全角英数字 (U+FF01〜U+FF60) などが重み 2、それ以外の Basic Latin や Latin Extended が重み 1 です。日本語と英語が混在する投稿では、文字ごとに重みが異なるため、実際に入力できる文字数は混在比率によって変動します。
| 投稿の構成 | 見た目の文字数 | 重みの計算 | 重み合計 | 残り (重み 280 まで) |
|---|---|---|---|---|
| 日本語だけ 10 文字 | 10 文字 | 10 × 2 | 20 | 260 |
| 日本語 10 文字 + 半角英数 20 文字 | 30 文字 | 10 × 2 + 20 × 1 | 40 | 240 |
| 日本語 30 文字 + URL 1 本 | 30 文字 + URL | 30 × 2 + 23 | 83 | 197 |
| 日本語 30 文字 + 絵文字 3 個 + 改行 2 回 | 33 文字 + 改行 2 | 30 × 2 + 3 × 2 + 2 × 1 | 68 | 212 |
日本語・中国語・韓国語と絵文字は 1 文字あたり重み 2、半角英数と改行は重み 1、URL は元の長さに関わらず一律 23 で計算されます。判定されるのは見た目の文字数ではなく、この重み合計が 280 を超えるかどうかです。
X Premium の長文投稿
X Premium (旧 Twitter Blue) に加入すると、2023 年 6 月以降、最大 25,000 文字の長文投稿が可能です (2026 年現在も継続)。ブログの最適な文字数に匹敵する分量を X 上で直接公開できるため、情報発信の幅が広がります。なお、通常投稿の加重カウント (重み) の仕組みは 2026 年時点でも変更されていません。ただし、長文投稿はタイムライン上では冒頭部分のみが表示され、「もっと見る」をタップしないと全文が読めません。そのため、冒頭 2〜3 行で読者の関心を引く構成が重要です。
X Premium の 3 つのプラン
| プラン | 月額料金 | 主な特典 |
|---|---|---|
| Basic | $3/月 | 投稿の編集、長文投稿、ブックマークフォルダ |
| Premium | $8/月 | Basic の全機能 + 青バッジ、リプライの優先表示、広告収益分配 |
| Premium+ | $22/月 | Premium の全機能 + 広告非表示、Grok の優先アクセス |
料金は 2026 年 8 月時点の米ドル建て月額です。料金は変更されることがあるため、最新の価格は X 公式サイトで確認してください。
各機能の文字数制限一覧
| 機能 | 文字数上限 | 備考 |
|---|---|---|
| 通常投稿 (日本語のみ) | 140 文字 | 重み 2 × 140 = 280 |
| 通常投稿 (英語のみ) | 280 文字 | 重み 1 × 280 = 280 |
| プレミアム長文投稿 | 25,000 文字 | タイムラインでは冒頭のみ表示 |
| ユーザー名 (@ID) | 15 文字 | 英数字とアンダースコアのみ |
| 表示名 | 50 文字 | 日本語・絵文字も使用可 |
| 自己紹介 (Bio) | 160 文字 | 加重カウントなし (純粋な文字数) |
| ダイレクトメッセージ | 10,000 文字 | 加重カウントなし |
| リスト名 | 25 文字 | - |
| リスト説明 | 100 文字 | - |
| 画像の代替テキスト | 1,000 文字 | アクセシビリティ用 |
注意すべき点として、Bio (自己紹介) や DM では投稿本文のような加重カウントが適用されません。Bio の 160 文字は日本語でも英語でも同じ 160 文字です。この違いを知らないと、「投稿では 140 文字なのに Bio では 160 文字入る」という混乱が生じます。
意外と知らない X の文字数トリビア
X の文字数制限は、もともと 140 文字でした。これは SMS の文字数制限 の 160 文字制限から、ユーザー名表示用の 20 文字を差し引いた数値に由来するとされています。2017 年 11 月に加重上限が 280 へ倍増されましたが、日本語ユーザーにとっては実質的な変化がありませんでした。日本語は 1 文字あたりの情報密度が英語より高く、140 文字 (加重 280) でも十分な内容を伝えられたためです。
URL は文字数に関係なく一律 23 文字 (重み 23) としてカウントされます。これは X が内部で t.co という短縮 URL に変換するためで、どれだけ長い URL を貼っても 23 文字分しか消費しません。逆に言えば、10 文字の短い URL でも 23 文字分を消費するため、短縮 URL サービスを使っても文字数の節約にはなりません。
絵文字のカウント方法
絵文字は見た目上は 1 文字ですが、X の加重カウントでは構成や複雑さに関わらず一律で重み 2 (= 2 文字分) としてカウントされます。基本的な絵文字 (😀、❤️ など) はもちろん、内部的に複数のコードポイントで構成される絵文字も同じです。
- 肌色バリエーション付き絵文字 (👍🏽 など): 基本絵文字 + Skin Tone Modifier で構成されますが、重みは 2 のままです。
- 国旗絵文字 (🇯🇵 など): Regional Indicator Symbol 2 文字で構成されますが、重みは 2 のままです。
- ZWJ シーケンス (👨👩👧👦 など): 複数の絵文字を Zero Width Joiner で結合した家族絵文字なども、追加のカウントは発生せず重み 2 です。
つまり日本語 1 文字と同じ扱いで、加重 280 の投稿には絵文字を最大 140 個まで入れられる計算です。投稿前に文字数カウントスで確認すると安心です。
なぜ 280 文字なのか
2017 年の拡張時、X (当時 Twitter) は全世界のツイートを分析し、英語圏のユーザーの約 9% が 140 文字の上限に達していたのに対し、日本語ユーザーはわずか 0.4% だったと発表しています。英語では 140 文字で 1 つの考えを表現するのが難しく、文章が途中で切れるケースが多発していました。280 文字への拡張は、主に英語圏ユーザーの利便性向上を目的とした変更です。
興味深いのは、「なぜ 2 倍の 280 なのか」という点です。X のエンジニアリングチームは、上限を 280 に拡張しても英語ユーザーの投稿の平均文字数はほとんど変わらなかったと報告しています。上限が緩和されても、ユーザーは自然と簡潔な表現を選ぶ傾向があり、「制限が倍になったから倍の長さで書く」という行動にはならなかったのです。これは、文字数制限がプラットフォームの文化として定着していることを示しています。
よくある失敗パターン
X の投稿で陥りがちな失敗を紹介します。事前に知っておくことで回避できます。
- ハッシュタグを 5 個以上付ける。タグが多すぎると本文の可読性が下がり、スパムと判定されるリスクもあります。X の公式ヘルプでも 1〜2 個を推奨しています。なお、ハッシュタグの # 記号とタグ本文はすべて文字数にカウントされるため、長いタグは本文を圧迫します。
- 文字数ぎりぎりまで書いて推敲しない。280 文字に収めることに集中するあまり、不自然な省略や誤字が残るケースがあります。余裕を持って加重 250 程度を目安にすると、読みやすい投稿になります。
- 改行を入れすぎる。改行は 1 回あたり重み 1 としてカウントされるため、過度な改行は本文を圧迫します。2〜3 行ごとに 1 回の改行が適切です。
- 日本語と英語を混在させたときの文字数を見誤る。日本語部分は重み 2、英語部分は重み 1 で計算されるため、混在投稿では見た目の文字数と加重カウントが一致しません。投稿前に必ず確認しましょう。
プロのテクニック
X の投稿効果を最大化するための上級テクニックを紹介します。
- 「余白」を意識する。280 文字をすべて埋めるのではなく、あえて短く簡潔に書くことで、読者の目に留まりやすくなります。71〜100 文字程度の投稿がエンゲージメント率が高いとされています。
- 投稿時間を最適化する。日本のユーザーが最もアクティブな時間帯は平日の 7〜9 時、12〜13 時、20〜23 時です。この時間帯に投稿すると、インプレッション数が向上します。
- 引用リポストを活用する。他のユーザーの投稿を引用しつつ自分の意見を添えると、元の投稿のフォロワーにもリーチでき、エンゲージメントが拡大します。
- スレッド (連続投稿) を戦略的に使う。1 つの投稿に詰め込むのではなく、スレッドに分割することで、各投稿が独立してタイムラインに表示される機会が増えます。スレッドの 1 投稿目に結論を書き、2 投稿目以降で詳細を展開する構成が効果的です。
X API と文字数カウントの仕組み
X の文字数カウントは、公式の twitter-text ライブラリ (GitHub でオープンソース公開) に実装されています。このライブラリは Java、JavaScript、Ruby、Objective-C、Swift 版が提供されており、サードパーティの X クライアントやツールもこのライブラリを使って正確な文字数を計算しています。
twitter-text ライブラリの加重カウントでは、Unicode のコードポイント範囲ごとに重みが定義された設定ファイル (config v3) を参照します。この設定は X が更新する可能性があるため、サードパーティツールの文字数表示が X 公式と異なる場合は、ライブラリのバージョン差異が原因であることが多いです。
280 文字で効果的に伝える 5 つのコツ
- 結論を最初に書く。タイムラインで目に留まりやすくなります。
- 不要な敬語や修飾語を削る。「させていただきます」→「します」で文字数を節約。
- 箇条書きや改行を活用して読みやすくする。ただし改行も重み 1 を消費するため、使いすぎに注意。
- ハッシュタグは 1〜2 個に絞る。多すぎると本文が読みにくくなります。
- 投稿前に文字数カウントスでチェック。加重カウントを正確に把握できます。
他の SNS との文字数比較
| プラットフォーム | 投稿文字数上限 | カウント方式 |
|---|---|---|
| X (無料) | 280 (加重) | CJK は重み 2、ラテン文字は重み 1 |
| X Premium | 25,000 | 同上 |
| Bluesky | 300 (grapheme) | 書記素クラスタ単位でカウント |
| Threads | 500 | Unicode 文字単位 |
| Instagram キャプション | 2,200 | Unicode 文字単位 |
| 63,206 | Unicode 文字単位 |
X の加重カウント方式は他の SNS と比べて独特です。Bluesky は書記素クラスタ (grapheme cluster) 単位でカウントするため、絵文字の種類による文字数の変動がありません。どの SNS を主戦場にするかによって、文章の組み立て方を変える必要があります。
まとめ
X の文字数制限は単純な「280 文字」ではなく、加重カウント方式による「重み合計 280」です。日本語では実質 140 文字、英語では 280 文字、絵文字は構成に関わらず一律で重み 2 を消費します。この仕組みを正しく理解することで、文字数オーバーで慌てることなく、効果的な投稿ができます。投稿前に文字数カウントスで加重カウントを確認する習慣をつけましょう。
よくある質問
- X (Twitter) の文字数制限は何文字?
- 通常投稿の上限は「重み合計 280」です。日本語などの全角文字は重み 2 で数えるため、日本語のみの投稿は 140 文字、英語のみの投稿は 280 文字が実際の上限です。X Premium 加入者は最大 25,000 文字まで投稿できます。
- X で日本語と英語の文字数カウントは同じ?
- 同じではありません。日本語・中国語・韓国語の文字は 1 文字あたり重み 2、英語の半角文字は重み 1 として数えるため、日本語のみなら 140 文字、英語のみなら 280 文字が上限です。URL は長さに関係なく一律 23 文字分としてカウントされます。