# Discord text formatting: bold, italics, underline, spoilers, small text and more

Canonical: https://postmesh.app/blog/discord-text-formatting

By PostMesh team. Published 2026-10-31; updated 2026-10-31.

Discord formats text with Markdown: put one asterisk on each side of your text for italics, two asterisks for bold, two underscores for underline, two tildes for strikethrough and two vertical bars for a spoiler. Start a line with a hash and a space for a header, or with a hyphen, a hash and a space for small subtext.

Discord doesn't have a font menu for messages. Instead, it reads a few symbols you type around your words and turns them into formatting when you send the message. This system is called Markdown, and Discord's [developer documentation](https://docs.discord.com/developers/reference) describes its version as "a subset of markdown". This guide covers every format Discord documents, mainly from its [Markdown Text 101](https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline) and [Spoiler Tags](https://support.discord.com/hc/en-us/articles/360022320632-Spoiler-Tags) articles. Where Discord doesn't document something, such as syntax highlighting and escaping, the guide says so and tells you where the method comes from.

Some symbols are written out in words here, because this page can't show them literally. Two asterisks means you press the asterisk key twice.

## The short answer

Type the symbols right before and right after the text you want to change, with no space between the symbols and the words. These are the styles people look for most:

| To get | Type this around your text | Shortcut on desktop and in a browser |
| --- | --- | --- |
| Bold | Two asterisks on each side | Ctrl+B on Windows, Command+B on a Mac |
| Italics | One asterisk or one underscore on each side, like *this* or _this_ | Ctrl+I or Command+I |
| Underline | Two underscores on each side, like __this__ | Ctrl+U or Command+U |
| Strikethrough | Two tildes on each side, like ~~this~~ | None listed by Discord |
| Spoiler | Two vertical bars on each side | Select the text and click the eye icon |
| Small text (subtext) | A hyphen, a hash and a space at the start of the line, like -# this | None listed by Discord |
| Header | One, two or three hashes and a space at the start of the line | None listed by Discord |
| Inline code | One backtick on each side | Type the backticks |

Discord's [commands and shortcuts guide](https://support.discord.com/hc/en-us/articles/31232432266647-Discord-Commands-Shortcuts-and-Navigation-Guide) says keyboard shortcuts only work in the browser and desktop versions. On a phone, you type the symbols yourself. The one exception is spoilers on iPhone and iPad, which have their own menu option, covered below.

**Where are you trying to format text?**
- A message in a channel, DM or thread → Use Markdown. Every format in this guide works there.
- Your About Me → Markdown and links work, and the symbols count toward the bio limit. Preview before saving.
- Your display name, a server nickname or a channel name → Discord doesn't document Markdown there. Use Nitro's Display Name Styles or Unicode letters.
- Your username → Neither works. Usernames allow only a to z, 0 to 9, periods and underscores.

*Markdown is for messages and your bio. Names follow different rules.*

## How do I bold text in Discord?

Put two asterisks before the text and two asterisks after it, with no space between the asterisks and the words. If you type two asterisks, the word gg, and two more asterisks, Discord sends gg in bold. Bold works on one word, a phrase or a whole sentence, and you can bold several separate parts of the same message.

In the desktop app or in a browser, you can also select the text in the message box and press Ctrl+B on Windows or Command+B on a Mac. Discord's shortcuts guide lists this one, along with the shortcuts for italics and underline below.

### Bold on a phone

Discord's shortcuts guide says keyboard shortcuts only work in the browser and desktop versions, so in the Android or iOS app you type the asterisks yourself. Switch your keyboard to its symbols to find the asterisk, type two before the word, the word, then two after it.

> If what you want is bold-looking letters somewhere Markdown doesn't work, such as a display name, our [Discord bold text generator](/tools/discord-bold-text-generator) gives you Unicode letters that look bold. Read the section on Unicode letters below first, because they come with real downsides.

## How do I italicize in Discord?

Put one asterisk or one underscore on each side of the text: *like this* or _like this_. Both give the same italics, according to Discord's Markdown article. In the desktop app or a browser, select the text and press Ctrl+I (Command+I on a Mac) to do the same thing.

If your words already contain underscores, as some usernames do, use asterisks so the symbols don't get tangled. If they contain asterisks, use underscores. Either way, a backslash stops a stray symbol from formatting anything, as covered later.

## How do I underline in Discord?

Put two underscores on each side of the text: __like this__. In the desktop app or a browser, select the text and press Ctrl+U on Windows or Command+U on a Mac.

Underline is where counting matters most. One underscore on each side gives italics. Two gives underline. If your underline comes out slanted instead, check that you typed two underscores, not one, on both sides.

Discord's shortcuts guide lists Ctrl+U (Command+U) twice: once for underlining text, and once for showing or hiding a channel's member list. If the member list opens when you meant to underline, click back into the message box, select your text and try again.

## How do I strikethrough or combine styles?

### Strikethrough

Put two tildes on each side: ~~like this~~. The tilde is the small wavy line. On a standard US keyboard, it shares a key with the backtick, at the top left below Esc, and you type it with Shift. On a phone, it's in the keyboard's symbols.

Discord doesn't list a shortcut for strikethrough, so you type the tildes on every device. It's handy for jokes, for showing an edit so readers can see what changed, and for ticking items off a list.

Need crossed-out text somewhere Markdown doesn't work? The [strikethrough text generator](/tools/strikethrough-text-generator) adds a Unicode stroke character after each letter instead. It looks similar, but it carries the same accessibility problems as other Unicode styling.

### Combining bold, italics and underline

You can stack styles by nesting the symbols inside each other. Discord's Markdown article gives these combinations:

| Style | What to type before the text | What to type after the text |
| --- | --- | --- |
| Bold italics | Three asterisks | Three asterisks |
| Underline italics | Two underscores, then one asterisk | One asterisk, then two underscores |
| Underline bold | Two underscores, then two asterisks | Two asterisks, then two underscores |
| Underline bold italics | Two underscores, then three asterisks | Three asterisks, then two underscores |

For example, underline italics looks like __*this*__ when you type it. In every one of Discord's examples, the underscores for underline sit on the outside and the asterisks sit inside them. Keep that order and close the symbols in reverse: the last symbol you opened is the first one you close.

Discord's article only shows underline paired with bold and italics. It doesn't show strikethrough or spoilers combined with other styles. If you want to try one of those, send a test message somewhere quiet first, such as a server only you are in, before posting it somewhere busy.

**Desktop app and browser**
- Type the symbols, or select text and press Ctrl or Command with B, I or U
- Select text and click the eye icon to make a spoiler
- Change how spoilers show in User Settings › Text & Images

**iPhone and iPad**
- Type the symbols yourself
- Select text, tap it, then tap Mark as Spoiler
- Keyboard shortcuts don't apply

**Android**
- Type the symbols yourself
- Type two vertical bars on each side for a spoiler
- Keyboard shortcuts don't apply

*The symbols work everywhere. Shortcuts and spoiler menus depend on the device.*

## How do I spoiler text on Discord?

A spoiler hides text behind a block until someone clicks or taps it. Discord's Spoiler Tags article gives four ways to make one, and they all produce the same result: two vertical bars around the hidden part.

### Type two vertical bars on each side

Wrap the text in two vertical bars, also called pipes: ||like this||. You can hide one word, a sentence or the whole message, and you can hide several separate parts of one message. Discord's article says the same syntax works on mobile, so this is the method that works everywhere.

On a standard US keyboard, the vertical bar is Shift plus the backslash key, which sits above Enter. On a phone, look in the keyboard's symbol pages.

### Use the eye icon on desktop

In the desktop app or a browser, select the text in the message box and click the eye icon. Discord marks that part as a spoiler, and you'll see the two bars appear before and after your selection.

### Use Mark as Spoiler on iPhone and iPad

On iOS, select the text in the message box and tap the selection to open its menu, then tap Mark as Spoiler. Discord wraps the text in bars for you. Discord's article describes this menu for iOS specifically. On Android, type the bars.

### Start the message with /spoiler

Type /spoiler before your message to send the whole thing as a spoiler. Discord's [known issues page for its message box](https://support.discord.com/hc/en-us/articles/360037842511--Known-Issues-New-Chat-Text-Box) notes two quirks that are expected behavior: the message box doesn't preview slash commands like /spoiler, so your text looks plain until you send it, and the character counter may count the command itself even though it isn't part of the sent message.

### Spoiler images, videos and links

To hide a picture or video, add it to your message, then click the Mark as Spoiler eye icon on the attachment before you send. To hide a link, put two vertical bars before and after the URL, on desktop or mobile.

1. Add the image or video to your message
2. Click the eye icon on the attachment
3. Add any text, with bars around spoiler words
4. Send the message

*Attachments get their own eye icon before you send. Text needs the bars.*

### What spoiler tags can't hide

- Text inside a code block. Discord's articles say spoiler text inside code blocks won't be hidden, so keep the bars outside any backticks.
- Server invite embeds. Discord says these can't be hidden with spoiler tags.
- Anything already revealed. Once you click a spoiler it stays open, though Discord's article says you can hide revealed spoilers again by leaving the channel.

### How do I change how spoilers show for me?

Each person decides how spoilers appear on their own screen. In the desktop app or a browser, go to User Settings › Text & Images. Discord's article lists three options:

- On click: spoilers stay hidden until you click them.
- On servers I moderate: spoilers show automatically in servers where you have a role with the Manage Messages permission.
- Always: spoilers are never hidden for you.

Discord desktop or browser: User Settings › Text & Images

*Discord says this setting can only be changed on desktop or in a browser.*

This setting is a common reason spoilers seem broken. If you picked Always, your own spoilers won't look hidden to you, even though they're still hidden for everyone else.

### Spoiler channels for whole conversations

If your server discusses a show or game every week, tagging each message gets tiring. Discord's [Spoiler Channels FAQ](https://support.discord.com/hc/en-us/articles/40248967926167-Spoiler-Channels-FAQ) describes a channel setting that hides the whole channel behind a notice until each member chooses to view it. It works for text, voice, forum and announcement channels, and you set it up on desktop or in a browser.

1. **Open the channel's settings**: Press the Edit Channel icon to the right of the channel name in your channel list.
2. **Find Content Visibility**: It's in the channel's Overview tab.
3. **Turn on Spoiler Channel**: Select the Spoiler Channel toggle, then press Save Changes.

Discord desktop or browser: Edit Channel › Overview › Content Visibility › Spoiler Channel

*Write a clear channel topic: Discord shows it on the notice members see first.*

Once someone opts in, they don't see the notice again. Unlike age-restricted channels, spoiler channels don't trigger age verification, and Discord's Community Guidelines still apply inside them.

## How do I make small text in Discord?

Discord calls small text subtext. Start the line with a hyphen, a hash and a space, then your text: -# like this. That line shows up as smaller subtext under the rest of your message.

Two rules from Discord's article trip people up. First, the hyphen and hash must be the very first characters of the line, just like a header, so typing them in the middle of a sentence does nothing. Second, you need a space after the hash. To put subtext under a normal line, press Shift+Enter to start a new line in the same message, then type the subtext.

Subtext suits footnotes, credits and small print, like a line under an event announcement saying when sign-ups close.

### Small text in your bio or name

Discord's Markdown article describes subtext for chat messages. Its [Custom Profiles](https://support.discord.com/hc/en-us/articles/4403147417623-Custom-Profiles) article says the About Me can contain Markdown, but it doesn't list which styles show on a profile, so check the preview before saving. For a display name, where Discord doesn't document Markdown at all, the closest thing to small text is Unicode small capital letters, which our [small caps generator](/tools/small-caps-generator) makes. They look like smaller capitals rather than subtext, and they carry the accessibility costs explained later in this guide.

## How do I make headers, masked links, lists and quotes?

### Headers

Start a new line with one, two or three hash signs, then a space, then your text. One hash gives a big header, two give a smaller header and three give an even smaller one. Discord's article stresses the space: one hash, a space and the word Rules makes a header, while a hash pressed right up against the word doesn't.

| Type at the start of a line | Result |
| --- | --- |
| One hash and a space, like # Rules | Big header |
| Two hashes and a space, like ## Voice channels | Smaller header |
| Three hashes and a space, like ### Before you post | Even smaller header |

Headers have to be the first thing on a line, and Discord's article only documents these three sizes. In everyday chat a big header reads like shouting, so save them for posts people come back to, like pinned rules.

### Masked links

A masked link shows words instead of a raw URL, and the words are clickable. Put the text you want shown in square brackets, then the full web address in round brackets straight after it, with no space between the two. For example, typing [Event schedule] followed immediately by the address in round brackets shows the words Event schedule as a link.

Discord's Custom Profiles article says links work in your About Me too. The bio limit counts links, so the full address inside the round brackets uses up characters even though readers only see the label.

> The label of a masked link can say anything, and the address behind it can go anywhere. Treat masked links from people you don't know with the same care as any other link, and only click if you trust the sender.

### Bulleted and numbered lists

Start each line with a hyphen or an asterisk, then a space, to make a bulleted list. Discord's article also lists a number followed by a period, such as 1., as a list marker, which gives you a numbered list. Put each item on its own line by pressing Shift+Enter between them.

To indent an item under another one, add two spaces before its hyphen or asterisk. That's how you make sub-points, for example a line about game night followed by an indented line about what to bring. Discord's article is firm about the space after the marker, the same as with headers.

### Block quotes

Type a greater-than sign (>) and a space at the start of a line to turn that line into a quote. To quote several lines at once, type three greater-than signs (>>>) and a space before the first line, and the lines after it join the same quote.

Quotes are useful for replying to one line from a long message, for setting off the exact wording of a rule, or for showing what someone said before you answer it. Discord's article asks for a space after the greater-than sign here too.

## How do I make a code block in Discord?

Code formatting shows text on a shaded background, exactly as you typed it. It's meant for code, but it's also the easiest way to show symbols without Discord turning them into formatting.

### Where is the backtick key?

The backtick is not the apostrophe. On a standard US keyboard, it's the key at the top left below Esc, shared with the tilde. On a phone, look through the keyboard's symbol pages.

### Inline code

Put one backtick on each side of a word or short phrase to format it as inline code, such as a command or file name in the middle of a sentence. Discord's known issues page notes that the backticks stay visible inside the shaded background while you type, which is expected.

### Multi-line code blocks

For several lines, put three backticks on their own line before the text and three more on their own line after it. Discord's article shows a short poem formatted this way. Everything between them is shown as typed.

### How do I add syntax highlighting?

Discord's help center doesn't explain how to color code, but its known issues page refers to syntax highlighting in code blocks, so the feature exists. The method comes from standard Markdown. The [CommonMark specification](https://spec.commonmark.org/0.31.2/), section 4.5, says the first word after the opening three backticks is typically used to name the code's language. So you type three backticks followed straight away by the language name, such as python or js, then your code on the following lines, then three backticks on a line of their own.

1. Type three backticks, then the language name
2. Press Shift+Enter and paste your code
3. Press Shift+Enter at the end of the code
4. Type three backticks on their own line
5. Send the message

*Ending with three backticks on their own line keeps the last line highlighted.*

Two cautions. Discord doesn't publish a list of the language names it recognizes, so if your code stays plain, try another common name for the same language. And Discord's known issues page says highlighting switches off on the last line if the closing backticks don't sit on their own line, so always finish with a fresh line of three backticks.

### Code blocks switch off other formatting

Text inside code formatting shows as typed, symbols and all, so you can use it to show a new member what the formatting symbols look like. It's also why Discord's spoiler articles warn that bars inside a code block won't hide anything. Discord's engineering team described the same principle in a [2018 post about rendering messages on Android](https://discord.com/blog/how-discord-renders-rich-messages-on-the-android-app), where bold text showing up inside code blocks is listed as a bug, because formatting shouldn't apply there.

### How do I stop Discord from formatting my text?

Sometimes you want the symbols to show as they are. A username like big_cat_fan, a math expression with asterisks or an emoticon built from underscores can all come out mangled. There are two fixes: a backslash, or code formatting.

In standard Markdown, a backslash in front of a punctuation character makes that character show as typed instead of formatting your text. The CommonMark specification, section 2.4, says any ASCII punctuation character can be escaped this way, and that a backslash before any other character just shows as a backslash. So typing \*not italic\* shows the asterisks instead of italic text.

Discord's help center doesn't cover escaping, though its known issues page mentions how the message box treats backslashes near code blocks. The backslash is the standard method, so put one directly before each symbol you want to keep. On a standard US keyboard, the backslash is the key above Enter, shared with the vertical bar.

The second fix is code formatting. Wrapping text in backticks shows everything literally, as described above. This suits longer text with lots of symbols, though it does change how the text looks. In standard Markdown, backslashes inside code are shown as typed, so you don't need to escape anything there.

## Discord Markdown cheat sheet

Here is every format from Discord's help articles in one table, plus the two standard Markdown methods Discord doesn't document. Unless the table says to add a space, the symbols go right next to the text.

| Format | What to type | Where it goes | Notes |
| --- | --- | --- | --- |
| Italics | One asterisk or one underscore on each side | Around the text | Ctrl+I or Command+I on desktop and web |
| Bold | Two asterisks on each side | Around the text | Ctrl+B or Command+B on desktop and web |
| Bold italics | Three asterisks on each side | Around the text | From Discord's article |
| Underline | Two underscores on each side | Around the text | Ctrl+U or Command+U on desktop and web |
| Underline italics | Two underscores, then one asterisk, on each side | Around the text | Underscores go outside |
| Underline bold | Two underscores, then two asterisks, on each side | Around the text | Underscores go outside |
| Underline bold italics | Two underscores, then three asterisks, on each side | Around the text | Underscores go outside |
| Strikethrough | Two tildes on each side | Around the text | No shortcut listed |
| Spoiler | Two vertical bars on each side, or /spoiler before the message | Around the text | Not hidden inside code |
| Big header | One hash, then a space | Start of a line | Space required |
| Smaller header | Two hashes, then a space | Start of a line | Space required |
| Even smaller header | Three hashes, then a space | Start of a line | Space required |
| Subtext (small text) | A hyphen and a hash, then a space | Start of a line | Space required |
| Masked link | Text in square brackets, then the URL in round brackets | Anywhere in the message | Also works in your About Me |
| Bulleted list | A hyphen or an asterisk, then a space | Start of each line | Two spaces before it to indent |
| Numbered list | A number and a period, then a space | Start of each line | Space required |
| Block quote, one line | A greater-than sign, then a space | Start of the line | Space required |
| Block quote, several lines | Three greater-than signs, then a space | Start of the first line | Lines after it join the quote |
| Inline code | One backtick on each side | Around the text | Shown exactly as typed |
| Code block | Three backticks on their own line before and after | Own lines | Add a language name after the first three for highlighting |
| Show a symbol as typed | A backslash before the symbol | Directly before the symbol | Standard Markdown, not in Discord's help center |

### Timestamps that show in everyone's time zone

One more code is worth knowing if you plan events. Discord's developer documentation lists timestamps: an opening angle bracket, the letter t, a colon, a Unix timestamp in seconds and a closing angle bracket. The docs say a timestamp displays in each reader's own time zone and locale, so members in London and Los Angeles both see the event in their local time. Add a second colon and a style letter before the closing bracket to change the look: a capital R shows relative time, such as 4 years ago, and t, T, d, D, f, F, s and S give shorter or longer dates and times.

## Where does Discord formatting work, and where doesn't it?

Discord's support articles describe Markdown in two places: chat messages and your About Me. For names and channel names, they don't mention Markdown at all, and usernames have strict character rules. Here's what each place accepts, going by Discord's own articles.

| Where | What Discord's articles say | How to style it |
| --- | --- | --- |
| Chat messages | Markdown is documented for chat messages | Markdown |
| About Me (bio) | 300 characters since September 2026, counting Markdown, links and emojis; Unicode characters allowed | Markdown, or Unicode letters for a styled look |
| Display name | 1 to 32 characters; special characters, spaces, emojis and non-Latin characters allowed; no mention of Markdown | Nitro Display Name Styles, or Unicode letters |
| Server nickname | Needs the Change Nickname permission; no mention of Markdown | Unicode letters, if the server lets you change it |
| Username | 2 to 32 characters: lowercase a to z, 0 to 9, underscores and periods only | Plain letters only |
| Channel name | 1 to 100 characters in Discord's developer docs; no mention of Markdown | Unicode letters or emojis, used with care |

### Your About Me

Discord's Custom Profiles article lists Markdown text and links, emojis and Unicode characters as allowed in the About Me, and says the character count includes emojis, Markdown text and links. That article still gives the limit as 190 characters, but Discord's [September 25, 2026 update](https://discord.com/blog/discord-update-september-25-2026) raised the bio limit from 190 to 300. Nitro subscribers can also use custom emojis there.

Discord's [August 11, 2026 changelog](https://discord.com/blog/discord-update-august-11-2026-changelog) also added formatting tools on desktop for styling your bio without typing Markdown, which Discord calls a WYSIWYG editor (what you see is what you get). Either way, check View Full Profile in the profile preview before you press Save, as the Custom Profiles article suggests.

Because the symbols count, a bio with lots of formatting runs out of room fast. The [Discord character counter](/tools/discord-character-counter) shows how much space you have left, and our list of [Discord bio ideas](/blog/discord-bio-ideas) has examples that use formatting sparingly.

### Display names

Discord's [usernames and display names](https://support.discord.com/hc/en-us/articles/12620128861463-New-Usernames-Display-Names) article says a display name can be 1 to 32 characters and can include special characters, spaces, emojis, and uppercase, lowercase and non-Latin characters. It's the name people see most. The article doesn't mention Markdown, so don't expect asterisks to make a display name bold.

Discord does offer real fonts for display names, as a paid feature. Its [Display Name Styles FAQ](https://support.discord.com/hc/en-us/articles/33833879643927-Discord-Display-Name-Styles-FAQ) says Nitro subscribers can pick a font, an effect and a color for their display name. The fonts listed are gg sans (Discord's default), Tempo, Sakura, Jellybean, Modern, Medieval, 8Bit, Vampyre, Monkey Bars, Mainframe, Headbang and Journal, and the effects are Solid, Gradient, Neon, Toon, Pop, Gummy and Prism. People without Nitro can preview the styles but can't save them.

In servers, only the font shows, and your role color replaces the color and effect. Anyone who prefers plain names can turn the styles off under Accessibility in their settings. Because these are real fonts applied to your normal display name, they avoid the screen reader and search problems of Unicode letters.

Without Nitro, the way to style a display name is to paste Unicode letters, covered below, within Discord's Community Guidelines.

### Server nicknames

A server nickname replaces your display name inside one server. Discord's [Server Nicknames](https://support.discord.com/hc/en-us/articles/219070107-Server-Nicknames) article says you need a role with the Change Nickname permission; then you can choose Edit per-server profile from your name in the member list, or type /nick followed by the new name. The article doesn't list character rules, so Unicode letters are the way to style it, and anyone can still click your profile to see your real username.

### Usernames

Usernames are the strictest. Discord's article says they must be 2 to 32 characters, are forced to lowercase, and can only use the letters a to z, the numbers 0 to 9, underscores and periods, with no two periods in a row. Styled Unicode letters aren't on that list, so a username can't be bold, italic or fancy. Put the style in your display name instead. The [Discord name generator](/tools/discord-name-generator) suggests names you can adapt to those rules.

### Channel names

Discord's [developer documentation for channels](https://docs.discord.com/developers/resources/channel) gives channel names a length of 1 to 100 characters and says nothing about formatting them, and the help center doesn't describe Markdown in channel names either. If you restyle channel names with Unicode letters or emojis, remember that members using screen readers hear each name, and someone searching for a channel by its plain name may not find it.

- 300: Characters in a bio since September 2026, formatting included
- 32: Characters at most in a username or display name
- 100: Characters at most in a channel name
- 3: Header sizes Discord documents

*Sources: Discord's September 25, 2026 update, its usernames article, its channel developer docs and Markdown Text 101.*

## Why aren't Unicode fonts real formatting?

Font generators, including ours, don't change Discord's font. They swap each letter for a different character that looks like a styled letter. Most of these characters come from a section of Unicode called Mathematical Alphanumeric Symbols, which exists so people can write mathematical variables like a bold x. To your phone, a bold-looking A from that block isn't the letter A with bold applied. It's a separate symbol.

The [Unicode Standard](https://www.unicode.org/versions/Unicode18.0.0/core-spec/chapter-22/) is direct about this. Section 22.2.1 of version 18.0 says these characters are intended for mathematical and technical notation and should not be used to style ordinary text. Discord's Markdown works the other way around: your letters stay normal letters, and the formatting is added on top. That difference has three practical effects.

### Screen readers may skip them or read out symbol names

A screen reader reads characters, not appearances. The disability charity Scope explains in a [2021 guide by Holly Tuke](https://business.scope.org.uk/accessibility-screen-readers-special-characters-and-unicode-symbols/) that screen readers may skip these characters entirely or read out something irrelevant, such as the long Unicode name of each letter. Even a short word can take a long time to get through. Texas Tech University's [accessible social media guide](https://www.ttu.edu/accessibility/digital-accessibility/accessibility-topics/social.php) gives the same warning: these are mathematical symbols, not fonts, and screen readers can't read them as words. A styled announcement that looks fine to you can be silent or garbled for a blind member of your server.

### Search may not find them

Search matches characters, so a word spelled with styled letters doesn't match the same word typed normally. Designer and accessibility writer Per Axbom makes this point in his [2023 article on faking bold and italic text with Unicode](https://axbom.com/dont-fake-bold-and-italic-text-with-unicode): text written this way won't be found through search engines, because the characters are different from standard text. The same logic applies to any search box, so members searching your server for the plain word may miss a message written in styled letters.

### Some devices show boxes

Styled letters only display if the reader's device has a font that includes them. Per Axbom notes that some older devices may show question marks instead, and our own font tools warn that a few older devices may show some of the characters as boxes. Discord's Display Name Styles FAQ mentions a related fallback for its real fonts: some symbols switch to gg sans.

**Discord Markdown**
- Normal letters with formatting added on top
- Screen readers read the words as words
- Searches for the plain word can find it
- Works in messages and your bio

**Unicode styled letters**
- Look-alike math symbols, not formatted letters
- Screen readers may skip them or read symbol names
- Searches for the plain word may miss them
- Work where Markdown doesn't, like display names

*Use Markdown wherever it works. Save Unicode letters for the places it doesn't.*

### When Unicode letters make sense

Unicode letters are still the only free way to style a display name, a nickname or a channel name. Use them like seasoning: a styled first name, a short tag in your bio, one decorative word. Keep anything people need to understand, such as dates, rules, links and instructions, in plain text. Scope's guide recommends standard text for anything meant for a wide audience, and that's a good default for a server too.

When you do want them, the [Discord font generator](/tools/discord-font-generator) offers bold, italic, cursive and other styles, the [Discord bold text generator](/tools/discord-bold-text-generator) focuses on bold styles, and the [cursive font generator](/tools/cursive-font-generator) and [small caps generator](/tools/small-caps-generator) cover specific looks. They're free PostMesh tools that run in your browser, so nothing you type leaves it. Letters without a styled version, such as most accented letters, stay as they are.

## Why isn't my Discord formatting working?

Most formatting problems come down to a missing space, a symbol in the wrong place or a setting. Check these in order.

| What happens | Likely cause | Fix |
| --- | --- | --- |
| A header, subtext, list or quote shows the symbols instead | No space after the marker, or the marker isn't the first thing on the line | Start a new line with Shift+Enter and add a space after the hash, hyphen or greater-than sign |
| Underline comes out as italics | One underscore on a side instead of two | Use two underscores on each side |
| Bold or italics stop partway through | A space between a symbol and the word, or a symbol missing on one side | Make the symbols touch the text and match on both sides |
| Formatting across several lines doesn't show in the message box | Discord's known issues page lists multi-line bold, italics and underline not being styled in the message box | Format each line separately, then check the sent message |
| A spoiler isn't hidden | It's inside a code block, it's a server invite embed, or your setting is Always | Move the bars outside the backticks, or check User Settings › Text & Images |
| Code isn't colored | No language name, an unrecognized name, or closing backticks on the same line as code | Add a common language name and put the closing backticks on their own line |
| Symbols you wanted to keep vanished | Discord read them as formatting | Put a backslash before each one, or use code formatting |
| Your username won't accept styled letters | Usernames only allow a to z, 0 to 9, underscores and periods | Style your display name instead |

**Before you send a formatted post**
- [ ] Symbols touch the text on both sides
- [ ] A space follows every hash, hyphen and greater-than sign
- [ ] Headers and subtext start their own line
- [ ] Spoiler bars sit outside any code
- [ ] Closing backticks are on their own line
- [ ] Dates, links and rules are in plain letters

*Most formatting failures are one of these six.*

## How do I write announcements that read well?

Formatting should make a long message easier to scan, not decorate every line. A simple pattern for server posts: one header with the point of the post, a few short bullet points with the details, a masked link for anything people need to open, and a line of subtext for the small print. Bold only the thing people must not miss, such as a date.

1. **Write the plain version first**: Get the wording right before adding symbols. Our [Discord post generator](/tools/discord-post-generator) and [Discord announcement generator](/tools/discord-announcement-generator) can draft it from a few notes.
2. **Check the length**: Formatting symbols count as characters. The [Discord character counter](/tools/discord-character-counter) shows where you stand.
3. **Keep key details plain**: Write dates, links and rules in normal letters, never Unicode styled letters, so every member can read and search them.
4. **Test somewhere quiet**: Send it to a channel only you can see and check it on a phone too, then post it for real.

If you share the same update on other networks, each has its own formatting and length rules. Our guide to [social media character limits](/blog/social-media-character-limits) lists the limits side by side, and the [LinkedIn text formatter](/tools/linkedin-text-formatter) makes Unicode bold and italics for LinkedIn posts, with the same trade-offs described above.

If Discord itself won't open while you're trying to post, our guide to [Discord stuck on starting](/blog/discord-stuck-on-starting) walks through the fixes. And if you also play on a console, our guide to [getting Discord on PS5](/blog/how-to-get-discord-on-ps5) explains how to take your server's voice channels to your PlayStation.

## Questions

### How do you bold and italicize at the same time in Discord?

Type three asterisks before the text and three after it. To add underline as well, put two underscores outside the three asterisks on both sides.

### Does Discord formatting work on mobile?

Yes. The symbols work the same in the Android and iOS apps, but keyboard shortcuts like Ctrl+B only work on desktop and in a browser, so on a phone you type the symbols.

### How do I make my text smaller in Discord?

Start a new line with a hyphen, a hash and a space, then your text. Discord calls this subtext, and it only works at the very start of a line.

### Why is my underline showing as italics?

You probably typed one underscore on a side instead of two. One underscore on each side means italics in Discord; two on each side means underline.

### Can I see a spoiler before clicking it?

Only if you change your own setting. In User Settings › Text & Images on desktop or web, choose Always to show spoilers uncovered, or On servers I moderate to reveal them where you have Manage Messages.

### Can I use bold or other Markdown in my Discord username?

No. Usernames only accept lowercase a to z, 0 to 9, underscores and periods. Your display name accepts far more characters, and Nitro adds real fonts through Display Name Styles.

### Do Discord's formatting symbols count toward character limits?

Yes. Discord's Custom Profiles article says the bio count includes Markdown text and links, so heavy formatting uses up space.

### How do I type a code block on a phone?

Find the backtick in your keyboard's symbol pages, type three, then the code on new lines, then three more on their own line. It's the same syntax as on desktop.

### Are Discord font generators safe to use?

The styled letters are ordinary Unicode characters, so pasting them is harmless, and our generators run in your browser. The cost is accessibility: screen readers may skip them and searches may miss them.

### Is there a list of languages for Discord syntax highlighting?

Discord doesn't publish one. Put a common name for the language right after the opening three backticks, and if the code stays plain, try another common name.

## Sources

- [Discord Support: Markdown Text 101 (Chat Formatting: Bold, Italic, Underline)](https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline)

- [Discord Support: Spoiler Tags](https://support.discord.com/hc/en-us/articles/360022320632-Spoiler-Tags)

- [Discord Support: Spoiler Channels FAQ](https://support.discord.com/hc/en-us/articles/40248967926167-Spoiler-Channels-FAQ)

- [Discord Support: Discord Commands, Shortcuts, and Navigation Guide](https://support.discord.com/hc/en-us/articles/31232432266647-Discord-Commands-Shortcuts-and-Navigation-Guide)

- [Discord Support: [Known Issues] New Chat Text Box](https://support.discord.com/hc/en-us/articles/360037842511--Known-Issues-New-Chat-Text-Box)

- [Discord Support: Custom Profiles](https://support.discord.com/hc/en-us/articles/4403147417623-Custom-Profiles)

- [Discord Support: New Usernames & Display Names](https://support.discord.com/hc/en-us/articles/12620128861463-New-Usernames-Display-Names)

- [Discord Support: Discord Display Name Styles FAQ](https://support.discord.com/hc/en-us/articles/33833879643927-Discord-Display-Name-Styles-FAQ)

- [Discord Support: Server Nicknames](https://support.discord.com/hc/en-us/articles/219070107-Server-Nicknames)

- [Discord Blog: Discord Update, September 25, 2026](https://discord.com/blog/discord-update-september-25-2026)

- [Discord Blog: Discord Update, August 11, 2026 Changelog](https://discord.com/blog/discord-update-august-11-2026-changelog)

- [Discord Blog: How Discord Renders Rich Messages on the Android App (2018)](https://discord.com/blog/how-discord-renders-rich-messages-on-the-android-app)

- [Discord Developer Documentation: Reference, Message Formatting](https://docs.discord.com/developers/reference)

- [Discord Developer Documentation: Channels Resource](https://docs.discord.com/developers/resources/channel)

- [CommonMark Spec 0.31.2: backslash escapes (2.4) and fenced code blocks (4.5)](https://spec.commonmark.org/0.31.2/)

- [The Unicode Standard, Version 18.0, Chapter 22: Mathematical Alphanumeric Symbols (22.2.1)](https://www.unicode.org/versions/Unicode18.0.0/core-spec/chapter-22/)

- [Scope for Business: How special characters and symbols affect screen reader accessibility (Holly Tuke, 2021)](https://business.scope.org.uk/accessibility-screen-readers-special-characters-and-unicode-symbols/)

- [Texas Tech University: Accessible Social Media](https://www.ttu.edu/accessibility/digital-accessibility/accessibility-topics/social.php)

- [Per Axbom: Don't fake bold and italic text with Unicode (2023)](https://axbom.com/dont-fake-bold-and-italic-text-with-unicode)