Discord tools

Discord Markdown Cheat Sheet

Discord uses its own Markdown dialect — it drops tables and images but adds underline, spoilers, and subtext. Every supported marker is below, previewed in Discord’s own styling.

Text formatting

Discord adds underline and spoilers, which are not part of standard Markdown. Markers can be combined by nesting them.

Bold

**bold text**
bold text

Italic

Single underscores (_italic_) work the same way.

*italic text*
italic text

Bold italic

***bold italic text***
bold italic text

Underline

Discord-only. Elsewhere double underscores mean bold.

__underlined text__
underlined text

Underline italic

__*underlined italic*__
underlined italic

Strikethrough

~~struck through~~
struck through

Spoiler

Click the preview to reveal it.

||hidden until clicked||
hidden until clicked

Escaping

A literal \*asterisk\* and \|\|pipes\|\|.
A literal *asterisk* and ||pipes||.

Headings and subtext

Discord stops at three heading levels. A fourth hash is rendered as plain text. Subtext is Discord-specific small grey copy.

Big header

# Big header

Big header

Medium header

## Medium header

Medium header

Small header

### Small header

Small header

Subtext

Note the hash after the dash, then a space.

-# Small muted subtext
Small muted subtext

Too many hashes

Levels 4 to 6 are not supported and show the hashes literally.

#### Not a header in Discord
#### Not a header in Discord

Lists

Indent by two spaces per level. Discord supports up to three levels of nesting.

Bulleted list

- First item
- Second item
  • First item
  • Second item

Nested list

- Parent item
  - Child item
    - Grandchild item
  • Parent item
    • Child item
      • Grandchild item

Numbered list

1. First item
2. Second item
  1. First item
  2. Second item

Mixed nesting

1. Ordered parent
  - Bulleted child
  1. Ordered parent
    • Bulleted child

Quotes

Use a single quote for one line, or a triple quote to capture the whole rest of the message — including everything you type after it.

Single-line quote

> This line is quoted.
This line is not.
This line is quoted.
This line is not.

Block quote

>>> Everything after the triple arrow
stays inside the quote.
Everything after the triple arrow
stays inside the quote.

Code blocks

Discord highlights fenced blocks using highlight.js language names. The closing fence must sit on its own line or the block is shown literally.

Inline code

Try the `/help` command.
Try the /help command.

Code block

```
plain preformatted text
```
plain preformatted text

Highlighted code block

```py
print("hello world")
```
print("hello world")

Coloured text

Build these with the ANSI colour generator rather than typing escape codes by hand.

```ansi
Green bold text
```

Green bold text — rendered in colour inside Discord via ANSI escape codes.

Timestamps

Timestamps render in each reader’s own timezone and update live. The number is a Unix epoch in seconds; the letter picks the format.

Default (short date/time)

<t:1700000000>

14 November 2023 22:13

Short time

<t:1700000000:t>

22:13

Long time

<t:1700000000:T>

22:13:20

Short date

<t:1700000000:d>

14/11/2023

Long date

<t:1700000000:D>

14 November 2023

Full date and time

<t:1700000000:F>

Tuesday, 14 November 2023 22:13

Relative

<t:1700000000:R>

A phrase such as “in 3 hours” or “2 days ago”, recalculated as time passes.

What Discord does not support

These all work on GitHub and in most Markdown editors, but Discord ignores them and prints the raw characters. Knowing the list saves a lot of confused re-sending.

Tables

| a | b |

No table syntax exists. The pipes are shown as plain text — paste tables inside a code block instead.

Images

![alt](url)

Not parsed. Post the image URL on its own line and let Discord embed it, or upload the file.

Horizontal rules

---

Rendered as three literal dashes.

Task lists

- [ ] task

The checkbox brackets show as text. Use emoji such as ✅ instead.

Footnotes

[^1]

Not supported in messages.

Raw HTML

<b>bold</b>

Discord escapes the tags and prints them.

Headings 4 to 6

#### heading

Only three heading levels exist.

Coloured inline text

no syntax

