Discord Markdown vs Unicode fonts: which one do you need?

A side-by-side of what Discord Markdown can format (bold, italic, spoilers, headers) versus what pasted Unicode letters add to nicknames, channel names and statuses.

Discord has two completely separate ways to make text look different, and people constantly reach for the wrong one. Markdown is built into the message box: type two asterisks around a word and it comes out bold. Unicode fonts are pasted characters that look styled on their own, with no syntax at all. The first works only inside messages; the second works almost everywhere else. Knowing which is which saves a lot of “why is my nickname full of asterisks” moments.

What Discord Markdown can do

Markdown is a formatting shorthand that Discord converts when it displays a message. It is invisible to the reader, it uses Discord’s own font, and it is read perfectly by screen readers because the underlying letters are ordinary. The full set at the time of writing:

Effect What you type Notes
Italic *text* or _text_
Bold **text**
Bold italic ***text***
Underline __text__ Can combine with the above
Strikethrough ~~text~~
Inline code `text` Monospace, grey background
Code block ```text``` Add a language name after the opening backticks for syntax colouring
Spoiler ||text|| Hidden until clicked
Header # , ## , ### at the start of a line Three sizes; must be the first thing on the line
Subtext -# at the start of a line Small, muted text
Quote > or >>> Single line or the rest of the message
Bulleted list - or * Nested with two spaces
Numbered list 1.
Masked link [label](https://...) Discord shows a warning on click for non-trusted users

A few things Markdown will never do: change the typeface, change the colour of ordinary text, or apply to anything that is not a message. Nicknames, display names, server names, channel names, role names, custom statuses, “About me” bios and thread titles all ignore Markdown completely. Type **Nova** into the nickname box and your name will literally be Nova with the stars showing.

There is one trick within Markdown for colour: certain code-block language names (diff, fix, ini, css) colour parts of the block, which some servers use for coloured announcements. It is fragile, breaks on mobile in places, and is not readable as normal text, so treat it as a novelty.

What Unicode letters add

Unicode fonts are not formatting. Each 𝕹 or ɴ is a real character with its own code point that happens to resemble a styled letter. Discord stores it like any other text. That has two consequences that matter here.

First, the styling survives in places Markdown cannot reach. Anything that accepts text accepts these characters:

Second, the style is fixed at paste time. Markdown adapts to the reader’s theme and font size; a Unicode letter always looks like that letter, and on a device without the right font it becomes a box. The why fonts show as boxes guide explains which styles are safest; for Discord, Bold Sans, Bold Serif, Small Caps and Double Struck are broadly safe on desktop and mobile.

Side by side

Goal Markdown Unicode font
Emphasise a word in a message Yes, **word** Possible, but unnecessary
Hide a spoiler Yes, ||word|| No
Code or monospace Yes, backticks Typewriter Mono style, no grey box
Headers in an announcement Yes, # Title Bold Sans as a workaround, no size change
Styled nickname No Yes
Styled channel name No Yes
Styled custom status No Yes
Gothic, cursive or bubble letters No Yes: Gothic Fraktur, Bold Cursive, Bubble
Upside-down or mirrored text No Yes
Read correctly by screen readers Yes Often no
Searchable in Discord search Yes No; search does not match styled letters
Looks the same on every device Yes Usually, but not guaranteed

The short version: inside a message, use Markdown. Outside a message, Unicode is the only option. If you want a look Markdown cannot produce, such as a Gothic Fraktur clan name or a ꜱᴍᴀʟʟ ᴄᴀᴘꜱ divider, Unicode is the tool even in messages.

Practical patterns servers use

Nicknames with a tag. A bracketed clan tag plus a styled name, for example 「ᴋɪɴɢ」 𝗡𝗼𝘃𝗮. The discord fonts page has frames like ☬ and 【】 built for this. Keep it under 32 characters including the frame.

Channel prefixes. Many servers give each channel a symbol prefix such as 📌, ┃ or ꒰, then a lowercase styled word. Because channel names appear in the sidebar at a small size, thin styles (Cursive Script, Italic Serif) look scratchy there; Bold Sans, Bold Italic Sans and Small Caps stay crisp. The symbols collection has the vertical bars, dots and arrows people use as separators.

Role headers. Some admins create hoisted roles with names like ─── ꜱᴛᴀꜰꜰ ─── purely to act as headings in the member list. This works because role names accept any text and Unicode dividers draw at the same width on most fonts.

Statuses and bios. A Small Caps or Bold Cursive status line reads as a signature. The About me section supports Markdown links but not other formatting, so styled letters are the only way to make a bio line stand out.

For a competitive look, the gaming fonts page groups the styles that suit gamer tags, and the gothic fonts page collects Fraktur and Old English variants for darker server themes.

Zalgo and glitch text etiquette

Glitch text, often called Zalgo, stacks dozens of combining accent marks on each letter so the text appears to bleed upward and downward across other lines. Discord renders it, and that is precisely the problem. Heavy glitch in a message overlaps the messages above and below, hides usernames and timestamps, and on some clients makes the whole channel scroll strangely. Used as a nickname it spills over the member list; used as a channel name it can make the sidebar unreadable.

Most moderated servers treat this as spam or “unreadable text” under their rules, and the Discord automod can be configured to block messages with a high density of combining characters. Practical guidelines:

The glitch fonts page includes the lighter version alongside the heavy one so you can pick a level that fits the room.

Quick checklist