← Guides
✏️

Discord Message Formatting: The Complete Guide

Master Discord's built-in Markdown to add bold, italic, code blocks, spoilers, headers, and more to any message.
Updated October 17, 2026 · Boxtype
Open the Message Formatter →

How Discord Formatting Works

Discord uses a simplified version of Markdown for text formatting. You wrap text in special characters before and after it — Discord then renders the formatted version when you send the message. You can preview the formatting as you type because Discord renders it live in the input box.

Basic Text Styles

Bold: **your text** — wrap with double asterisks. Italic: *your text* — single asterisk or _underscore_. Underline: __your text__ — double underscores. Strikethrough: ~~your text~~ — double tildes. Bold italic: ***your text*** — triple asterisks. You can combine these: **__bold and underlined__** or *~~italic strikethrough~~*.

Spoiler Tags

Wrap text in ||double pipes|| to create a spoiler. The text appears as a dark block and is only revealed when clicked. Use this for movie or game spoilers, hidden puzzle answers, or surprise announcements. You can also apply spoilers to uploaded images by clicking the eye icon on the attachment before sending.

Code Formatting

Inline code: `backtick` — renders in a monospaced font with a subtle background, great for commands, file names, or any technical term. Code blocks: wrap with triple backticks (```) for a multiline block. You can add a language name after the opening backticks for syntax highlighting — for example ```js for JavaScript or ```py for Python. Discord supports dozens of languages.

Headers

Discord supports Markdown headers using hash symbols at the start of a line: # Big Header (H1) ## Medium Header (H2) ### Small Header (H3) Headers only work at the start of a line and cannot be combined with other inline formatting. They're ideal for structuring long messages, guides posted in a channel, or formatted rules documents.

Block Quotes and Lists

Block quote: start a line with > to indent and style it as a quote. Use >>> to make everything below it a quote (until the end of the message). Great for quoting someone else's message or adding a "quoted context" block. Bullet lists: start lines with - or * followed by a space. Numbered lists: start lines with 1. 2. 3. and so on. Lists and block quotes can be nested, and you can combine them with bold/italic formatting inside each item.

Combining With Emoji Letters

Boxtype output pairs naturally with Discord Markdown. A common pattern is to use an emoji-letter header (from Boxtype) followed by a block quote for the body text, or a bulleted list of details beneath the banner. The emoji letters are just Unicode text — they work inside bold, headers, and list items too.

Subtext, Masked Links and More

Start a line with -# to write subtext: smaller, muted text that is great for footnotes and credits. Masked links let you show a word instead of a full URL: [Read the rules](https://example.com) shows only "Read the rules" as a link. Discord asks for confirmation before opening links to other websites, which helps protect members from misleading links. To stop Discord formatting a symbol, put a backslash in front of it: \*not italic\* shows the asterisks.

Formatting on Mobile

All of Discord's Markdown works on the mobile apps, but typing backticks, tildes and vertical bars on a phone keyboard is awkward. Long-press the symbol keys to find them, or write the message in a tool like Boxtype's Message Formatter and copy the result.

Common Formatting Mistakes

Spaces inside the markers break formatting: ** bold ** stays plain text, while **bold** works. Unclosed markers spill formatting over the rest of the message, so if half your message is italic, look for a lone asterisk or underscore. Headers only work at the very start of a line, followed by a space, and code blocks need the three backticks on their own line.

Combining Styles

Most styles can be combined. ***Three asterisks*** gives bold italic, and __**underscores around bold**__ gives bold underlined text. Spoilers can wrap formatted text: ||**hidden bold**||. Headers can contain bold or links, and list items can contain any inline style. Code blocks are the exception: everything inside them is shown exactly as typed, with no formatting, which is what makes them useful for showing the symbols themselves.
Open the Message Formatter →