Discord Formatting Guide
Back to the Discord PortalNEW: In-Line Timestamp Generator
This guide will teach you how to format messages in Discord using markdown.
Table of Contents
1. Basics (Bold, italics, etc.)2. Spoilers
3. Code Blocks
4. Escaping Text
4.1. Escape Mentions and Emojis
4.2. Normal Emojis
5. Colored Code Blocks
6. Embeds
6.1. Hyperlinks
7. Quoting
8. Lists
8.1. Ordered Lists
8.2. Unordered Lists
9. Headers
10. Protocol Links
11. Invisible Development Link
12. Timestamps
13. Emoticon Commands
14. <id:> Links
See also: Fonts for Discord Channels
For help, join our Discord server!
For the full experience, enable developer mode on Discord.
Basics
How to type bold, italics, underline, and strikethrough on DiscordInput | Output | |
---|---|---|
Bold | **text** | text |
Italics | *text* or _text_ or /me text | text |
Underline | __text__ | text |
Strikethrough | ~~text~~ | text |
You can also combine these, but in specific orders.
Bold-Italics | ***text*** | text |
Underline-Italics | __*text*__ | text |
Bold-Strikethrough | ~~**text**~~ | text |
Underline-Strikethrough | ~~__text__~~ | text |
All Of The Above | ~~__***text***__~~ | text |
Spoilers
How to type spoilers on DiscordSpoilers can be typed by surrounding text in 2 vertical bars on both sides (|| ||). The text will appear blacked out until clicked on.
||text|| | ![]() |
Clicked | ![]() |
|| || Only a Space | ![]() |
You can put a spoiler around every single letter to be annoying with our Discord Spoiler Generator.
Code Blocks
How to type code blocks on DiscordBy surrounding text in single ` (the one on the ~tilde~ key) you can make a one-line code block. This will not work for multiple lines.
Example: `text`

However, if you surround text in ```, you will create a bigger, multi-line code block.
Example:
```
text
text
text```
text
text
text```

If you’re using multiple lines, the first line must only contain ```, or else it will be treated as a programming language and not displayed.
All code blocks can also be bolded, italicized, underlined and struckthrough.
Escaping Text
How to escape text on DiscordPutting \ in front of certain characters will cancel it out when Discord tries to format text.
Example: \*text\*

Characters you can escape: ~`!@#$%^&*()_-+={[}]:;"'<>,./?|\
Sometimes \'s will mess with art or something. In this case you must type \\ to escape it.
Escaping Mentions and Emojis
If you happen to put a mention or emoji into a code block or escape it, you’ll notice some weird numbers and stuff. This is how Discord actually sees things like @mentions, #channels, emojis and @roles.User Mention
\@user#1234 → <@101070932608561152>
<@USER_ID>
<@!USER_ID> (An ! means they have a nickname set)
Role Mention
\@Admin → <@&482038999607934987>
<@&ROLE_ID>
Emoji
\:AYAYA: → <:AYAYA:519608855987093529>
<:NAME:ID>
Animated Emoji
\:Clap: → <a:Clap:521183484098772993>
<a:NAME:ID>
Channel Mention
\#spam → <#481640594435997706>
<#CHANNEL_ID>
If you enter an invalid ID, things will act strange.
- A user mention will turn to <@USER_ID>
- A channel mention will turn to #deleted-channel
- A role mention will turn to @deleted-role
- An emoji will just show the name inside colons
Normal Emojis
How to type normal emojis on DiscordEscaping a regular emoji will render it as your operating system's native version, instead of the default Twemoji design.
Example: :clap: \:clap: :clap: \:clap: :clap: \:clap: or 👏 \👏 👏 \👏 👏 \👏

Colored Code Blocks
How to type colored text on DiscordIf you don’t know about code blocks, read Code Blocks first.
When making a multi-line code block, it can be set to a programming language by typing the language name next to the first ```. When set, Discord will color the text accordingly to the language’s syntax.
Example: ```html
<b>Hello World!</b>```




How to type red on Discord
How to type orange on Discord
How to type yellow on Discord
How to type orange on Discord
How to type yellow on Discord
How to type green on Discord
How to type blue on Discord
How to type purple on Discord
How to type blue on Discord
How to type purple on Discord
How to type pink on Discord
How to type gray on Discord
How to highlight text on Discord
How to type gray on Discord
How to highlight text on Discord
Embeds
Note: You’re going to need a bot that can send embedded messages to do this part. For this, we will be using a custom bot with an !embed command.All methods of formatting can be used inside of embeds. However, some things like colored code blocks and hyperlinks do not work in the titles.

