Discord Markdown Previewer
Format bold, italics, spoilers & code • Live chat preview • Copy & paste
Your message
Type Discord markdown on the left — the preview mirrors how it renders in chat.
Live preview
From plain text to formatted chat messages
Discord messages support a lightweight markdown flavor for styling text inline. Here is how the core syntax, the inline styles, the block formats, and the structural elements fit together — with a live preview that shows exactly how each renders before you send.
A lightweight markdown built for chat
Discord borrows a small slice of markdown for its messages. You wrap text in a few symbols and it renders styled — no HTML and no toolbar required. The core set covers bold, italic, underline, strikethrough, inline code, spoilers, block quotes, multi-line code fences, headers, bullet and numbered lists, and small subtext. Because it is just characters you type inline, the exact same shortcuts work on the desktop app, the browser client, and mobile, so what you learn here transfers everywhere you chat.
The editor here mirrors that flavor exactly. Type on the left and the panel on the right redraws on every keystroke, showing precisely how Discord will render the message before you send it. Everything runs locally in your browser — nothing is uploaded, no account is needed, and no message is posted for you. When the preview looks right, copy the raw markdown and paste it into any channel or direct message. It works as a safe scratchpad for getting a tricky combination of bold, quotes, and code blocks right the first time, instead of editing a real message again and again in front of everyone.
Bold, italic, underline, strike, and code
The inline styles each wrap a span of text on both sides with the same marker. Two asterisks make text **bold**, a single asterisk or underscore makes it *italic*, two underscores add an __underline__ that is unique to Discord and not part of standard markdown, two tildes ~~strike it through~~, and a single backtick makes `inline code` that skips every other format inside it. These five are the styles you reach for most in everyday messages, and the toolbar above wraps whatever you have selected so you rarely type the symbols by hand.
You can nest these markers to combine effects. Three asterisks give ***bold italic*** at once, and you can layer an underline over bold italic by wrapping the whole thing in two more underscores for maximum emphasis. The order of the markers does not matter as long as each opening marker has a matching closing marker around the same text. Because inline code disables every other format inside it, a single pair of backticks is the quickest way to make asterisks, underscores, or tildes appear literally in a short span, instead of escaping each symbol one at a time with a backslash.
Code fences, block quotes, and spoilers
For a block of code, open and close with three backticks on their own lines and put your code between them. Add a language name right after the opening backticks — ```js, ```py, ```json — and Discord applies syntax highlighting for that language, which is perfect for sharing snippets that stay readable and monospaced. A code fence preserves your line breaks and indentation exactly and, like inline code, ignores every other markdown symbol inside, so it doubles as a way to show raw formatting characters without them rendering.
Quotes and spoilers work at the line and span level. A greater-than sign and a space at the start of a line, > like this, makes a single-line block quote; three of them, >>>, turn every line that follows into one continuous quote until the message ends. To hide text behind a clickable box, wrap it in double vertical bars: ||spoiler||. Discord blacks it out until a reader taps to reveal it, which is ideal for plot twists, answers, or anything that should not spoil the channel at a glance. All three render live in the preview here.
Headers, lists, subtext, and masked links
Discord added block structure in 2023. Start a line with # for a large header, ## for a medium one, and ### for a small one — the space after the hashes is required, and headers only render inside messages, never in usernames or your About Me. A dash or an asterisk followed by a space begins a bulleted list, and a number with a period, like 1., begins a numbered list; indent the marker to nest a sub-item. For a line of small, muted grey text — handy for captions or footnotes — prefix it with -# subtext.
Masked links come with an important caveat. The syntax [text](https://example.com) shows a clickable label instead of a raw URL, but Discord only renders it in embeds and a handful of surfaces — in an ordinary chat message it stays as literal text, so do not rely on it there. Finally, to make any special character show up literally instead of triggering formatting, put a backslash directly before it: \*not italic\* prints the asterisks. That escape is the clean way to type a lone symbol, show a piece of syntax, or stop an accidental style from firing mid-sentence.
Frequently Asked Questions
How do I make text bold in Discord?
Wrap the words in two asterisks on each side: **like this**. Discord renders everything between the pairs in bold. Combine it with italics using three asterisks for ***bold italic***, or select the text and hit the bold button in the toolbar above, which inserts the asterisks for you.
How do I make a spoiler tag in Discord?
Put double vertical bars around the text: ||spoiler here||. Discord hides it behind a grey box that a reader must click or tap to reveal, so it will not spoil anyone scrolling the channel. In the preview here it renders blacked-out and uncovers on click, exactly like the real app does.
How do Discord headers work (how do I make big text)?
Begin a line with # and a space for a large header, ## for a medium one, or ### for a small one. There is no bigger size — # is the largest text Discord offers. Headers only render inside messages, not in usernames or your About Me, and the space after the hashes is required.
How do I underline text in Discord?
Surround the text with two underscores: __underline__. This is unique to Discord and is not part of standard markdown, where double underscores mean bold. A single underscore, _like this_, gives italics instead, and you can stack them as __*underlined italic*__ when you need both at once.
How do I make a masked hyperlink in Discord?
Use the syntax [visible text](https://example.com) — the label shows as a clickable link and the URL is hidden. The catch is that masked links only render in embeds and a few surfaces, not in ordinary chat messages, where they stay as literal text. Bot and webhook embeds are the usual place they work.