Slack markdown cheat sheet
Slack’s formatting language — officially “mrkdwn” — looks like markdown but uses different characters for the basics. Here’s the translation table.
| Effect | Type this | Notes |
|---|---|---|
| Bold | *bold* | Single asterisks — double asterisks show literally. |
| Italic | _italic_ | |
| Strikethrough | ~strikethrough~ | Single tildes, not the ~~double~~ of standard markdown. |
| Inline code | `code` | |
| Code block | ```
code here
``` | No language tags and no syntax highlighting in messages. |
| Quote | > quoted line | |
| Bulleted list | - item or • item | Slack auto-formats; there is no nested-list syntax in the composer. |
| Numbered list | 1. item | |
| Link | paste the URL | In the API: <https://example.com|shown text>. The [text](url) form does not work. |
| Emoji | :tada: | |
| Mention | @name, #channel |
Why does pasted markdown break in Slack?
Because Slack's mrkdwn swapped the characters: standard markdown's **bold** arrives as asterisk-wrapped italic-looking noise, ~~strike~~ shows its tildes, and [link](url) stays literal text. Headings, tables, images, and horizontal rules have no Slack equivalent at all — paste a README into a message and all of those degrade to plain text.
How do you share real markdown through Slack?
Three options that keep formatting intact: create a Slack text snippet (attach → “Create a text snippet”, type Markdown) which renders on expansion; or share the document as a link instead — paste the markdown here and drop the URL in the channel, so the doc renders fully with code highlighting and tables; or convert it to a PDF with the markdown to PDF tool and upload that.
Is mrkdwn the same in the Slack API?
The API is stricter: messages sent via chat.postMessage use mrkdwn in text fields, links must be written as <url|text>, and &, <, > must be HTML-escaped. Block Kit text objects accept "type": "mrkdwn" with the same rules.
Related
Standard syntax: markdown cheat sheet · Discord formatting · strikethrough guide · underline guide