If you have the Manage Messages permission, there should be an X next to the embed when hovering over it. Clicking this will remove the embed for the whole server, but without deleting the message it’s attached to.
Hyperlinks
How to type hyperlinks on DiscordHyperlinks, or masked links, are pieces of texts that bring you to a URL when clicked on.
To create one, put the following text into an embed or webhook message:
[Text](link)
Example: [Click Here](https://c.r74n.com/)
This will produce something like this: Click Here



Also see Protocol Links!
Discord allowed hyperlinks in normal user messages for a brief period, but removed them due to security concerns.

Quoting
How to type quotes on DiscordQuotes are very similar to embeds, except they can be used by normal users and aren’t collapsable. They still can’t use hyperlinks, but they’re pretty cool anyway.
To make a quote, simply type “> “ and your wanted text. This can only be one line.
Example:
> quote

Putting multiple quote lines together will group them into one big quote block.
Example:
> quote
> quote
> quote

And putting “>>> “ will quote the rest of your message! Example:
>>> quote
quote
quote
Lists
Ordered Lists
How to type numbered lists on DiscordTo make an ordered list, follow the example below, using numbers followed by a period.
Example:
1. Example Item
2. Example Item
1. Example Sub-item
2. Example Sub-item
1. Example Sub-sub-item
3. Example Item

Unordered Lists
How to type unordered lists on DiscordTo make an unordered list, follow the example below, using either asterisks (*) or dashes (-).
Example:
* Example Item
* Example Item
* Example Sub-item
- Example Sub-item
- Example Sub-sub-item
- Example Item

Headers
How to type headers on DiscordHeaders can be used to denote the titles of sections. They appear larger and bolder than normal text.
Discord supports three levels:
# Header 1
## Header 2
### Header 3

Subtext
How to type subtext / small text on DiscordSubtext, or subheaders, can be used to denote subtitles or extra bits of information. They appear smaller and lighter than normal text.
-# Subtext

Protocol Links
How to type protocol links on DiscordProtocol links are used in computers to tell a program to do something.
They look something like this: example://test
In Discord, they do the same thing. However, to type them you need to surround one with < >. You can put any text, as long as :// is in the middle. The left side can contain letters or numbers, and the right side can contain any character except a space. Some characters will be encoded into URL format. For example, ` turns into %60. All capital letters will be turned into lowercase.
Example:
<user://1234>
<uwu://uwu>
<1://2>

There’s also some links that can be used to open applications on whoever clicks’ computer. Here are some of them:
<steam://.> opens Steam
<discord://discordapp.com/channels/@me> opens your friends list
<http://.> opens the default browser
<tel://123> tries to call whatever number is 123 (at least on Mac)
Other things that work the same as <steam://.> include
skype
, teamspeak
, spotify
, and many more.
Development Link
How to type invisible text on DiscordThere exists a strange link that, once put into chat, will completely vanish. That link is “https://canary.discordapp.com/__development/link/”.
Your message will be blank when you send this alone, probably the shortest a message can ever be.
Any other text will stay the same, though.
Example:
Copy https://canary.discordapp.com/__development/link/ Paste Dump


This can be abused, however. You can add text to the link by putting a + at the end.
Example:
https://canary.discordapp.com/__development/link/+CopyPasteDump
This will again be blank.
But what if you add +@everyone or +@here?
Yes, it works…

This is used by Discord developers to give out test versions of Discord.
Timestamps
How to type times and dates on DiscordTimestamps can be typed in Discord messages to include a date, time, or countdown that will constantly be updated and in-sync with every user's timezone and date format settings.
The number that is used is a Unix Timestamp. They can be generated using online tools like this one.
Users will see the exact date and time when they hover over the timestamp.

You can specify any exact time (to the second) from <t:-8640000000000:R> to <t:8640000000000:R> (April 19, -271821 to September 12, 275760)
<t:123456789:d> | Month/Day/Year |
<t:123456789:f> | Month Day, Year Time |
<t:123456789:t> | Time |
<t:123456789:D> | Month Day, Year |
<t:123456789:F> | Weekday, Month Day, Year Time |
<t:123456789:R> | Time since |
<t:123456789:T> | Hours:Minutes:Seconds |
Each format also has a different invalid format message, usually with NaN and undefined.
<t:99999999999999999:d> | NaN/NaN/NaN |
<t:99999999999999999:f> | undefined NaN, NaN NaN:NaN PM |
<t:99999999999999999:t> | NaN:NaN PM |
<t:99999999999999999:D> | undefined NaN, NaN |
<t:99999999999999999:F> | undefined, undefined NaN, NaN NaN:NaN PM |
<t:99999999999999999:R> | Invalid date |
<t:99999999999999999:T> | NaN:NaN:NaN PM |
Discord Timestamp Generator
Emoticon Commands
Discord provides some built-in commands to add an emoticon at the end of your message. Type it in the message box followed by your text.Command | Emoticon |
---|---|
/shrug | ¯\_(ツ)_/¯ |
/tableflip | (╯°□°)╯︵ ┻━┻ |
/unflip | ┬─┬ノ( º _ ºノ) |
<id:> Links
You can link to certain sections of your server with these strings. You do NOT need to replace "id" with anything, you can just copy and paste as is.<id:guide> or <id:home> | Server Guide |
<id:browse> | Browse Channels |
<id:customize> | Customize Community |