This converter turns Markdown into Slack mrkdwn for messages, bots and incoming webhooks, or into a Block Kit payload with headers, sections and dividers. Paste Markdown and copy the Slack text or JSON.
Last updated:
How it works
Paste Markdown
Paste release notes or a status update, open a .md file or try the sample.
Choose the output
mrkdwn text for the text field of the API, or Block Kit JSON for chat.postMessage and webhooks.
Send it
Copy the result into your bot, workflow or curl call; the JSON can be pasted into Block Kit Builder to preview.
Features
Real mrkdwn
**bold** becomes *bold*, ~~strike~~ becomes ~strike~, links become <url|text>, and &, < and > are escaped as Slack requires.
Lists and headings
Slack has no list or heading syntax, so lists use • and numbers with indentation and headings become bold lines.
Tables that stay readable
Tables become an aligned monospace code block, or one line per row with column names.
Block Kit limits checked
Headers longer than 150 characters, sections over 3,000 characters and messages over 50 blocks are reported.
Limits & privacy
Files up to 10 MB. Inputs above 256 KB are converted in a Web Worker, so the page stays responsive. Nothing is uploaded: the conversion runs in your browser, and Open from URL fetches the file directly from the address you enter. See the privacy page.
Notes for Slack
Formatting in mrkdwn only works at word boundaries, so bold inside a word is not shown as bold. Underline, superscript and raw HTML have no equivalent and are dropped with a warning. Typing into the Slack message box is different from sending mrkdwn through the API: the composer has its own formatting, so pasted mrkdwn may show the raw characters.
FAQ
Does Slack support Markdown?
Only partly. Slack uses its own mrkdwn: single asterisks for bold, no headings, no tables and links written as <url|text>.
Why does my bold text not work in Slack?
Standard Markdown uses **double** asterisks; Slack needs *single* ones. The converter rewrites them.
How do I post the result with a webhook?
Send {"text": "…"} with the mrkdwn output, or the Block Kit JSON as the request body, to your webhook URL.
Are images supported?
mrkdwn cannot embed images; they become links. In Block Kit mode, a paragraph with only an image becomes an image block.
What happens to tables?
Slack has no tables. They become an aligned code block or one line per row, depending on the option.