Discord Text Formatting: The Complete Guide (2026)
Discord has no formatting button. You type the symbols yourself — here's every code that works in 2026, and the nine reasons yours prints as plain text.
Discord has no font menu and no formatting ribbon in the message box. You type the symbols yourself — two asterisks for bold, two tildes for a strikethrough — and Discord renders them when you hit send. Learn the dozen or so codes once, and you can format anything in seconds.
Discord's Markdown is not standard Markdown. Underline is two underscores, headers need a space after the hash, and some things you expect — tables, for example — simply don't exist. The codes below follow Discord's own help pages, with the usual reasons they fail listed alongside them.
The cheat sheet — every code in one place
Print this, or keep it in a pinned message:
| Format | Type this | Watch out |
|---|---|---|
| Bold | **text** | No spaces inside markers |
| Italic | *text* or _text_ | Not underline |
| Underline | __text__ | Standard Markdown: bold |
| Bold + italic | ***text*** | Three asterisks each side |
| Strikethrough | ~~text~~ | Needs two tildes |
| Spoiler | ||text|| | Works mid-sentence |
| Inline code | `text` | Disables formatting inside |
| Code block | ```text``` | Add a language to highlight |
| Quote | > text | Needs a space |
| Multi-line quote | >>> text | No closing marker needed |
| Header 1 / 2 / 3 | # text / ## text / ### text | Max three levels |
| Subtext | -# text | 2024; needs a space |
| Bullet list | - text or * text | Needs a space |
| Numbered list | 1. text | Auto-renumbers |
| Masked link | [text](url) | No space between ] and ( |
| Timestamp | <t:1793923200:F> | See the timestamps section |
The underline row is the one other guides get wrong: __text__ is underline only on Discord, never bold. If you learned Markdown anywhere else, that one will bite you.
Headers and subtext: the two codes people mistype most
Headers arrived in 2023 and subtext in 2024, and both are still the codes people mistype most. A header is a hash, a space, then text — # Announcement is big, ## Rules medium, ### Note small. Only three levels exist: type #### and Discord prints it back at you.
Subtext is -# plus a space, and it shrinks the line to small grey text — about 13 pixels against the normal 16. It suits the line under a heading: a date, a disclaimer, a "read the rules first" nudge. Subtext is easy to overlook, and it earns its place in announcements for exactly that kind of fine print.
Quotes, lists, and links that actually work
A single > quotes one line. Three of them — >>> — quote everything after them to the end of the message, so you never need a closing marker. You can't nest quotes: a quote inside a quote renders as flat text.
A dash or an asterisk, a space, then the item. Numbered lists take 1. and Discord handles the counting. Masked links — [our rules](https://example.com/rules) — have worked since 2023 and hide a long URL behind a word. Wrap a bare URL in angle brackets, like <https://example.com>, and Discord hides the preview embed.
Timestamps: one time, every timezone
A timestamp like <t:1793923200:F> renders as a full date and time in each reader's own timezone. The number is a Unix timestamp, and the letter picks the style. There are nine:
tandT— short and long time (4:30 PM / 4:30:00 PM)dandD— short and long date (11/06/2026 / November 6, 2026)fandF— short and long date with time;fis the defaultsandS— the newest styles, dates with secondsR— relative time ("in 3 hours", "2 days ago")
You don't have to look up Unix numbers by hand: Discord added an @time shortcut in early 2026 that opens a date picker. For game nights and deadlines, R is the practical choice — "in 3 hours" needs no mental maths from anyone.
Spoilers, before and after you hit send
Wrap anything in double pipes — ||the killer is the butler|| — and it stays blacked out until someone clicks it. Spoilers work mid-sentence and across several lines.
Images get the same treatment: tick "Mark as spoiler" before you send. Since September 2026 you can also spoiler an image after sending it — right-click on desktop or long-press on mobile — so a spoiler sent by mistake can still be hidden afterwards.
Colored text is a hack — and the palette changed in August 2026
Discord has no color picker. The color in fancy server announcements comes from a hack: code blocks with syntax highlighting. In a diff block, + lines render green and - lines red; fix turns text yellow, ini turns it blue.
The full version is the ansi code block, where codes like [0;31m follow a real ESC character (U+001B) — you copy a ready-made block, since you can't type ESC. The part old guides get wrong: Discord swapped its ANSI palette in August 2026, so every background color from 40 to 47 changed, and any color table copied from a 2024 or 2025 guide is now wrong.
New codes are rolling out — italic (3), strikethrough (9) and RGB colors (38;2;R;G;B) were spotted in October 2026 — but not every account has them yet. And colors mostly render on desktop; on mobile, ANSI blocks usually show as plain monospace.
Where formatting works — and the fields where it never will
Markdown only renders in messages. Everywhere else, it prints as plain symbols. This is the table most guides skip:
| Field | Markdown? | Unicode fancy text? |
|---|---|---|
| Messages | Yes | Yes |
| About Me | No | Yes |
| Display name | No | Yes |
| Nickname | No | Yes |
| Server name | No | Yes |
| Username | No | No |
| Channel name | No | No |
Discord has no font picker — the app's font is gg sans, in use since December 2022 when it replaced Whitney. To make a display name or server name look different, use Unicode styled text: generate it with our Fancy Text Generator and paste it in. The Unicode font styles guide explains which styles hold up, and if a styled name shows as boxes on someone else's phone, the guide to why Unicode fonts show as boxes covers the fix.
Nine reasons your formatting prints as plain text
When formatting prints as plain symbols, it's almost always one of these — the first three cover most cases:
- Inside a code block. Backticks switch all formatting off.
- A space between the markers and the text.
** bold **fails;**bold**works. - A missing space after
#,-#,>or-.#Hellois not a header. - Wrong field. Usernames, channel names and server names never render Markdown.
- An unclosed marker. One
**with no partner formats nothing. - Wrong nesting order. Underscores go outside:
__**text**__works. - A single tilde does nothing. Strikethrough needs two:
~~text~~. - ANSI colors do not show on mobile. Fine on desktop, plain on your phone — that is normal.
- An old app version. Headers and subtext need a recent build — update first.
On mobile, long-press. On desktop, four shortcuts
Mobile has no keyboard shortcuts: long-press typed text and the formatting panel inserts the symbols for you. The tilde key lives on the symbols keyboard (123 or #+=). Everything in the cheat sheet works on mobile — except ANSI colors, which usually render as plain monospace.
On desktop and web, select text and press Ctrl+B (bold), Ctrl+I (italic), Ctrl+U (underline) or Ctrl+Shift+M (inline code) — Cmd on Mac. There is no official strikethrough shortcut, so type the two tildes by hand. Discord's own support pages list only these four, so treat any other claimed keybind as unverified.
A server announcement template
This announcement uses five codes at once. Copy it, swap in your own words, and send it as-is:
# 🎮 GAME NIGHT — FRIDAY -# Sign-ups close one hour before we start **When:** <t:1793923200:F> **Where:** voice channel #game-night **Bring:** yourself — ||no experience needed|| > First-timers welcome. Veterans, be nice. -# Questions? Ping a mod.
The header grabs attention, the subtext carries the fine print, and the timestamp shows the right hour in every member's timezone. That is the whole point of formatting: making the important line impossible to miss.
Discord Markdown is its own dialect
If you already write Markdown elsewhere, Discord will surprise you in three places: double underscores mean underline instead of bold, headers stop at three levels, and tables, HTML, footnotes and task lists do not exist. Other apps differ too — Slack and WhatsApp bold with a single asterisk (*bold*), while Discord needs two. Treat Discord's set as its own dialect.
Umar
Founder, Format Studio
Umar builds Format Studio's free creator tools and writes the practical guides.
Frequently Asked Questions
How do I make text bold in Discord?
Wrap the words in two asterisks with no spaces: **your text**. On desktop you can also select the text and press Ctrl+B (Cmd+B on Mac). The same pattern works for italic (*text*), underline (__text__) and strikethrough (~~text~~).
Why is my Discord formatting not working?
The three most common causes are: you are inside a code block (backticks switch formatting off), there is a space between the markers and the text (** bold ** fails), or you are typing in a field that never renders Markdown — usernames, channel names and server names. A missing space after #, -# or > and an unclosed marker cover most of the rest.
How do I make text bigger in Discord?
Use headers: # for the biggest, ## for medium, ### for small — always with a space after the hash. That changes the size of one message. To make all chat text bigger, use the chat font scaling slider in User Settings, under Appearance (newer desktop builds show it under Accessibility), which runs from 12 to 24 pixels.
How do I make small text in Discord?
Type -# followed by a space and your text. Subtext was added in 2024 and renders as small grey text, about 13 pixels against the normal 16. It is meant for disclaimers, dates and fine print under a header, and it only works in messages.
How do I spoiler text in Discord?
Wrap the text in double pipes: ||your text||. It stays hidden until someone clicks it, and it works mid-sentence and across several lines. For images, tick "Mark as spoiler" before sending — and since September 2026 you can also spoiler an image after sending it, from the right-click or long-press menu.
Can you change the font in Discord?
There is no font picker in Discord — the app uses its own font, gg sans, everywhere. The working method is Unicode styled text: generate a style with a fancy text generator and paste it into your display name, nickname, status, server name or About Me. Nitro subscribers also get Display Name Styles, preset looks added in late 2025, but those need Nitro.
Style Your Discord Name in Seconds
Generate bold, script, small caps and more for your display name, nickname or About Me — no app, no sign-up.