Slack Message Formatting with mrkdwn
Slack’s text formatting looks like Markdown but is its own dialect called mrkdwn. If you have ever had **bold** show up with its asterisks in Slack, this is why.
mrkdwn is not Markdown
Bold is *single asterisks*, italic is _underscores_, strikethrough is ~tildes~, and links are <https://url|label>. There is no heading or list syntax the way Markdown has. The Slack Message Formatter previews it live so you can paste with confidence.
Because &, <, and > start Slack’s special codes, text your app sends must write them as &, <, and >.
When to use Block Kit
For anything beyond a paragraph, sections, buttons, images, dividers, Slack uses Block Kit, a JSON layout format. Assemble it visually with the Slack Block Kit Builder. A single message allows up to 50 blocks.
Block Kit also has a markdown block that takes standard Markdown, headings and lists included, up to 12,000 characters across all the markdown blocks in a message. It is the easy route when your text already comes as Markdown.
Sending via webhooks
Incoming webhooks accept a JSON payload with text or a blocks array. Include text even when you send blocks: Slack shows it in notifications, where blocks do not appear. Build the payload and a ready curl command with the Slack Webhook Sender.
Try the tools
All guides →Slack Message Formatter
Format Slack messages with mrkdwn (bold, italic, code, quotes, links) with a live preview.
Launch tool →Slack Block Kit Builder
Assemble Slack Block Kit message JSON for webhooks and chat.postMessage.
Launch tool →Slack Webhook Sender
Build the JSON payload and curl command for any Slack incoming webhook, with Block Kit support.
Launch tool →