Slack tools

Slack Block Kit Builder

Drag, edit and preview Slack message blocks — get copy-ready JSON for bots, webhooks, and Block Kit messages.

Add a block
Header #1
Section #2
Text type
Divider #3

No options — renders as a horizontal divider.

Actions #4
Context #5
#general Block Kit preview
BK
Block Kit Bot APP 12:34 PM

Daily standup summary

Hello 👋, here is what is happening today:
• 3 deploys
• 2 incidents resolved
See full report

Slack iconPosted by Block Kit Builder

Preview emulates Slack's layout — final rendering depends on the recipient's workspace and theme.

About Slack Block Kit Builder

Slack Block Kit Builder is a free online tool for visually composing Slack messages from typed blocks — Header, Section, Divider, Image, Actions, Context, and Input — and getting the exact JSON payload that Slack's APIs expect. Add a block, edit it inline, drag to reorder, and watch the live Slack-style preview update as you type.

Block Kit is the modern way to send rich messages to Slack, used by chat.postMessage, chat.update, modal views (views.open), App Home tabs, and incoming webhooks. Hand-writing the JSON is error-prone — this builder takes care of the schema so you can focus on the message.

Everything runs locally in your browser — your messages, URLs, and tokens never leave your machine. Pair this with the cURL Command Builder to send the resulting payload, or the JSON formatter to inspect responses.

How to Use Slack Block Kit Builder

  1. 1. Click an Add a block button (Header, Section, Divider, Image, Actions, Context, or Input) to append a block to the message.
  2. 2. Edit the block's fields inline. For Section, choose between mrkdwn (Slack's markdown) and plain_text and write your content.
  3. 3. For Actions, add buttons with text, value, optional URL, and a style (default, primary, or danger). For Context, mix small mrkdwn text and 24px images.
  4. 4. Drag the handle on the left of a block to reorder, or use the up/down arrows. Click the chevron to collapse a block while editing others.
  5. 5. Switch between the Preview tab (Slack-style render) and the JSON tab (the payload you'll send).
  6. 6. Click Copy on the JSON tab. Paste the { "blocks": [...] } object into your Slack API call body or incoming webhook request.
  7. 7. Always do a final test in a real Slack workspace before shipping — the preview is faithful but not pixel-perfect.

Common Use Cases

Bot notifications

Build deploy summaries, CI status, monitoring alerts, and on-call pages with headers, dividers, and context blocks.

Approval flows

Combine a section with an actions row of primary/danger buttons to approve, reject, or escalate a request directly from Slack.

Modal forms

Use input blocks inside views.open / views.push payloads to collect structured input from users in a Slack modal.

Daily digests

Compose readable daily summaries with mrkdwn formatting, lists, and links — far more scannable than plain text messages.

Incident response

Post incident cards with status, severity, on-call owner, and quick-action buttons like "Acknowledge" or "Open runbook".

Onboarding / Home tab

Build an App Home with header + sections + actions + context to give users a personalized welcome and quick links.

Webhook formatting

Turn raw events from GitHub, GitLab, Datadog, or Sentry into well-formatted Slack messages instead of unstyled text dumps.

Marketing announcements

Image block + bold header + linked context items make polished announcements that match your brand inside Slack channels.

Frequently Asked Questions