Discord Text Formatting: The Complete Guide

Discord has the most capable text formatting of any mainstream chat platform, and most users know maybe a third of it. This guide covers the full Markdown syntax for messages, the colour trick almost nobody uses, and where Unicode fonts fill the gaps Markdown cannot reach.

Basic Markdown in Messages

EffectType thisResult
Italic*text*text
Bold**text**text
Bold italic***text***text
Underline__text__underlined text
Strikethrough~~text~~crossed out
Spoiler||text||hidden until clicked
Inline code`text`monospace inline
Quote> textindented quote block
Block quote>>> textquotes everything after

These combine freely. ***__~~text~~__*** gives you bold italic underlined strikethrough, which is rarely a good idea but does work.

Headers and Lists

Discord added Markdown headers in 2023, and they produce genuinely larger text โ€” the only way to increase font size natively.

Headers only work at the start of a line, and the hash needs a space after it.

Code Blocks and Coloured Text

Triple backticks create a code block. Add a language name after the opening backticks and Discord applies syntax highlighting โ€” which is how people produce coloured text, since Discord has no colour formatting of its own.

Type: ```diff then a new line, then - red text or + green text, then ```

Other useful ones: fix gives yellow, cs with text in quotes gives orange, ini with [brackets] gives blue, css gives red for text in brackets.

This is a hack rather than a feature, and colours only appear on desktop and web โ€” mobile Discord renders code blocks without highlighting in some versions.

Where Markdown Does Not Reach

Markdown works in messages. It does not work in any of these:

For all of those, Unicode fonts are the only option. Paste a bold, cursive or gothic version of the text and the styling sticks, because it lives in the characters rather than in formatting.

Styling Channel Names

Channel names are where Unicode does the most visible work on a server. Discord lowercases channel names and replaces spaces with hyphens, but it leaves most Unicode alone โ€” so a channel called ๐—ฎ๐—ป๐—ป๐—ผ๐˜‚๐—ป๐—ฐ๐—ฒ๐—บ๐—ฒ๐—ป๐˜๐˜€ keeps its weight, and decorative separators like ใ€ ใ€‘ or โ”Œโ”€ create visual grouping in the sidebar.

A common pattern is a divider channel with a name made purely of symbols, used as a section header that members cannot click into. Our symbols library has the bracket and line characters most used for this.

Nicknames, Names and What Gets Rejected

Server nicknames accept a wide range of Unicode, which is why styled names are everywhere on Discord. Two limits worth knowing. Discord normalises some characters โ€” certain lookalike scripts get converted back to plain Latin as an anti-impersonation measure. And Zalgo text, while it renders in messages, is often normalised or rejected in nicknames because stacked combining marks break the member list layout.

Many servers also run moderation bots that automatically rename accounts with unreadable names, so a fully corrupted nickname may not survive long.

Escaping Markdown

If you want to show the syntax rather than apply it, put a backslash before the character: \*not italic\* displays as *not italic*. This matters more than you would think โ€” filenames with underscores, like my_file_name, will otherwise italicise the middle section.

Accessibility Note for Server Admins

If you run a community server, this is worth taking seriously. Screen readers handle Discord's native Markdown correctly โ€” bold reads as emphasised text. They handle Unicode fonts poorly, often announcing character names or skipping content entirely. A server where every channel name is styled Unicode is genuinely difficult to navigate with assistive technology.

A reasonable middle ground: style category headers and decorative dividers, keep the actual channel names readable. You get the visual structure without locking anyone out.

Free Text Tools