Markdown Formatter

Write with headers, spoilers, quotes and lists and see exactly how Discord will render them β€” including the ones Discord does differently to everywhere else.

Write

Select text, then press a button β€” or type the markers by hand.

456 / 2000

Preview

Rendered the way Discord will. Click a spoiler to reveal it.

Server rules

Read these before posting. Breaking them gets you a timeout, not a warning.

  1. Be decent β€” no harassment, slurs or witch-hunts
  2. Keep it on topic
  3. No advertising without asking a mod first

Appeals go to modmail. Arguing in chat is its own rule break.

Spoilers for the finale go in , and underline is a thing here that it is not on GitHub.

// code blocks keep their formatting
const welcome = true;

Discord markdown is not GitHub markdown

It looks the same until it is not, and the differences are the ones people trip over:

  • __text__ is underline, not bold. Almost every other markdown dialect makes it bold, which is why pasted text so often comes out wrong.
  • ||text|| is a spoiler. Nothing outside Discord has it.
  • Headings stop at three levels, and # needs a space after it β€” so #gaming stays a hashtag rather than becoming a heading.
  • Tables, images and footnotes do not exist. Neither do masked links ([text](url)) in ordinary messages β€” those only render inside embeds, which is what the Embed Maker is for.

Precedence

Inline code wins over everything. Anything between backticks is literal, so `**not bold**` shows the asterisks. A backslash escapes the next character, and a marker you never close is just text β€” Discord does not treat it as an error, and neither does this preview.

Where it works

Messages, embeds and channel topics render markdown. Usernames, nicknames, server names and channel names do not β€” for those you need Unicode styling instead.