QuirkText

Discord Text Formatter

Type your message, select some text and click a button to wrap it in Discord markdown. The preview updates as you type, and one click copies the finished text.

Preview

Click a spoiler to reveal it. The preview is a close approximation, Discord itself is the final judge.

Runs entirely in your browser. Your data never leaves your device.

How to use it

  1. Type or paste your message into the box. A sample announcement is already there.
  2. Select a word and click Bold, Italic, Underline, Strike, Spoiler or Code. For lines, click Heading, Small, Quote or List.
  3. Use Link to turn the selection into a masked link. Check the preview, and click a spoiler to reveal it.
  4. Press Copy message and paste it into Discord. Discord does the final rendering, so the preview is a close guide only.

How Discord formatting works

Discord uses a small version of Markdown. You type a few symbols around your words, and the app turns them into bold, italics, spoilers and so on. There is no formatting toolbar in the message box, so you either remember the symbols or use a helper like the formatter above.

The buttons wrap your selected text in the right symbols. Heading, Small, Quote and List add a prefix to each selected line. The preview is a close approximation. Discord is the final judge, so send a test message if the formatting matters.

The syntax cheat sheet

You wantYou typeResult
Italic*text* or _text_text
Bold**text**text
Bold italic***text***text
Underline__text__text
Strikethrough~~text~~text
Spoiler||text||hidden until clicked
Inline code`text`monospace snippet
Code blockthree backticks, new line, text, new line, three backticksmulti-line monospace box
Heading# Big, ## Medium, ### Smallthree heading sizes
Subtext-# textsmall, muted line
Block quote> textindented quote bar
List- item or * itembulleted list
Masked link[words](https://example.com)clickable words

Discord's own help article, "Markdown Text 101", describes subtext as a -# prefix with a space after the symbol, masked links as bracketed text followed by a URL in parentheses, and block quotes with a > prefix. A >>> prefix quotes everything that follows in the message.

Worked example: a game night announcement

This is the sample text loaded in the tool:

# Game night
Doors open at **8 PM**. Bring *snacks*, not ||spoilers||.
> Last time we ran out of ~~pizza~~ chairs.
-# Reply here if you can make it

It renders as a large heading, a line with "8 PM" in bold, "snacks" in italics and a hidden spoiler, a quoted line with "pizza" crossed out, and a small muted reply request at the bottom. Four lines, six styles, no bot needed.

If you add a time, pair this tool with the Discord timestamp generator so "8 PM" shows in every reader's own time zone.

Step by step: formatting a message

  1. Type the plain message first. Format afterward, so you do not lose track of symbols.
  2. Select the exact words. A button with nothing selected inserts empty symbols, which you then fill in.
  3. Click one button for each style. Bold and italic can be combined by clicking both on the same selection.
  4. For line styles, put the cursor on the line, or select several lines, and click Heading, Small, Quote or List.
  5. Read the preview. Look for stray asterisks, which mean a pair is not closed.

Common mistakes

No space after the prefix

Headings, subtext, quotes and lists need a space after the symbol. #Title stays as plain text. # Title becomes a heading. The same goes for -#, > and -.

Unclosed or mixed-up pairs

Every opening symbol needs a matching closing one on the same side of the words. **bold* will not work. Count them if the output looks wrong.

Formatting inside code

Inside inline code or a code block, Discord shows symbols as typed. If you want a bold word, keep it outside the backticks.

A symbol you want to show as text

Put a backslash in front of it. \*not italic\* shows asterisks without italics. This is handy for usernames with underscores, such as my\_name.

Headings and the user's client

Headings, subtext and lists are newer additions to Discord markdown. If a member sees raw # or -# symbols, their app is probably out of date. Ask them to update.

Masked links

Include the full address with https://. Where masked links work can vary by client and by who posts the message, so test in a private channel first. Never hide a different address behind innocent words: members see through it, and it breaks trust fast.

Combining styles

Styles stack. Wrap a word in ||**text**|| and it is a bold spoiler. Put __**text**__ on a line and it is bold and underlined. Start a line with > and then use bold inside the quote. Keep the order tidy: close the symbols in the reverse order you opened them, like nested brackets.

A heading line can carry bold or a link too, but too much on one line is hard to read on a phone. Two styles per line is a sensible limit.

Line breaks

Press Shift+Enter for a new line inside a message on desktop. Enter alone sends it. List items, quotes and headings each need their own line, which is why the formatter adds the prefix to every selected line.

Length limits

A normal message holds 2000 characters. Symbols count toward that limit, so a long, heavily formatted rules post may need to be split across two messages.

Where each style helps a server

  • Rules channel: headings for sections, lists for the rules, bold for the consequences.
  • Announcements: a heading, one bold line with the key fact, subtext for the small print.
  • Spoilers: hide quiz answers, plot details and game results.
  • Support channels: code blocks for logs and commands, so spaces and line breaks survive.
  • Giveaways: bold for the prize, a countdown from the timestamp generator, and a quote for the rules.

Looking for color? Markdown has none. The Discord colored text generator builds ANSI code blocks instead, which have limits of their own.

Sources

Checked October 2026.

Frequently asked questions

How do I make text bold in Discord?

Put two asterisks on each side: **bold**. Italics use one asterisk or underscore on each side, and ***both*** gives bold italics. Underline uses two underscores: __text__.

How do I strike through text in Discord?

Wrap the text in two tildes: ~~crossed out~~. Select the words in the box above and click Strike, and the tool adds the tildes for you.

How do I make a spoiler in Discord?

Put two vertical bars on each side: ||hidden text||. Readers see a dark block and click it to reveal the text. It is useful for plot details, quiz answers and giveaway codes.

How do I make big headings in Discord?

Start a line with #, ## or ### followed by a space. One hash is the largest. For small, muted text under a message, start the line with -# . The space after the symbol is required.

Why is my Discord markdown not working?

The usual causes are a missing space after #, - or >, an unclosed pair of symbols, or text inside a code block, where markdown is shown as typed. A backslash before a symbol also turns it off. Fix those and the formatting renders.

How do I post a code block in Discord?

Put three backticks on a line, your text on the next lines, and three backticks on a final line. For one short snippet inside a sentence, use single backticks. Markdown inside code is not formatted.

How do I put a link behind words in Discord?

Write [link text](https://example.com). Include the full address with https. Behavior can differ by client and message type, so send a test message in a private channel before you post it to your community.

Can I make colored text with this tool?

No. Markdown has no color option. Use the Discord colored text generator for ANSI colors in a code block.