Discord Text Formatting: Every Markdown Trick That Works

by FreeFontsGeneratorPlatform guides8 min read
The word Discord shown in bold sans, monospace and small-capital Unicode styles

Discord gives you two different formatting systems and never tells you which one you are in. In a message box, markdown works: asterisks make bold, underscores make italic, and vertical bars hide a spoiler. In your username, your server nickname, a channel name or a role, markdown does nothing at all โ€” the asterisks just sit there as asterisks.

Knowing which of the two you are in is the whole skill. This page covers both: the complete markdown syntax for messages, and what to do in the places markdown is switched off.

Discord markdown formatting in messages

Discordโ€™s message box uses a cut-down version of markdown. Everything below is typed literally, including the symbols.

What you wantWhat you typeWhat Discord shows
Bold**text**text
Italic*text* or _text_text
Bold italic***text***text
Underline__text__text, underlined
Strikethrough~~text~~text
Spoiler||text||a black box until clicked
Inline code`text`text
Quote> textan indented block
Header# texta large heading
Masked link[label](url)a clickable label

Two notes people trip over. Underline is two underscores on each side, not one โ€” a single underscore gives italic, which is why _like this_ never underlines anything. And the combinations stack: ***__text__*** is bold, italic and underlined at once.

Code blocks and syntax highlighting

Three backticks open a multi-line code block, and a language name on the opening line turns on colour:

```js
const greeting = 'hello';
```

Discord uses highlight.js for this, so any language that library knows will work โ€” js, py, sql, diff, yaml and around two hundred others. The diff language is the practical one: lines starting with - go red and lines starting with + go green, which is the closest Discord has to coloured text without a bot.

Spoiler tags and quote blocks

A spoiler is two vertical bars either side: ||the butler did it||. It works inside other formatting, so **||bold spoiler||** is valid. Quotes are a > and a space at the start of a line; >>> quotes every line that follows until the end of the message.

Where Discord markdown does not work

This is the part that sends people looking for a font generator, usually without knowing why. Markdown is a feature of the message renderer. Discordโ€™s other text fields do not run it:

Type **Aurora** as a nickname and your nickname becomes, literally, **Aurora**. There is no setting to change this, and no bot can change it for you either โ€” a bot that โ€œboldsโ€ a role name is doing exactly what the next section describes.

How to get bold Discord names without markdown

The way around it is not formatting at all. It is choosing different characters.

Unicode โ€” the character standard behind every modern app โ€” contains a block called Mathematical Alphanumeric Symbols, encoded so that mathematicians could write ๐€ and ๐”„ and ๐”ธ as distinct symbols in a formula. Each of those is its own character with its own code point, not a letter with styling applied. That means they survive anywhere text survives, including every field where markdown is switched off.

StyleYour name in itUnicode block
Bold sans๐—”๐˜‚๐—ฟ๐—ผ๐—ฟ๐—ฎMathematical Alphanumeric Symbols
Italic sans๐˜ˆ๐˜ถ๐˜ณ๐˜ฐ๐˜ณ๐˜ขMathematical Alphanumeric Symbols
Monospace๐™ฐ๐šž๐š›๐š˜๐š›๐šŠMathematical Alphanumeric Symbols
Fraktur gothic๐”„๐”ฒ๐”ฏ๐”ฌ๐”ฏ๐”žMathematical Alphanumeric Symbols
Small capitalsแด€แดœส€แดส€แด€Phonetic Extensions
Fullwidth๏ผก๏ฝ•๏ฝ’๏ฝ๏ฝ’๏ฝHalfwidth and Fullwidth Forms

The Discord font generator on this site does the substitution for you and shows the result in a mock-up of Discordโ€™s own name field, so you can see the width before you paste it. For the underlying alphabets, the reference on mathematical alphanumeric symbols lists every character and every gap.

The trade-offs, said plainly

Three costs, and you should know all three before you rename yourself.

Search stops working. Discordโ€™s member search matches characters, not shapes. Nobody typing Aurora will find ๐—”๐˜‚๐—ฟ๐—ผ๐—ฟ๐—ฎ, because as far as the software is concerned those are different words. In a large server this is a real inconvenience for moderators.

Screen readers read them badly. A screen reader announcing ๐—”๐˜‚๐—ฟ๐—ผ๐—ฟ๐—ฎ may say โ€œmathematical bold small a, mathematical bold small uโ€ one character at a time, or skip the name entirely. The Unicode Consortiumโ€™s own FAQ is explicit that these characters are for mathematical notation and not a substitute for rich text.

Some servers ban them. AutoMod rules and third-party moderation bots often reject non-ASCII display names, either to keep member lists readable or to stop impersonation. If your nickname keeps reverting, this is why.

Formatting in Discord bios, statuses and server rules

Your About Me does not run markdown, but it does accept line breaks and any Unicode character. That combination is what most decorated Discord bios are made of: a styled heading line, a divider made of box-drawing characters, and plain text underneath so it stays readable.

๊’ฐ ๐—”๐˜‚๐—ฟ๐—ผ๐—ฟ๐—ฎ ๊’ฑ
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
she/her ยท 19 ยท UTC+2
art acc: @example

The Discord bio template page has layouts built this way, and the symbols collection has the dividers. Keep the actual information in plain letters โ€” a bio nobody can read is not a bio.

Quick answers

Why does __text__ not underline my nickname?
Because nicknames do not run markdown. Only the message box does.

Can I use coloured text in Discord?
Only inside a code block, using the diff or ansi language tags. There is no coloured text in ordinary messages, and no Unicode character carries colour.

Will styled text get me banned?
Not by Discord itself. Individual servers may block it in names, and some will ask you to change it.

Does this work on mobile?
Markdown does, everywhere. Unicode styles depend on the fonts installed on the device reading them โ€” Android and iOS both cover the mathematical block well, but older devices show empty boxes for parts of it. The piece on why Unicode fonts break explains what causes that.

Where to go next