Slack Block Kit builder
Turn a plain text outline into ready-to-send Slack Block Kit JSON.
Slack Block Kit builder
Write a message the way you'd write a document and this tool turns it into the JSON payload Slack's Block Kit expects. Headings starting with # become header blocks, plain paragraphs become section blocks with mrkdwn text, and a line of three or more dashes becomes a divider — no need to hand-write nested block objects or look up the schema for each type.
Bullet lines (starting with - or *) render as one combined section or as a separate block per item, controlled by the "Bullet lists" option — useful when items should wrap independently in a narrow Slack pane. Lines shaped like "Label: value" become a fields section, chunked into groups of ten since that's Slack's limit per section. Markdown links such as [label](url) convert to Slack's <url|label> syntax, and **bold** becomes Slack's single-asterisk bold. A line starting with "context:" adds a footer context block, and one starting with "buttons:" (labels separated by a pipe, with an optional URL in parentheses) adds an actions block with real buttons.
Switch "Payload for" between an incoming webhook and a chat.postMessage call — the second adds a channel field you can edit directly. If any single section's text passes Slack's 3000-character limit, the tool keeps building valid JSON but flags exactly which block is too long, both in the live tally and by highlighting the offending lines in the output, so you catch it before Slack's API rejects the message.
Everything runs in your browser. The outline you type and the JSON it produces never leave your device — nothing is uploaded to any server, including to Slack itself. When the payload looks right, copy it, download it as a .txt file to paste into your code, or send it to another tool's input to keep working.