Slackのメッセージの文字数制限:上限40,000、推奨4,000
Slackのメッセージのtextの上限は40,000字で、開発者向けドキュメントは4,000字未満を勧めています。APIで試すと、長い文は切られず4,000字ずつのメッセージに分けて投稿されました。Block Kitのセクションは3,000字、ヘッダーは150字まで。長いメッセージで起きること、ほかの文字数の制限、長い投稿の分け方をまとめました。
On this page
Slackのメッセージの文字数の上限は40,000字です。Slackの開発者向けドキュメントには、textの項目が40,000字を超えるメッセージは切り詰められると書かれていて、きれいに表示するには4,000字未満にするよう勧めています。2026年10月1日にAPIで試したところ、Slackは長い文を切りませんでした。4,000字ずつの別々のメッセージに分けて投稿しました。Block Kitを使う場合は、ブロックごとに上限があります。セクションブロックの本文は3,000字、ヘッダーは150字、1つのメッセージに入るブロックは50個までです。それより長いものには、Slackはスニペットを勧めていて、長い文書にはキャンバスが向いています。
長いメッセージが投稿前にどう見えるかは、MarkdownからSlackへの変換ツールで下書きすると確かめられます。
Slackの文字数の制限を1つの表で
| 文字を入れる場所 | 上限 | 出典 |
|---|---|---|
| メッセージのtext | 40,000字。超えると切り詰め | chat.postMessageのドキュメント |
| 推奨されるメッセージの長さ | 4,000字未満 | chat.postMessageのドキュメント |
| Block Kitのセクションブロックの本文 | 3,000字 | セクションブロックのリファレンス |
| Block Kitのヘッダーブロック | 150字、プレーンテキストのみ | ヘッダーブロックのリファレンス |
| markdownブロック1つ | 12,000字(私たちのテストでは12,001字でmsg_too_long。6,001字と6,000字の2ブロックを1メッセージに入れると通った) | markdownブロックのリファレンス、私たちのテスト |
| 1メッセージのブロック数 | 50個(モーダルとホームタブでは100個) | ブロックのリファレンス |
markdownブロックの上限は、ドキュメントの言う「合計12,000字」ではなく、ブロック1つごとに12,000字でした。合計12,001字の2ブロックが1つのメッセージで投稿できたからです。
40,000字の上限は2018年8月から続いています。Slackの変更履歴によると、それまでの500,000字から段階的に下げたものです。投稿のどの方法にも当てはまります。chat.postMessage、chat.postEphemeral、Incoming Webhook、スラッシュコマンドの応答、インタラクティブなメッセージです。
よく検索されるほかの上限もあります。Slackのステータスは100字(10月7日のテストでは101字でtoo_longが返りました)、チャンネル名は80字までです。チャンネル名の80字の上限には、大文字、スペース、記号の決まりもついています。45個の名前それぞれで返ったエラーはチャンネル名のテストにあります。100字に収まるステータスの例はSlackのステータスの例にあります。チャンネルのトピックと説明は、どちらも250字で止まります。チャンネルのトピックと説明のテストで測りました。
Slackに4,000字の制限はあるか
厳密な制限ではありません。4,000字は、Slackのドキュメントがtextの長さとして勧めている値で、Slackが切る境目ではありません。2018年より前のSlackのガイドは、メッセージを4,000バイト未満にするよう勧めていて、よく引用される数字はここから来ています。5,000字のメッセージも問題なく投稿でき、APIから送ると2つのメッセージになります。チャットとしては長いので、スレッドかスニペットのほうが読みやすくなります。
Slackのメッセージが長すぎると何が起きるか
- • APIやWebhookの場合。 2026年10月1日に、ボットのトークンとIncoming Webhookで測りました。
chat.postMessageは40,001字をok: trueで受け付け、警告は出ず、約4,000字ずつ10個の別々のメッセージとして投稿しました。Webhookもokと返しましたが、投稿したのは4,000字のメッセージ4つまででした。20,000字の文のうち16,000字が届き、残りはエラーなしで捨てられました。chat.updateは4,000字を超えるものをmsg_too_longで拒否します。テストの全体はSlackのchat.updateを試した結果にあります。 - • Block Kitのメッセージの場合。 3,000字を超えるセクションや、50個を超えるブロックは検証で失敗し、何も投稿されません。本文を複数のセクションブロックに分けます。私たちが当たった上限とそのエラー文は、すべてinvalid_blocksのページにあります。
- • Slackのアプリの場合。 2026年10月7日に、Webアプリ自身のセッショントークンで分割を試し直しました。番号付きの行で作った5,000字の文は、3,994字と1,005字の2つのメッセージになり、4,000字の手前の改行で切れました。どちらもWebアプリで全文が表示され、折りたたまれませんでした。長い文を「Show more」(もっと見る)の後ろに折りたたむのは、昔のアプリのattachmentだけです。測ったしきい値はSlackが「もっと見る」を出すとき(英語)にあります。
Slackで長いメッセージを投稿する方法
投稿前に長さを確かめるには、メッセージをBlock Kitチェッカーに貼り付けます。Slackが保存するのと同じ数え方で文字を数え(&は&に、絵文字は:名前:になります)、chat.postMessageやWebhookで何通のメッセージになるかを示します。
Slack APIのために長いメッセージを分ける
長くなりうるレポートをボットが投稿するなら、送る前に改行の位置で文を分けます。
def split_for_slack(text: str, limit: int = 3900) -> list[str]:
# Split on line breaks so no chunk passes the limit
chunks, current = [], ""
for line in text.splitlines(keepends=True):
while len(line) > limit: # one very long line
chunks.append(line[:limit])
line = line[limit:]
if len(current) + len(line) > limit:
chunks.append(current)
current = ""
current += line
if current:
chunks.append(current)
return chunks
最初のかたまりを投稿し、残りはthread_tsに最初のメッセージのtsを入れて投稿すると、1つのスレッドにまとまります。上限を3,900字にしておけば、どの部分もSlackが勧める4,000字未満に収まります。セクションブロックで送るなら、3,000にします。先にMarkdownを変換するなら、MarkdownからSlackへの変換ツールが長いMarkdownのレポートをSlackの書式に変えます。
よくある質問
Slackのメッセージには何文字まで入りますか?
Slackのドキュメントでは、textの項目に40,000字です。私たちのテストでは、chat.postMessageは約4,000字を超える部分を複数のメッセージに分け、Incoming Webhookが投稿したのは16,000字まででした。
Block Kitの文字数の上限は? セクションの本文が3,000字、ヘッダーが150字、1メッセージのブロックが50個です。
長いSlackのメッセージが2つに分かれて届いたのはなぜですか? APIで送った約4,000字を超えるテキストは、改行の位置で複数のメッセージに分けられます。私たちの5,000字のテストは3,994字と1,005字になりました。
Slackのステータスは何文字まで入りますか? 100字です。
関連記事
Slackで送信せずに改行する方法
Slackのメッセージで送信せずに改行するにはShift+Enterを押します。Enterで改行したいなら、環境設定の詳細設定で、メッセージを書くときのEnterキーを「改行する」に変え、Cmd+EnterかCtrl+Enterで送信します。スマホ、リスト、コードブロック、APIでの改行もまとめました。
Slackのリンクプレビューをオフにする方法(自分だけ、または全員)
自分の画面でSlackのリンクプレビューを止めるには、環境設定のメッセージ & メディアで、リンク先のサイトの画像・ファイルとテキストプレビューの2つのチェックを外します。1件だけ消すなら、プレビューにカーソルを合わせて×をクリックします。管理者がサイトをブロックする方法、ボットがプレビューなしでリンクを送る方法、プレビューが出ない理由もまとめました。
Slackで表を作る方法:貼り付け、キャンバス、Block Kit
ExcelやGoogleスプレッドシートのセルをコピーしてSlackのメッセージに貼ると、タブ区切りのテキストが本物の表になります。上限は20列、100行、10,000文字(2026年10月6日に検証)。コードブロック、キャンバスの表、Block Kitのtable blockと、試して出たエラーもまとめました。