Discord Text Formatting & Markdown Guide

Every way to format a Discord message, with a live preview. Type in the editor to see exactly how Discord will show it, or copy any format from the cheat sheet below.

How it looks in Discord

YouToday at 4:20 PM
0 / 2,000 characters

Discord markdown cheat sheet

Type the code in the middle column into any Discord message box. Copy buttons give you a ready-made example.

FormatType thisResultCopy
Bold **bold** bold
Italic *italic* or _italic_ italic
Bold italic ***bold italic*** bold italic
Underline __underline__ underline
Underline + bold __**text**__ text
Strikethrough ~~strikethrough~~ strikethrough
Spoiler ||spoiler|| spoiler
Inline code `code` code
Code block ```\ncode\n``` multi-line code
Big heading # Heading Heading
Medium heading ## Heading Heading
Small heading ### Heading Heading
Small text (subtext) -# small text small text
Quote > quote quote
Quote the rest >>> quote quote…
Bulleted list - item β€’ item
Numbered list 1. item 1. item
Masked link [text](https://example.com) text
Timestamp <t:1791660000:R> in 3 days
Escape a symbol \*not italic\* *not italic*

How to make text bigger on Discord (headers)

Start a line with one, two or three hash signs and a space. One # is the largest heading, ### the smallest:

# Big heading ## Medium heading ### Small heading

The space after the hashes is required, and the heading must be at the start of a line. Headings can’t be used in the middle of a sentence.

How to make small text on Discord (subtext)

Start a line with -# and a space to write small grey subtext, often used for footnotes and disclaimers:

-# this text is small and grey

Subtext works per line in messages. For tiny text that works in names and statuses too, see Discord small text.

How to spoiler text and images

Wrap text in two vertical bars on each side, ||like this||, and it stays hidden until someone clicks it. For images and files, tick Mark as spoiler when you upload them (on desktop, click the eye icon on the attachment before sending). Spoiler bars inside code blocks are shown as plain text.

Code blocks and syntax highlighting

Use one backtick for inline code and three backticks on their own lines for a code block. Add a language name after the first three backticks to color the code:

```js const greeting = "hello"; ```

Common language names include js, py, css, html, json, diff and ansi. The ansi language lets you color any text. Build it with the colored text generator.

  • Bulleted list: start each line with - or * . Indent with two spaces for a nested item.
  • Numbered list: start each line with 1. , 2. and so on.
  • Quote one line: > quoted text.
  • Quote everything after: >>> quotes the rest of the message, including new lines.
  • Masked link: [link text](https://example.com) shows β€œlink text” as a clickable link. Discord may ask readers to confirm before opening an outside website.

Discord timestamps

A timestamp like <t:1791660000:F> shows a date and time that every reader sees in their own time zone and language, which makes it perfect for events. The number is a Unix timestamp (seconds since 1 January 1970) and the letter picks the format. Discord supports nine formats. Pick a date below to generate all of them, or open the full Discord timestamp generator for time zones, countdowns and decoding a timestamp someone sent you.

FormatType thisShows asCopy

How to stop Discord from formatting text

Put a backslash before the symbol: \*not italic\* shows the asterisks instead of italics. To show a whole snippet exactly as typed, wrap it in backticks, because markdown inside inline code or a code block is never applied. Discord has no table syntax, so line up columns inside a code block instead.

Where Discord formatting works

FieldMarkdownWhat to use instead
Messagesβœ“ Everything on this pageβ€”
About Me (bio)βœ“ Most formattingMasked links show as plain links. Bio templates
Display name & nicknameβœ• NoneUnicode name fonts
Custom statusβœ• NoneUnicode fonts and emoji
Server & channel namesβœ• NoneChannel name styler

Formatting works the same in the desktop, web and mobile apps: type the symbols yourself. On desktop you can also select text in the message box to get a small formatting toolbar.

Discord Text Formatting & Markdown Guide: common questions

How do you bold text on Discord?

Put two asterisks on each side: **bold text**. For bold italic use three: ***bold italic***. This works in messages and your About Me. For a bold display name, use Unicode bold letters instead.

How do you underline text on Discord?

Put two underscores on each side: __underlined text__. You can combine it with other styles, for example __*underlined italic*__ or __**underlined bold**__.

How do you strikethrough or cross out text on Discord?

Put two tildes on each side: ~~crossed out~~. In names and statuses, where markdown doesn’t work, use a Unicode strikethrough style from the font generator instead.

How do you make text bigger on Discord?

Start a line with # and a space for a big heading, ## for a medium one or ### for a smaller one. Headings only work at the start of a line in messages.

How do you make a spoiler on Discord?

Wrap text in two vertical bars on each side: ||spoiler||. For images, mark the attachment as a spoiler before sending.

Why is my Discord formatting not working?

Headings, subtext, lists and quotes need a space after the symbol and must start a line. Formatting is never applied inside code blocks, and names, statuses and channel names don’t support markdown at all.

Does Discord support tables?

No. Discord markdown has no table syntax. Put aligned text inside a code block to fake a table, or use an image.

What is the Discord message character limit?

A message can be up to 2,000 characters. Nitro subscribers can send up to 4,000, but Nitro Basic stays at 2,000. Markdown symbols count towards the limit, so **bold** uses four extra characters.

How do I show asterisks without italics?

Type a backslash before each one, like \*this\*, or wrap the text in backticks so it is shown as code.