Slack Markdown
Slack does not use Markdown. It uses mrkdwn, a smaller
syntax that looks similar and disagrees in the places that matter most:
*one asterisk* is bold, links use angle brackets, and there
are no headings at all.
This preview is standard Markdown — read it as the contrast, not the target
Result
Runs entirely in this tab. Open the full editor to work on a real document.
The differences, in one table
| Format | Slack mrkdwn | Standard Markdown |
|---|---|---|
| Bold | *bold* | **bold** |
| Italic | _italic_ | *italic* or _italic_ |
| Strikethrough | ~struck~ | ~~struck~~ |
| Link | <https://url|text> | [text](https://url) |
| Inline code | `code` | `code` |
| Code block | ```code``` | ```lang … ``` |
| Blockquote | > quote | > quote |
| Heading | none | # Heading |
| Table | none | pipes and dashes |
One asterisk, and why it bites
A single asterisk means italic in Markdown and bold in Slack. That is worse
than an unsupported feature, because nothing visibly fails — paste a
Markdown paragraph into Slack and *emphasis* arrives shouting.
Text going the other way looks over-formatted in the same way.
The composer formats for you
By default Slack's message box is WYSIWYG: it applies formatting from the toolbar and its keyboard shortcuts rather than from characters you type, which is why typed mrkdwn often appears to do nothing. To type the syntax directly, turn on Format messages with markup in Preferences → Advanced.
Lists are part of that composer rather than part of mrkdwn — the bullet and number buttons, or Ctrl+Shift+8 and Ctrl+Shift+7. A typed hyphen stays a hyphen.
Getting a Markdown document into Slack
For anything longer than a paragraph, do not translate the syntax by hand.
Open the document in the editor and use
Export → Copy as rich text, then paste into Slack: the composer
accepts formatted text and turns headings, lists and emphasis into its own
formatting. Long documents are usually better as a Canvas or an attached
.md file than as a message.
Where standard Markdown does apply
Slack's own developer surface uses the same mrkdwn in Block Kit's
mrkdwn text objects, so bots and apps follow these rules too —
not the Markdown rules. Canvases are the exception: they are a document
editor with real headings and tables, closer to a wiki page than to a
message.
Common questions
- How do I make text bold in Slack?
- One asterisk on each side: *bold*. That is the biggest departure from standard Markdown, where a single asterisk means italic — so text copied from anywhere else formats wrongly rather than not at all.
- Why is it called mrkdwn rather than Markdown?
- Because Slack does not claim it is Markdown. It is a deliberately smaller, Slack-specific syntax that borrows the look; the name without vowels is how Slack's own API refers to it, and the distinction is the useful part.
- How do I add a link with custom text?
- Use angle brackets and a pipe: <https://example.com|the text>. The standard [text](url) form does nothing. In the normal composer you can also paste over selected text and Slack builds the link for you.
- Can I use headings in Slack?
- Not in a message. There is no heading syntax and hashes render literally. Bold on its own line is the conventional substitute; Canvases, which are a different editor, do have real headings.
- Why does my typed formatting not do anything?
- The composer is WYSIWYG by default, so it applies formatting from the toolbar rather than from characters you type. Turning on "Format messages with markup" in Preferences → Advanced switches it to interpreting mrkdwn as you type.
- How do I make a list?
- With the composer's bullet and number buttons, or Ctrl+Shift+8 and Ctrl+Shift+7. Typing a hyphen does not create a list — lists are a composer feature rather than part of mrkdwn.