Discord Markdown Editor & Cheat Sheet

Write a message on the left and see the Discord Markdown exactly as the chat client will render it on the right — bold, italic, underline, spoilers, headers, subtext, lists, quotes, code blocks, and colors. Copy the finished message and paste it into any channel.

Message0 / 2,000

What Is Discord Markdown?

Discord Markdown is the plain-text formatting syntax built into the Discord chat box. You type a few characters around your words — **like this** — and Discord styles them the moment you press Enter. It borrows most of its rules from Markdown, drops the parts that make no sense in a chat window, and adds three of its own: underline, spoilers, and subtext.

  • A subset, not full Markdown: Tables, images, footnotes, task lists, and HTML are all ignored, so a README pasted into Discord loses structure.
  • Three Discord-only extras: Underline with __text__, spoilers with ||text||, and subtext with -# text exist nowhere in standard Markdown.
  • The same rules everywhere: Messages, replies, threads, forum posts, and your profile bio all read the same Discord Markdown syntax.
  • No preview inside Discord: The client formats only after you send, which is why a Discord Markdown preview like the one above is useful for announcements.

What you type

# Server update
**Patch 2.4** is live! Highlights:
- *Faster* matchmaking
- __New__ ranked season
- ||Secret boss unlocked||
-# Full notes in #changelog
How Discord renders it

YouToday at 12:00

Server update

Patch 2.4 is live! Highlights:

  • Faster matchmaking
  • New ranked season
  • Secret boss unlocked

Full notes in #changelog

Discord Markdown Text Styles

The five styles that cover most day-to-day Discord Markdown. They nest in any order, so a phrase can be bold, underlined, and hidden behind a spoiler at once.

Bold

**bold**

Two asterisks. The workhorse of Discord Markdown — use it for the one thing you want people to read first, not for whole paragraphs.

Italic

*italic* / _italic_

One asterisk or one underscore. Underscores are safer around punctuation; asterisks are safer inside_a_word.

Underline

__underline__

Two underscores, a Discord-only extra. Combine it as __**underlined bold**__ for section titles inside a long message.

Strikethrough

~~struck~~

Two tildes. Handy for corrections and for crossing off finished items in an event checklist.

Spoiler

||hidden||

Two pipes hide the text behind a grey block until someone clicks it. /spoiler at the start of a message hides all of it.

Escape

\*not italic\*

A backslash prints the next character literally — the fastest way to post asterisks, underscores, or a stray pipe.

Headers, Subtext, Lists, and Quotes

Long announcements need structure. This half of Discord Markdown turns a wall of text into something a server member can skim in three seconds.

Headers (# ## ###)

Three sizes, each needing a space after the hashes and a line of its own. #### and deeper are not part of Discord Markdown and post as literal characters.

Subtext (-#)

Smaller grey text for a footnote, a credit, or an “edited” note under the main message. It also works as a lightweight divider between blocks.

Lists (- and 1.)

A dash or asterisk makes bullets; a number and a period make an ordered list that renumbers itself. Two extra spaces of indent nest a sub-item.

Quotes (> and >>>)

A single > quotes one line. >>> quotes everything left in the message — useful for pasting rules or a long reply without breaking each line.

What you type

## Weekly schedule
- Mon — build night
  - bring your own snacks
1. Sign up in #events
2. Join the voice channel

> No mic? Type in chat.
-# Times are UTC
Discord Markdown output

YouToday at 12:00

Weekly schedule

  • Mon — build night
  • bring your own snacks
  • Sign up in #events
  • Join the voice channel
No mic? Type in chat.

Times are UTC

Discord Markdown Code Blocks and Colors

Code blocks are the one place where Discord Markdown stops formatting and starts preserving. They are also the only way to post colored text.

Code blocks and syntax highlighting

Backticks around a phrase give inline code. Three backticks plus a language name give a highlighted block — Discord recognises the common ones including js, py, json, cpp, cs, css, bash, diff, xml, and yaml. Inside a block every other Discord Markdown rule is switched off, which makes it the simplest way to show syntax without it being formatted.

```py
def hello(name):
    return f"hi {name}"
```

Highlighting renders on desktop and web. The mobile app shows the block in plain monospace.

Colored text with ANSI

Discord Markdown has no color syntax, but a code block tagged ansi understands terminal escape sequences. Write ESC[1;31m before the text and ESC[0m after it, where ESC is a real escape character you cannot type on a keyboard — the Color button in the editor above inserts it for you.

```ansi
ESC[1;31mRed alert!ESC[0m
ESC[0;40mESC[1;32mGreen on dark blueESC[0m
```

Colors appear on desktop and web only; mobile shows the text without them. Add 1 for bold and 4 for underline, separated by semicolons.

Text colors

  • 30Gray
  • 31Red
  • 32Green
  • 33Yellow
  • 34Blue
  • 35Pink
  • 36Cyan
  • 37White

Background colors

  • 40Dark blue
  • 41Orange
  • 42Slate
  • 43Gray
  • 44Light gray
  • 45Indigo
  • 46Silver
  • 47Cream

What Discord Markdown Cannot Do

Half of the confusion around Discord Markdown comes from Markdown features Discord simply never implemented. Here is what is missing and what to use instead.

Discord Markdown tables

There is no table syntax. Pipes and dashes post as literal characters. The usual workaround is a code block with spaces padding each column, which keeps everything in a monospace grid.

Subscript and superscript

No ^ or ~ syntax and no HTML tags. Use Unicode characters instead — x², H₂O, 10⁻³ — and paste them straight into the message box.

Images and horizontal rules

![alt](url) does nothing and --- stays as three dashes. Post the image URL on its own line and Discord embeds a preview; use a subtext line or a short quote as a divider.

Task lists, highlight, and HTML

- [ ] renders as a bullet with brackets, ==highlight== stays literal, and HTML tags are never parsed. Emoji and Discord's own markup are the substitutes.

The Discord Markdown table workaround

Pipes will not build you a grid, so pad the columns with spaces inside a plain code block. The monospace font keeps everything aligned on desktop, web, and mobile. For a real table, build it in the Markdown table generator and share it as an image.

```
Player     Rank   Score
Ada        1      2,410
Linus      2      2,180
```

Format a Discord Message in 4 Steps

From a plain draft to a formatted announcement without sending three test messages to your own server first.

1

Type or paste your message

Start from the sample or paste a draft announcement. Everything runs in your browser — the Discord Markdown editor never uploads what you write.

2

Apply formatting from the toolbar

Select a phrase and click Bold, Spoiler, Header, or Color. The correct Discord Markdown syntax is inserted around the selection.

3

Check the Discord preview

Watch the chat pane on the right. Reveal spoilers, confirm your headers and lists, and make sure the character count still fits one message.

4

Copy and paste into Discord

Press Copy for Discord and paste into any channel, thread, forum post, or your profile bio. What you saw in the preview is what the channel gets.

Write Your Discord Markdown Now

Go back to the editor, format your message with one click, check the Discord preview, and paste it into your server.