Discord formats chat with Markdown: wrap a word in two asterisks for bold, one asterisk or underscore for italics, two underscores for underline and two tildes for strikethrough. Line codes add structure on top of that, with # for headers, -# for small subtext, - for bullet lists and > for quotes, while backticks make code blocks and double vertical bars hide spoilers. Below is every code Discord documents, the spacing rules that quietly break them, and the limits worth knowing before you write a long announcement.
We checked each code against Discord's Help Center articles on Markdown, spoiler tags, keyboard shortcuts, custom profiles and message limits, plus the GeeksforGeeks code block guide and the Streamer.guide formatting cheat sheet, in November 2026.
The Core Styles and How to Stack Them
The inline styles all work the same way: put the symbols directly before and after the text, with no spaces between the symbols and the words. Discord's Markdown Text 101 article lists italics as *text* or _text_, bold as **text**, underline as __text__ and strikethrough as ~~text~~. Three asterisks, ***text***, give you bold and italic at once.

| Style | What you type | Where it works |
|---|---|---|
| Italics | *text* or _text_ | Anywhere in a line |
| Bold | **text** | Anywhere in a line |
| Underline | __text__ | Anywhere in a line |
| Strikethrough | ~~text~~ | Anywhere in a line |
| Spoiler | ||text|| | Anywhere in a line |
| Header (three sizes) | # text, ## text, ### text | Start of a line, space required |
| Subtext | -# text | Start of a line, space required |
| Bulleted list | - text or * text | Start of a line, space required |
| Block quote | > text (one line) or >>> text (several lines) | Start of a line, space required |
| Inline code | `text` | Anywhere in a line |
| Code block | ```text``` | Can span many lines |
| Masked link | [label](https://address) | Anywhere in a line |
Stacking styles follows one pattern in Discord's own examples: the underline underscores go on the outside and the asterisks go inside. That gives you __*underline italics*__, __**underline bold**__ and __***underline bold italics***__. If you nest them the other way round and the result looks wrong, swap the order before you assume the feature is broken.
On the desktop app and in a browser you can skip the symbols entirely. Discord's shortcuts guide lists Ctrl+B for bold, Ctrl+I for italics and Ctrl+U for underline on Windows, with the Command key doing the same on a Mac. Highlight the words first, then press the shortcut. Discord's guide says these keyboard shortcuts are available only in the browser and desktop versions, so on a phone you type the symbols by hand.
Headers, Subtext and Lists for Longer Posts
Line formatting is what turns a wall of text into something people will actually read, which matters for rules channels, patch notes and event posts. A header needs one, two or three hash signs as the very first characters of a new line, followed by a space: # Big header, ## Smaller header and ### Even smaller header. Discord's article calls out that space in a separate note, and leaving it out, as in #Header, means the line does not become a header.
Subtext works like a header in reverse. Start a line with -# and a space, and the rest of that line renders in small, muted text, which is handy for footnotes, credits or a quiet "edited" note under an announcement. Like headers, the code only counts when it sits at the very beginning of the line.
For lists, begin each line with a hyphen or an asterisk and a space. Numbered lists start with 1. and a space, which the same article mentions in its spacing note. To nest a list, add two spaces before the bullet on the indented lines. A typical server rules post combines all three: a ## header for each section, short bullet points underneath, and one -# line at the end pointing to where members can appeal. If the post announces an event, add a dynamic time code so every reader sees the start time in their own zone; our guide to Discord timestamp codes walks through the syntax.
Code Blocks, Quotes and Spoilers
Single backticks around a word create inline code, and the Streamer.guide cheat sheet notes that code formatting shows everything inside literally, so bold markers, spoiler bars and headers do not render there. Three backticks before and after create a multi-line code block, which is the right home for config files, bot commands or anything you want copied exactly.

Code blocks can also be color coded. The GeeksforGeeks guide explains that you type the language name directly after the opening three backticks, with no space, then start the code on the next line; ```python, ```js and ```css are common choices. Discord's known-issues page for the chat box also mentions code block syntax highlighting, noting that the box stops highlighting the last line when the closing backticks do not end on their own line, so give them a fresh line.
Quotes use the greater-than sign. Start a line with > and a space to quote that single line, or put >>> and a space before the first line to fold several lines into one block quote. That makes quotes a tidy way to bring back an older message alongside your answer.
Spoilers hide text behind a shaded box until someone clicks or taps it. Wrap the text in double vertical bars, ||like this||, type /spoiler before your message, or highlight words on desktop and click the eye icon. Files can be hidden too: attach an image or video and click the eye icon marked Mark as Spoiler before sending. Wrapping a link in bars hides it as well, although Discord notes that server invite embeds cannot be hidden this way.
Masked Links, Embeds and Escaping Symbols
A masked link turns any text into a clickable link. Put the words you want people to see in square brackets and the address straight after in round brackets, as in [rules page](https://example.com). It keeps announcements tidy, but because the visible words can say anything, check the real address before clicking a masked link from someone you do not know. Our Discord account safety guide covers the link tricks scammers rely on.
Links normally produce a preview card under your message. To stop that for a single link, wrap it in angle brackets like <https://example.com>; Discord's help page calls this the way to cancel an embed for one specific link. To switch previews off for everything you see, open User Settings, go to Text & Images and untick the options for links posted to chat and files uploaded directly.
Sometimes you want the symbols themselves to show, for example when you type a multiplication like 5*3*2 and Discord italicizes the 3. The Streamer.guide cheat sheet explains that a backslash in front of a symbol tells Discord to print it rather than format with it, so 5\*3\*2 stays as typed. For longer stretches, inline code is easier, since everything inside backticks shows literally.
Limits and Settings Worth Knowing
Every message has a length cap. Discord's Sending Messages article puts it at 2,000 characters, says longer messages are converted into a text file, and notes that Nitro raises the cap to 4,000 characters. Markdown symbols count toward that total, so a heavily formatted rules post can hit the cap sooner than you expect.
Formatting also works in your profile. The Custom Profiles article says the About Me section holds up to 190 characters, and that limit includes emojis, Markdown and links, so a bold line plus a masked link eats into it quickly. If you are building out a profile, the same settings page is where you add an avatar decoration (see our avatar decorations guide) and pick which community tag sits next to your name, covered in our Server Tags explainer.
Spoiler behavior is adjustable for viewers. Under User Settings, then Text & Images, Discord offers three options: reveal spoilers on click, reveal them automatically on servers you moderate (meaning you hold a role with the Manage Messages permission), or always show them. The help article says this setting is available only on the desktop and browser apps. On iPhone and iPad, you can select text in the message box and tap Mark as Spoiler to add the bars for you.
Mistakes That Break Formatting
Most formatting failures come down to a handful of habits. Run through this list before you rewrite a message from scratch:
- No space after a line code. Headers, subtext, list bullets and quotes all need a space after the symbol, and they only work at the start of a line.
- Spoilers inside code. Discord's spoiler article states that text marked as a spoiler inside a code block will not be hidden, so a spoiler wrapped in backticks shows to everyone.
- Closing backticks on the same line as the last line of code, which stops the chat box from highlighting that final line.
- Expecting a preview of slash commands. Discord lists the fact that typing
/spoileror/medoes not preview the styled text in the box as intended behavior, not a bug; the formatting appears once the message is sent. - Looking for fonts or colors. Discord's shortcuts guide says plainly that there are no built-in font commands. Colored text circulates as a workaround using code blocks tagged
ansi, but the Streamer.guide cheat sheet points out that Discord's help center does not document it and phone users may see plain text, so do not rely on it for anything important.
When something still refuses to format, paste the message into a fresh line and rebuild one code at a time. The culprit is usually a missing space or a symbol that landed mid-line.
Making Your Whole Profile Stand Out
Good formatting makes your messages easy to read, but the name and badges beside them are what people notice first. If you would like a shorter or older handle to go with a well-built profile, the store's Discord hub lists account offers covering 3 and 4 letter usernames, OG names, Nitro, Early Supporter and verified badges, and legacy 2015 and 2016 accounts. Search and quick filters narrow the grid, and each listing spells out the username type, badge stack, Nitro status and delivery notes, with support available for listing-specific questions before checkout.
Frequently Asked Questions
How do you make text bold on Discord?
Wrap the text in two asterisks on each side, like **this**. On the desktop app or in a browser you can also highlight the words and press Ctrl+B on Windows or Command+B on a Mac.
How do you underline text in Discord?
Put two underscores on each side, like __this__, or highlight the text on desktop and press Ctrl+U (Command+U on a Mac). To combine underline with bold or italics, keep the underscores on the outside: __**text**__.
How do you hide spoiler text on Discord mobile?
Type two vertical bars before and after the text, like ||this||, which works in every Discord app. On iPhone and iPad you can also select the text in the message box and tap Mark as Spoiler.
Why is my header not working in Discord?
A header only works when the hash signs are the first characters of a new line and are followed by a space. #Title prints as plain text, while # Title becomes a header.
Can you change the font or text color in Discord?
Not with built-in commands. Discord's help center says there are no font commands, and normal text has no color option. Code blocks tagged ansi are an unofficial workaround that may show as plain text on phones.
How do you add syntax highlighting to a Discord code block?
Type the language name right after the opening three backticks with no space, such as ```python, put the code on the next lines, and close with three backticks on their own line.