Discord Text Tricks: Formatting, Coloured Text, Spoilers & Fancy Fonts
Everything you need to know about text formatting in Discord — from basic Markdown to advanced ANSI colour codes.
Discord is built on Markdown, a lightweight text formatting system that turns simple characters into styled text. Most Discord users know the basics — bold and italic — but the platform supports far more than that, including code blocks with syntax highlighting, block quotes, spoiler tags, headers, lists, and even coloured text using ANSI escape codes. On top of all this, you can paste Unicode-styled text for unique visual effects that go beyond what Markdown offers.
This guide covers every text trick available in Discord, from beginner basics to advanced techniques that will make your messages stand out in any server.
Basic Markdown Formatting
Discord uses a flavour of Markdown for text formatting. Here is the complete reference for basic formatting:
| What You Type | What You Get | Description |
|---|---|---|
| *italic* | italic | Italic text |
| **bold** | bold | Bold text |
| ***bold italic*** | bold italic | Bold and italic combined |
| __underline__ | underline | Underlined text |
| ~~strikethrough~~ | Strikethrough text | |
| ||spoiler|| | spoiler | Hidden spoiler text |
| `inline code` | inline code | Inline code format |
| > quote | Block quote | Indented quote block |
| # Heading | Heading | Large heading (also ## and ###) |
You can combine these markers freely. For example, ***__bold italic underline__*** produces bold, italic, underlined text all at once.
Code Blocks and Syntax Highlighting
Discord supports multi-line code blocks with optional syntax highlighting. Wrap your text in triple backticks and optionally specify a programming language:
```python
def hello():
print("Hello, Discord!")
```
Discord uses highlight.js for syntax colouring, so most common languages are supported: python, javascript, css, html, json, bash, ruby, java, cpp, and many more.
A lesser-known trick: using diff as the language shows lines starting with + in green and lines starting with - in red, which is useful for showing changes or comparisons.
Coloured Text with ANSI Codes
One of Discord's most powerful and least-known features is support for ANSI colour codes inside code blocks. By using the ansi language identifier, you can display text in various colours.
The syntax uses escape sequences in the format [ESC[COLORm] where COLOR is a number representing the colour. The available text colours are:
Writing ANSI codes manually is fiddly, which is why tools exist to generate them for you. The GYPU Coloured Text Generator lets you pick colours visually and outputs the correctly formatted code block ready to paste into Discord.
Note: ANSI coloured text only works on the Discord desktop and web apps. Mobile users will see the raw code instead of coloured text, so use this feature when your audience is primarily on desktop.
Fancy Unicode Text in Discord
Beyond Markdown formatting, you can use Unicode-styled text for a completely different visual effect. Unicode text generators transform your plain text into characters from different Unicode blocks — producing cursive, gothic, bold, double-struck, and many other styles.
This technique is popular for:
- Server announcements — make important messages visually distinct
- Role-playing channels — use different styles for different characters
- Bot commands and embeds — styled text in bot messages stands out
- Username styling — some servers allow styled nicknames
Generate Discord-optimised styled text with the Discord Symbols & Fonts tool. It shows you which styles render best in Discord's font rendering engine and includes decorative symbols commonly used in Discord server branding.
Advanced Tricks and Hidden Features
Here are some lesser-known Discord text features that even experienced users often miss:
Timestamps
Discord supports dynamic timestamps that automatically adjust to each viewer's time zone. Use the format <t:UNIX_TIMESTAMP:FORMAT> where FORMAT is R (relative), F (full), D (date), T (time), f (short date/time), or d (short date).
Suppress Embeds
Wrap a URL in angle brackets <https://example.com> to prevent Discord from generating a link preview embed.
Masked Links
Create hyperlinked text with [display text](https://url.com). This works in messages and is particularly useful for making bot-like formatted responses.
Subtext
Use -# small text at the start of a line to create smaller, greyed-out subtext. Useful for footnotes or less important details.
Ordered and Unordered Lists
Start lines with - or * for bullet points, or 1. for numbered lists. Indent with spaces for nested lists.