Colour is only possible inside an ```ansi code block.

The complete Discord Markdown guide

Discord Markdown is a lightweight set of text markers that turns ordinary messages into readable, structured posts. It looks similar to standard Markdown, but Discord supports its own dialect. That difference matters: some familiar syntax works exactly as expected, while tables, images, and several other Markdown features are shown as plain text. This guide and cheat sheet give you a quick reference for writing Discord messages that render correctly the first time.

To format Discord Markdown text, place markers around the words you want to change. Use **bold**for emphasis, *italic* for a slanted style, and __underline__for underlined text. Discord Markdown strikethrough uses ~~two tildes~~. You can combine compatible styles, which is useful for announcements, rules, changelogs, and community updates. Inline code uses single backticks, while three backticks create a larger code block for commands, logs, or snippets that need to preserve spacing.

A Discord Markdown link uses the format [link text](https://example.com). This creates a clickable masked link instead of displaying the full URL in your message. For a URL that should remain visible without an embed preview, place it inside angle brackets, such as<https://example.com>. Always check the destination before sharing a link, especially when a short label hides the actual address.

Discord also supports headings, quotes, nested lists, spoilers, mentions, and timestamps. Start a line with#, ##, or ### for a heading. Use > for a quote and >>> for a multi-line block quote. Wrap sensitive content in ||spoiler|| so readers can choose when to reveal it. Discord timestamps use a Unix time value and automatically display in each reader’s local timezone, making them useful for events with an international audience.

If you are wondering whether Discord uses standard Markdown, the practical answer is no: it uses a limited, Discord-specific Markdown implementation. Bold, italics, code, quotes, lists, links, and strikethrough are familiar Markdown patterns, but Discord adds features such as spoilers and underlines while leaving out tables, images, horizontal rules, and footnotes. Markdown links can be especially confusing because a link may be clickable, masked, or displayed as a rich embed depending on its syntax and the destination. Testing a draft in a preview is faster than sending repeated corrections to a busy channel. This page shows the exact marker beside a rendered example, so you can copy the syntax and adapt it to your own message.

The easiest way to use this Discord Markdown guide is to keep the syntax table nearby while composing. For a full message, open the Discord Markdown editorto type in one pane and see a Discord-style preview in the other. The editor helps you catch unsupported formatting, keeps a live character count, and lets you copy the finished message. Your draft stays in the browser, so you can prepare private messages, moderation notices, bot responses, or server documentation without sending content to a conversion service.

Remember that Discord messages have a character limit, and formatting markers count toward it. Tables and Markdown image syntax are not rendered as rich content, so use a code block for aligned plain text or share an image URL when Discord’s embed behavior is appropriate. For colored code-block text, use theDiscord ANSI color generator. For dates and times, the Discord timestamp generatorcreates the correct timestamp syntax. Together, these tools cover the most common Discord Markdown text formatting needs while this page remains a fast, searchable reference for creators, moderators, developers, and community managers.

Frequently asked questions

How do I underline text in Discord?

Wrap the text in double underscores: __like this__. This is Discord-specific. In standard Markdown double underscores mean bold, which is why pasting Discord formatting elsewhere often comes out wrong.

How do I make coloured text in Discord?

There is no inline colour syntax. The only way is an ansi code block — open with three backticks followed by "ansi", then use ANSI escape sequences. Colours do not show on every mobile client. The ANSI colour generator builds the escape codes for you.

Why does my table show up as plain text?

Discord has no table syntax at all, so the pipes and dashes are printed literally. The usual workaround is to put the table inside a code block, which at least preserves the column alignment with a monospace font.

How do I stop a link from showing a preview?

Wrap the URL in angle brackets: <https://example.com>. The link stays clickable but Discord will not unfurl the embed card underneath your message.

What is the character limit for a Discord message?

2,000 characters on a free account and 4,000 with Nitro. Formatting markers count toward the limit, so heavy formatting eats into the budget. The Discord Markdown editor shows a live counter against both limits.

Do timestamps use my timezone or the reader’s?

The reader’s. You supply a Unix epoch in seconds and every client renders it in its own local timezone, which makes timestamps the correct way to announce events across regions.

Compose and preview a full message in the Discord Markdown editor, or compare against the standard Markdown cheat sheet.