ブログ/2026年5月15日·10 分で読める

Bluesky・Threads・Mastodonの文字数制限:完全ガイド2026

Twitterの3大代替プラットフォームはすべて異なるカウント方式を採用しています。Blueskyは書記素(300)、Threadsは文字(500)、Mastodonはインスタンス依存(デフォルト500、最大5,000+)。書記素計算の仕組みを含む、クロスプラットフォームリファレンスをご紹介します。

3つの分散型Twitter代替

2022年にTwitter離れが始まったとき、3つのプラットフォームが移行の大部分を吸収しました:BlueskyThreadsMastodon。外から見ると似ています(短い投稿、フォローグラフ、返信、リポスト)が、3つの完全に異なる技術基盤の上に構築されており、それが文字カウント方法を形作っています。

BlueskyはAT Protocol上で動作する、グローバルコンテンツレイヤーとポータブルアカウントを持つ連合型アーキテクチャです。2024年2月に公開ローンチしました。最もTwitterらしい感覚で、文字カウントが最も革新的です。

ThreadsはMetaの参入で、2023年7月にローンチ、Instagramのアイデンティティに緊密に結びついています。クローズドなMeta製品として始まりましたが、現在はActivityPub(Mastodonプロトコル)にブリッジしているため、Threadsの投稿はより広いフェディバースに連合できます。

Mastodonは3つの中で最年長:オープンソース、ActivityPubネイティブの連合型ネットワークで、サーバー(インスタンス)を選び、管理者がルールを設定します。2016年から稼働していますが、Twitterの所有権変更後の2022年末に爆発的に普及しました。

Blueskyの300書記素制限

Blueskyの投稿は300書記素に制限されています。300文字ではありません。300バイトでもありません。300書記素です。

書記素とは、画面を見ているときに「1文字」と呼ぶもの:1つの可視シンボルです。文字aは1書記素です。国旗絵文字🇺🇸も1書記素で、内部では2つの地域インジケーターコードポイント(と4つのUTF-16コードユニット)から構成されています。

プレーンな日本語テキストでは、300文字制限と同じに見えます。違いは絵文字、特に複合絵文字やスキントーン絵文字を追加したときに現れます。Twitterでは家族絵文字が280のうち11文字を消費する可能性がありました。Blueskyでは1文字だけです。

Threadsの500文字制限

Threadsの投稿は500文字に制限されています。シンプルです。ThreadsはInstagramの文字カウントモデルを継承しており、Twitterが元々使っていたのと同じUTF-16コードユニットを使います。

つまり、絵文字は通常500文字の予算で2文字としてカウントされます。複合絵文字は5、7、または11としてカウントされる可能性があります。テキスト中心の投稿を書く場合、500で十分です(日本語約200〜250文字)。絵文字に頼ると、実効予算は縮小します。

Mastodonの500文字デフォルト

Mastodonのデフォルト投稿制限は500文字ですが、ひねりがあります:各インスタンスが上書きできます。インスタンス管理者はサーバーを設定するときに上限を設定し、グローバルルールはありません。

最大のインスタンス(mastodon.social、mastodon.online、fosstodon.org)はデフォルトの500を保ちます。しかし多くのインスタンスはもっと高く運用されています:1,000、2,000、さらには11,000。infosec.exchangeやhachyderm.ioのような人気のあるものは1,000+の上限です。

連合がこれを複雑にします。寛容なインスタンスから4,000文字を投稿しても、その投稿はmastodon.social(上限500)に連合されます。受信側インスタンスでは、表示される投稿が「もっと読む」リンクで切り詰められる可能性があります。

実用的なルール:500で書く。すべてのインスタンスで動作し、きれいに連合し、Threadsと一致します。

なぜBlueskyは文字ではなく書記素を数えるのか

Twitterは2006年に140文字制限をUTF-16コードユニット、JavaScript文字列がネイティブに使うエンコーディングを中心に構築しました。英語ASCIIには理にかなっていました。絵文字と複雑なスクリプトが登場した瞬間、見事に壊れました。

家族絵文字👨‍👩‍👧‍👦を見てください。目には1つのものに見えます。内部では、3つのゼロ幅結合子(ZWJ)でつながった4つの別個の人絵文字から構成されています。合計:7コードポイント、11 UTF-16コードユニット。280文字のTwitter投稿では、この単一絵文字が11文字を消費していました。

BlueskyのAT Protocolチームはこれから学びました。300文字制限が書記素で測定されることを指定しました。これはIntl.Segmenter{ granularity: 'grapheme' }と共に使ってJavaScriptが公開する単位です。カウントは今やユーザーが見るものと一致します。

クロスプラットフォーム文字計算

プラットフォーム上限カウント単位
Twitter(X)280UTF-16コードユニット
Bluesky300書記素
Threads500UTF-16コードユニット
Mastodon(デフォルト)500UTF-16コードユニット
Mastodon(最大インスタンス)5,000+UTF-16コードユニット

