Slack Tools

Slack Block Kit Builder

Assemble a Slack message from stackable blocks (header, section, divider, context and image) with a live preview, then copy the Block Kit JSON. It works with Incoming Webhooks and chat.postMessage, and runs entirely in your browser with no login.

Blocks2 blocks
Header
Section
Live preview
New deployment :rocket:
Build #128 finished in 2m 14s.
View the run here or check the main branch.

The preview approximates Slack’s rendering. For a pixel-exact check, paste the JSON into Slack’s official Block Kit Builder.

Block Kit JSON

Copy-ready message payload

{
  "blocks": [
    {
      "type": "header",
      "text": {
        "type": "plain_text",
        "text": "New deployment :rocket:",
        "emoji": true
      }
    },
    {
      "type": "section",
      "text": {
        "type": "mrkdwn",
        "text": "*Build #128* finished in _2m 14s_.\nView the run <https://example.com/run|here> or check the `main` branch."
      }
    }
  ]
}

This { "blocks": [ … ] } payload works with Slack Incoming Webhooks and chat.postMessage. You can also paste it straight into Slack’s official Block Kit Builder to preview it exactly.

Reference

Block Kit block types

A Block Kit message is a JSON array of blocks. These are the main block types Slack renders. A single message can hold up to 50 blocks (100 in modals and the App Home).

BlockPurpose
sectionThe workhorse block: mrkdwn or plain text, optional fields and an accessory element.
headerA large plain-text title at the top of a message.
dividerA thin horizontal rule that separates content. No text.
imageA standalone image with an image_url and alt_text.
contextA small, muted line mixing images and mrkdwn, e.g. captions or metadata.
actionsA row of interactive elements: buttons, select menus, date pickers.
inputA form field, used mainly in modals to collect user input.
FAQ

Slack Block Kit builder FAQ

What is Slack Block Kit?+

Block Kit is Slack’s framework for building richly formatted messages out of stackable “blocks”: headers, sections, dividers, context lines and images. Instead of a plain string, you send a JSON array of blocks and Slack renders each one. This builder lets you assemble that array visually and copies the finished JSON for you.

How do I send Block Kit JSON?+

Two common ways. For an Incoming Webhook, POST the payload as the JSON body (Content-Type: application/json) to your webhook URL. The { "blocks": [ … ] } object is the whole body. For the Web API, call chat.postMessage with a channel plus the same blocks array. Bots and automation tools like n8n, Zapier or GitHub Actions accept the identical structure.

Can I preview it in Slack?+

Yes. The live preview here approximates how Slack renders your blocks, but for a pixel-exact check copy the JSON and paste it into Slack’s official Block Kit Builder (app.slack.com/block-kit-builder). It accepts the same payload and shows the real rendering plus any validation errors.

Is it free?+

Completely free with no login, no account and no limits. Everything runs locally in your browser, so nothing you type is sent to a server.

Related tools

All tools →

More in Slack Tools.