Discord markdown cheat sheet

Discord uses a dialect of markdown — most of the standard syntax plus a few inventions of its own (underline, spoilers, subtext) and a few things missing (tables, images).

EffectType thisNotes
Italic*italic* or _italic_
Bold**bold**
Bold italic***bold italic***
Underline__underline__Discord-specific — in standard markdown double underscores mean bold.
Strikethrough~~strikethrough~~
Spoiler||hidden until clicked||Discord-only. Works on text and attachments.
Inline code`code`
Code block```js code here ```Language tag after the opening backticks enables syntax highlighting.
Big header# HeaderThree levels: #, ##, ###. Needs the space, at line start.
Subtext-# small gray textSmaller, dimmed line — the opposite of a header.
Quote> quoted line>>> quotes everything until the end of the message.
Bulleted list- item or * item
Numbered list1. item
Masked link[shown text](https://example.com)Suppress the embed by wrapping the URL in < >.

How is Discord markdown different from standard markdown?

Three real differences trip people up. First, __double underscores__ underline on Discord but mean bold everywhere else. Second, Discord renders single-tilde ~strikethrough~ as well as the standard double tilde. Third, several standard features simply don't exist in messages: tables, task-list checkboxes, embedded images via ![alt](url), and horizontal rules. Discord adds its own extras instead: ||spoilers||, -# subtext, and <t:timestamp> tags that render in each reader's timezone.

How do you show markdown characters literally?

Escape with a backslash: \*not italic\*. To disable an auto-embedding link preview, wrap the URL in angle brackets: <https://example.com>.

Related

Full standard syntax: markdown cheat sheet · Slack formatting · strikethrough guide · underline guide