Discord Text Formatter

Type, select, format

0 / 2,000

Blank page? Try a sample:

Check the preview, then copy

you

Click a spoiler in the preview to reveal it, the way Discord does.

By Cobra · Last updated

Discord formatting cheat sheet

Everything Discord's message box understands, as of October 2026. The left column is what you type; Discord hides the symbols once the message is sent. The formatter above writes all of these for you, and Discord's own Markdown Text 101 page covers the same ground.

You typeYou getWatch out for
**bold**bold
*italic* or _italic_italicStars must touch the words
__underline__underlineTwo underscores, not one
~~strikethrough~~strikethrough
||spoiler||A dark block until clicked
`inline code`inline codeNothing inside is formatted
```js
code
```
A code blockLanguage word goes right after the backticks
# HeaderHeaderAlso ## and ###, at the start of a line
-# small textsmall grey textStart of a line only
> quoteOne quoted lineSpace after the > is required
>>> quoteQuotes the rest of the messageCannot be ended early
- item or * itemA bullet listIndent with spaces to nest
1. itemA numbered list
[text](https://example.com)A link that shows only the texthttp:// or https:// only
\*not italic\**not italic*Backslash shows the next symbol as typed

Stacking styles

Markers combine. Open them in any order and close them in reverse, like nested brackets. Three stars is bold and italic at once, and Discord's own help page uses __***text***__ for underlined bold italics. A few that people ask for:

The one thing that does not stack is code. Inside backticks or a code block, stars, bars and underscores are shown exactly as typed, which is also the quickest way to show someone the syntax.

Why your formatting shows up as symbols

To show a symbol on purpose, put a backslash in front of it: \*, \_, \|\|, or \# at the start of a line. The "Show the symbols as typed" box does this to the whole message.

Worked example: a game night post

We loaded the sample above and wrote it the way most announcements start: #Game night is Friday and -#hosted by the mod team on the next line. The preview showed both lines as plain text with the symbols visible. Adding one space after # and after -# fixed both: a big header with a grey credit line under it.

The rest of the sample shows the common pieces in one post:

# Game night is Friday
-# hosted by the mod team, bring snacks

**When:** 8 PM Eastern, voice channel *Lounge*

## Rules
- Be on time
  - Spectators stay muted

> The prize is a ||month of Nitro||

Bold labels keep the details scannable, the two-space indent nests "Spectators stay muted" under the first rule, and the spoiler inside the quote keeps the prize hidden until someone clicks. The full sample in the tool, with its code block, is 393 characters, well under the 2,000 limit. For the start time itself, a Discord timestamp beats "8 PM Eastern", since it shows in each reader's own zone.

What this preview can't show

Building out the rest of the server? The emoji maker and sticker maker handle the images, and the Discord tools page has every limit in one table.

ToolPetal is not affiliated with, endorsed by, or sponsored by Discord. Discord is a trademark of Discord Inc. Formatting rules can change; we link to Discord's own guide so you can check.

Questions about Discord formatting

How do I make small text in Discord?

Start the line with -# and a space, like -# fine print goes here. Discord shows it as smaller grey text under the line above. Each line needs its own -#, and it only works at the very start of a line.

How do I make a header in Discord?

Put #, ## or ### and a space at the start of a line. One # is the biggest header and ### the smallest. Four or more # signs stay as typed, and so does a # with no space after it.

How do I make a spoiler in Discord?

Wrap the text in two vertical bars on each side, like ||this||. Readers see a dark block until they click it. For pictures, Discord lets you mark an attachment as a spoiler before you send it.

How do I stop Discord from formatting my text?

Put a backslash in front of the symbol, like \*this\*, or wrap the text in backticks so it shows as code. The escape option on this page adds the backslashes for you.

Why is my Discord formatting not working?

The usual causes: a header, -# line, quote or list that does not start the line or has no space after the symbol, text that sits inside a code block, or underscores in the middle of a word. Usernames, nicknames, channel names and role names never show formatting.

How do I combine bold, italic and underline in Discord?

Stack the markers and close them in reverse order. __***text***__ gives underlined bold italics, and ||**text**|| gives a bold spoiler.

Can I put a link behind text in Discord?

Yes. Type [the words](https://example.com) and Discord shows the words as a link. The address has to start with http:// or https://.