Discord renders a subset of Markdown directly in chat. Type the markers around your text, hit send, and Discord converts them to real formatting. No settings, no plugins. This guide covers every syntax that works, plus the mistakes that make formatting fail silently.

If you'd rather click buttons than memorize symbols, the Discord Text Formatter on this site wraps your text in any of these syntaxes and copies the result, ready to paste.

Discord bold, italic and underline syntax

  • Bold: **your text**
  • Italic: *your text* or _your text_
  • Underline: __your text__ (two underscores on each side)
  • Strikethrough: ~~your text~~
  • Spoiler: ||your text|| renders as a black bar until someone clicks it
  • Combine markers for mixed styles: ***bold italic*** or __**underlined bold**__

Discord heading and subtext syntax

  • # text makes a large heading, ## text a medium one, ### text a small one
  • The # must sit at the start of the line, followed by a space
  • -# text creates subtext: a small, gray line useful for footnotes and disclaimers

Discord quote and blockquote syntax

  • > text quotes a single line
  • >>> text turns everything after it in the message into a quote block

Discord code blocks and inline code

  • Inline code: wrap text in single backticks, useful for commands and values
  • Code block: wrap in triple backticks on their own lines
  • Add a language tag right after the opening backticks (like js or py) and Discord applies syntax highlighting

Discord colored text with ANSI codes

Plain Discord Markdown has no color syntax, but code blocks tagged as ansi render terminal colors. The colors come from ANSI escape codes: an invisible ESC character, followed by a bracket sequence like [2;31m.

The structure of a red ANSI line:

ESC [ 2 ; 31 m  Your red text  ESC [ 0 m

Typing the ESC character by hand is nearly impossible on a normal keyboard, which is why most people generate these blocks with a tool. The Discord Text Formatter builds the whole block for you: type your text, pick a color, copy the result.

The codes worth knowing:

  • Foreground colors: 30 gray, 31 red, 32 green, 33 yellow, 34 blue, 35 magenta, 36 cyan, 37 white
  • Backgrounds: the same order, 40 through 47
  • 1 bold, 4 underline, 0 resets everything back to default

ANSI colors render most reliably in the desktop app. On mobile they may appear as plain or partially colored text, so treat colored blocks as a desktop-first trick.

What works on mobile

Every syntax in this guide renders on iOS and Android. The friction is typing: pipes, backticks and tildes sit behind extra keyboard screens, and spoiler tags are fiddly to place by hand. The formatter runs in your phone's browser, so the mobile workflow is select, tap, copy, paste.

Common Discord formatting mistakes

  1. Spaces inside the markers. ** bold ** renders literally, asterisks and all. Markers must hug the text: **bold**.
  2. A missing closing marker. **bold does nothing. Discord needs the pair.
  3. Heading syntax without the space. #text is not a heading. It needs # text, at the start of a line.
  4. Underscores in plain text triggering italics. A name like my_cool_bot can render with unwanted slant. Escape the underscore with a backslash: my\_cool\_bot.
  5. Expecting color without an ANSI block. There is no red: or [color] syntax in Discord. Colored text only exists inside ansi code blocks.

Format Discord text the fast way

Memorize the syntax if you use it daily. For everyone else, the Discord Text Formatter handles every style in this guide: bold, italic, underline, strikethrough, spoiler, headers, quotes, code and ANSI colors. The page also includes a cheat sheet and the equivalent syntax for WhatsApp. It's free, runs entirely in your browser, and nothing you type is uploaded.

For the one-click cleanup behind everything on this site, start with the AI Text Cleaner. More guides like this one live on the AI text cleanup guides page.

Common questions about Discord text formatting

How do I write a spoiler tag on Discord?

Wrap the text in double pipes: ||your secret||. Discord renders it as a black bar that readers click to reveal. Spoilers work on desktop and mobile, and you can stack them with bold or italic inside. If the bars show up literally, check there's no space between the pipes and your text — ||spoiler|| works, || spoiler || doesn't.

Can I send red (or colored) text on Discord?

Not natively — Discord has no color picker. The workaround is an ANSI code block: open a block with ```ansi and wrap text in the red escape sequence. Our Discord Text Formatter's Colored text tab generates the whole block for you — pick a color, copy, paste. ANSI colors only render inside code blocks, and they show for everyone except screen readers and plain-text clients.

How many heading levels does Discord support?

Three. # for Heading 1, ## for Heading 2, ### for Heading 3 — always with a space after the hashes, at the start of a line. There's also -# for subtext, a smaller grey line. Heading markers mid-line do nothing: they only render when the line begins with them.

How do I bold text on the Discord mobile app?

Same syntax as desktop: wrap the words in double asterisks, **bold**. Type it by hand — the mobile app has no formatting toolbar. Long-press to select the words, switch to the symbols keyboard for the asterisks, and send. If it renders as literal asterisks, you probably left a space inside the markers.

Why didn't my ** bold work on Discord?

Almost always one of three reasons: there's a space inside the markers (** bold ** renders literally), the markers didn't wrap the exact text you meant, or you're editing a message where the Markdown was already consumed on send. Re-type it hugging the word — **text**, no spaces inside — and it renders every time.