その他のBluesky制限

  • 投稿: 300書記素(Intl.Segmenter経由でカウント)
  • 表示名: 256文字
  • 説明(bio): 256文字
  • ハンドル: 253文字(.bsky.socialまたはあなたのドメインを含む)
  • 画像の代替テキスト: 2,000文字

投稿以外のThreads制限

  • 投稿(500文字): ヘッドライン制限。プレーンUTF-16カウント。
  • bio(150文字): Instagramと同じ。タイト。
  • ユーザー名(30文字): ThreadsアカウントはInstagramに紐づくため、Instagramのユーザー名と共有。
  • 表示名(Instagram名): Instagramの名前フィールドと共有、実用上通常30文字まで。
  • DM(1,000文字): ダイレクトメッセージ制限、投稿制限より長い。
  • 画像の代替テキスト: アクセシビリティ説明用に約1,000文字まで。

投稿以外のMastodon制限

  • 投稿(デフォルト500文字): インスタンスごとに上書き。一部は5,000+を許可。
  • 表示名(30文字): フィードに表示されるフレンドリー名。
  • bio(500文字): プロフィール説明。
  • ユーザー名(30文字): ハンドルのローカル部分。
  • プロフィールフィールド(4メタデータ行): 各行はラベル255文字+値255文字。
  • コンテンツ警告: 100文字。
  • 画像の代替テキスト: 添付ファイル1つにつき1,500文字。

クロス投稿戦略:一度書いて、どこでも投稿

3つすべて(そしておそらくTwitter/Xも)にプレゼンスを維持している場合、実用的な動きは最小公倍数に書いて、残りを任せることです。

最小公倍数: オーディエンスがどちらに傾いているかに応じて、280文字(Twitter)または300書記素(Bluesky)。それを当てれば、投稿は余裕を持ってどこにでも収まります。

クロス投稿ツール: Buffer、Hypefury、Postiz、CroissantはすべてBluesky、Threads、Mastodon、Xでのマルチプラットフォーム公開をサポートします。

注意すべき1つのトラップ:Bluesky(各1書記素)で問題なく見える絵文字の多い投稿は、Twitterの280(家族絵文字あたり11 UTF-16文字)を超える可能性があります。絵文字が密集しているときは、必ず実際のプラットフォームのツールで確認してください。 文字数カウンター を使用してください。

Bluesky・Threads・Mastodonで文字数をチェック。

文字数カウンターを開く

関連ガイド

Frequently Asked Questions

Blueskyの投稿は300書記素(グラフェーム)までで、300文字ではありません。書記素はユーザーが知覚する1つの文字単位なので、国旗絵文字や複合絵文字は4〜11のUTF-16コードユニットでも1書記素として数えられます。プレーンな日本語テキストでは、実質300文字の制限のように動作します。

Twitterの元の280文字制限はUTF-16コードユニットをカウントしていたため、1つの絵文字が2〜11文字を消費する可能性がありました。BlueskyのAT ProtocolはIntl.Segmenterを使ってユーザーが実際に見るものをカウントするため、カウントが目に合います。コードポイントの数に関係なく、絵文字1つは書記素1つです。

Threadsの投稿は500文字に制限されています。ThreadsはMetaが構築し、InstagramのUTF-16文字カウントを継承しているので、500文字は従来の意味での500文字を意味します。絵文字は通常2文字としてカウントされます。

Mastodonのデフォルト文字制限は、メインのmastodon.socialを含むほとんどのインスタンスで投稿あたり500文字です。ただし、個々のインスタンス管理者がこれを上書きできます。5,000以上を許可するインスタンスもあれば、より厳しい制限を設定するインスタンスもあります。

いいえ。Mastodonは連合型で、各インスタンスが独自の投稿文字制限を設定します。デフォルトは500ですが、インスタンスは一般的に1,000、2,000、または5,000+で運用されます。クロス投稿したり、フェディバース全体で最大の互換性が欲しい場合は、安全のため500で書いてください。

オーディエンスがそれらに分散している場合は、はい。最小公倍数に書く:Bluesky向けに300書記素。同じ投稿はThreads(500)とMastodon(500+)に変更なしで収まります。Buffer、Postiz、Croissantのようなツールが配信を処理しますが、書記素計算は文字計算と異なるため、必ず実際のプラットフォームでプレビューしてください。

はい。Blueskyは投稿内のハッシュタグ(#トピック)とメンション(@handle.bsky.social)をサポートします。どちらも300書記素の制限にカウントされます。ハッシュタグはクリック可能でタグフィードにつながります。メンションはユーザーに通知してプロフィールにリンクします。

Blueskyの表示名は256文字、bio(説明)も256文字に制限されています。ハンドルは.bsky.socialサフィックスやカスタムドメインを含めて最大253文字です。ほとんどのユーザーは読みやすさのため表示名を30文字以下に保ちます。