Markdown in Discord: Formatting Guide
How to format text in Discord using markdown syntax. Covers bold, italic, code blocks, spoilers, headers, lists, and what Discord does differently.
Last updated: March 1, 2026
Discord supports a subset of markdown for formatting messages. Bold, italic, code blocks, and blockquotes work like standard markdown. Discord also adds unique features like spoiler tags and a different header syntax. Tables, images, and reference-style links are not supported.
What Works in Discord
| Formatting | Discord Syntax | Standard Markdown |
|---|---|---|
| Bold | **bold** | **bold** |
| Italic | *italic* or _italic_ | *italic* |
| Bold italic | ***bold italic*** | ***bold italic*** |
| Underline | __underline__ | Not standard (would be bold) |
~~strikethrough~~ | ~~strikethrough~~ | |
Inline code | `code` | `code` |
| Code block | ```code``` | ```code``` |
| Blockquote | > quote | > quote |
| Spoiler | ||spoiler|| | Not standard |
| Header (H1) | # Header | # Header |
| Header (H2) | ## Header | ## Header |
| Header (H3) | ### Header | ### Header |
| Bulleted list | - item or * item | - item |
| Numbered list | 1. item | 1. item |
Discord shares more syntax with standard markdown than Slack does. Bold and italic use the same symbols.
Discord-Specific Features
Underline
Discord uses double underscores for underline instead of bold:
__This text is underlined in Discord__In standard markdown, __text__ produces bold. This is one of the few conflicts between Discord and standard markdown.
Spoiler Tags
Wrap text in double pipes to hide it behind a click:
||This is a spoiler||The text appears as a dark block until clicked. This works in messages, not in embeds.
Headers in Messages
Discord added header support in 2023:
# Big Header## Medium Header### Small HeaderHeaders only work at the start of a line and require a space after the #. They render as larger, colored text in messages. Only H1 through H3 are supported.
Note: headers do not work in embed descriptions via bots.
Masked Links
Discord supports masked links in certain contexts:
[Click here](https://example.com)Masked links work in:
- Embed descriptions (bot messages)
- Webhook messages
- Forum posts (some contexts)
They do not work in regular user messages. Discord shows the raw text instead.
Syntax Highlighting in Code Blocks
Discord supports language-specific highlighting:
```javascriptconst greeting = "Hello";console.log(greeting);```Common languages that render well on Discord: javascript, python, css, html, json, bash, yaml, diff, markdown.
The diff language is popular for showing additions and removals:
```diff- Removed line+ Added line Unchanged line```Multiline Code Blocks
For sharing longer code or formatted text:
```This is a code block.It preserves line breaksand uses a monospace font.```No language identifier means no highlighting but still renders as a code block.
What Does Not Work in Discord
| Feature | Works in Markdown | Works in Discord |
|---|---|---|
| Tables | Yes | No |
Images () | Yes | No |
Task lists (- [x]) | Yes | No |
| Footnotes | Yes | No |
Horizontal rules (---) | Yes | No |
| Headings H4-H6 | Yes | No |
| Reference-style links | Yes | No |
| HTML tags | Yes | No |
| Nested blockquotes | Yes | No |
Formatting Combinations
You can combine formatting in Discord:
***bold italic*****~~bold strikethrough~~**__*underline italic*__~~__underline strikethrough__~~||**bold spoiler**||The combination order matters. Put the outermost formatting symbols on the outside and work inward.
Discord Bot Messages (Embeds)
Bot messages using Discord embeds support more markdown than regular messages:
| Feature | Regular Messages | Embeds |
|---|---|---|
| Bold, italic | Yes | Yes |
| Code blocks | Yes | Yes |
Masked links [text](url) | No | Yes |
| Headers | Yes | No |
Timestamps <t:unix:format> | Yes | Yes |
| Spoilers | Yes | Yes |
Mentions <@user_id> | Yes | Yes |
Embeds are structured with fields like title, description, and color. The description field supports markdown formatting and masked links.
Timestamps
Discord has a unique timestamp format that displays times in the reader’s local timezone:
<t:1709568000:F>| Format | Flag | Example Output |
|---|---|---|
| Short time | :t | 2:00 PM |
| Long time | :T | 2:00:00 PM |
| Short date | :d | 03/04/2026 |
| Long date | :D | March 4, 2026 |
| Short date/time | :f | March 4, 2026 2:00 PM |
| Long date/time | :F | Monday, March 4, 2026 2:00 PM |
| Relative | :R | 2 hours ago |
The number is a Unix timestamp in seconds.
Tips for Long-Form Content in Discord
Discord messages have a 2000-character limit (4000 for Nitro users). For longer documents:
- Use threads. Post a summary in the channel and continue in a thread.
- Use a forum channel. Forum posts support longer content and better formatting.
- Share a link. Publish your markdown to a URL and share the link. Discord unfurls links with a preview.
For sharing markdown documents, publishing to a URL gives the best reading experience. Discord messages are not designed for long-form content.
FAQ
Does Discord support markdown?
Discord supports a subset of markdown: bold, italic, strikethrough, code blocks, blockquotes, headers (H1-H3), and lists. It does not support tables, images, footnotes, or horizontal rules. Discord also adds non-standard features like underline (__text__) and spoilers (||text||).
Can I post tables in Discord?
No. Discord does not render markdown tables. For tabular data, use a code block to preserve spacing, or share a link to a formatted document.
Why don’t links work in Discord messages?
Masked links ([text](url)) only work in bot embeds and some forum contexts. In regular messages, the raw markdown text is displayed. Paste the full URL instead: Discord auto-embeds links with previews.
How do I share a long markdown document in Discord?
Discord’s character limit makes long documents impractical. Publish your document to a URL using a tool like MDtoLink and share the link. Discord shows a preview, and readers can click through for the full formatted document.
Try It Out
Write your content in the MDtoLink editor, then publish it and share the URL in Discord. Your community gets a clean, formatted page without Discord’s formatting limits.
For the full markdown syntax reference, see the markdown cheat sheet.
Founder, MDtoLink
David builds developer tools and writes about markdown workflows, documentation, and AI-assisted publishing.
Publish your markdown to a shareable URL
One command. Free to start. No credit card.