Skip to main content

Reddit Formatting

Every Reddit formatting syntax with copy-ready examples — bold, spoilers, superscript, tables, code blocks and line breaks — plus which composers still render Markdown at all.

Short answer

Reddit formats text with its own flavour of Markdown — **bold**, *italic*, ~~strikethrough~~, >!spoiler!<, ^superscript, # heading, > quote, - list. But typing it only works where Reddit parses it: on reddit.com the default Rich Text editor ignores syntax until you click Markdown Editor, and Reddit removed Markdown shortcuts from the iOS and Android post composer on 4 May 2026. old.reddit.com is always Markdown.

Where Markdown Works on Reddit

Reddit has two composers. The Rich Text editor is the default on reddit.com and formats through a toolbar — anything you type as Markdown stays literal. The Markdown editor, reached from the link under the composer, parses it. This single distinction is behind most “why won't my formatting work” posts.

It got sharper in 2026. Reddit's 7 May 2026 changelog records that Markdown shortcuts were removed from the iOS and Android post composer on 4 May 2026, with the comment composer to follow, and that the rich-text toolbar picked up the missing options in June. Markdown on desktop is unchanged.

Where you are typingMarkdown?Notes
reddit.com — Rich Text editorNoThe default composer. Typed syntax stays literal; use the toolbar
reddit.com — Markdown editorYesClick Markdown Editor under the composer to switch
old.reddit.com composerYesAlways Markdown, no toggle
iOS / Android post composerNoMarkdown shortcuts removed on 4 May 2026 — toolbar only
iOS / Android comment composerPartialReddit says the same deprecation is coming here
Community wikisYesMarkdown, and the only place image syntax renders
Sidebar, rules, submission textYesMarkdown, edited in mod tools
Profile card textPartialSimple formatting only
Chat messagesNoChat is not a Markdown surface
Worth knowing: the Rich Text editor is not a downgrade so much as a different tool — it covers bold, italic, strikethrough, headings, spoilers, quotes, lists, links and code from the toolbar. Markdown is still the faster route for tables, superscript and anything a bot posts.

Text Formatting

Emphasis follows standard Markdown. The one Reddit-specific rule: you can emphasise part of a word, but only with asterisks — underscores inside a word are left alone, so snake_case_names survive intact.

Bold — two asterisks or two underscores
**bold** or __bold__
Preview

bold or bold

Italic — one asterisk or one underscore
*italic* or _italic_
Preview

italic or italic

Bold + italic — three of either
***bold italic*** or ___bold italic___
Preview

bold italic or bold italic

Strikethrough — two tildes, old and new Reddit
~~strikethrough~~
Preview

strikethrough

Inline code — one backtick each side
`inline code`
Preview

inline code

Part of a word — only asterisks do this, never underscores
vul*pu*ta**te**
Preview

vulputate

Superscript

Superscript is a Reddit extension — a caret (^) before the text. There is no subscript. The multi-word forms are where people get burned, so they are worth reading carefully.

Single word or characterReddit only
E = mc^2
How it looks on Reddit
E = mc2
Several words — a caret before eachMost reliable
reddit ^and ^be ^reddited ^in ^return
How it looks on Reddit
reddit and be reddited in return
Parentheses — misparses on old RedditCareful
reddit ^(and be reddited in return)
How it looks on Reddit
reddit and be reddited in return
Joined with quarter-width spaces — keeps the spacing evenReddit only
reddit ^and&#x2005;be&#x2005;reddited
How it looks on Reddit
reddit and be reddited
Reddit's own compatibility notes say to avoid ^(...) when the superscript contains a link, and to superscript each word or join them with &#x2005; instead. Stacked carets (^^word, so-called superscript towers) are the reverse case — they work on old Reddit and not on www.reddit.com.

Spoiler Tags

Wrap text in >! and !<. Readers see a covered bar and click to reveal it. No spaces immediately inside the markers, or the spoiler will not close.

Whole-line spoilerReddit only
>!the butler did it!<
How it looks on Reddit (revealed)
the butler did it
Inline spoilerReddit only
The answer is >!42!<.
How it looks on Reddit (revealed)
The answer is 42.

Headings

Reddit supports all six heading levels, plus the underline (setext) form for levels 1 and 2. A space after the hashes is required — #Heading stays as plain text.

Level 1 — largest
# Heading 1
Preview

Heading 1

Level 3
### Heading 3
Preview

Heading 3

Level 6 — smallest, renders italic on Reddit
###### Heading 6
Preview
Heading 6
Setext style — underline with = for level 1, - for level 2
Heading 1
=========

Heading 2
---------
Preview

Heading 1

Heading 2

Paragraphs and Line Breaks

Reddit joins adjacent lines into a single paragraph, which is why a typed-out list of lines arrives as one run-on block. A blank line starts a new paragraph; two trailing spaces force a break inside one.

No break — adjacent lines merge
Line one
Line two
Preview

Line one Line two

Hard break — two trailing spaces (shown as ·)
Line one··
Line two
How it looks on Reddit
Line one
Line two
Hard break — trailing backslashwww.reddit.com only
Line one\
Line two
How it looks on Reddit
Line one
Line two
Extra blank lines collapse, so you cannot pad a post with empty space. The documented trick is a paragraph containing only the non-breaking space entity &nbsp;.

Lists

Bullets take - or *; numbered lists must start at 1. Sub-lists need at least two spaces of indent under a bullet, and at least three under a number — the number and its dot are wider than a bullet.

Unordered list — hyphen or asterisk
- First item
- Second item
* Asterisks work too
Preview
  • First item
  • Second item
  • Asterisks work too
Ordered list — must start at 1
1. First step
2. Second step
3. Third step
Preview
  1. First step
  2. Second step
  3. Third step
Sublists — 2 spaces under a bullet, 3 under a number
- Parent item
  - Sub-item, two spaces
  - Another sub-item
1. Parent step
   1. Sub-step, three spaces
Preview
  • Parent item
    • Sub-item, two spaces
    • Another sub-item
  1. Parent step
    1. Sub-step, three spaces

Blockquotes

Start a line with > to quote it — the standard way to reply to part of someone's comment. One bracket carries the whole paragraph; add a bracket per level to nest.

Simple quote — one > carries the paragraph
> Only the first line needs the bracket.
The rest of the paragraph is quoted too.
Preview

Only the first line needs the bracket. The rest of the paragraph is quoted too.

Nested quote — one > per level
> Outer quote
>
> > Nested quote inside it
Preview

Outer quote

Nested quote inside it

Quotes hold other blocks — headings, lists, even tables
> ### Quoted heading
>
> - quoted list item
> - another one
Preview

Quoted heading

  • quoted list item
  • another one

Tables

Pipe tables work on old and new Reddit. The header row is bolded automatically, and the dashed marker row underneath sets alignment: a leading colon aligns left, a trailing colon right, both centre. Columns do not need to line up in the source.

Basic table — the dashed marker row is required
| Ticker | Investment | Profit |
|--------|------------|--------|
| BTC    | $100       | $-50   |
| ETH    | $1000      | $-500  |
Preview
Ticker Investment Profit
BTC $100 $-50
ETH $1000 $-500
Alignment — a colon on the left, right, or both
| Left | Right | Center |
|:-----|------:|:------:|
| a    | b     | c      |
Preview
Left Right Center
a b c
Leading and trailing pipes are technically optional and practically required — both parsers have quirks that misread rows without them. Building a wide table by hand is miserable, so use the table generator and paste the result in.

Code Blocks and Inline Code

Nothing inside a code region is parsed as Markdown. Reddit accepts both indented blocks (four spaces) and fenced blocks (three backticks or three tildes) — but its own compatibility guidance is to use the indented form when old Reddit readers matter, and its documentation shows indentation as the canonical code block.

Inline code — backticks
Run `git status` before committing.
Preview

Run git status before committing.

Indented code block — four spaces, the compatible form
    fn main() {
        println!("hey")
    }
Preview
fn main() {
    println!("hey")
}
Fenced code block — three backticks (or three tildes)
```
fn main() {
    println!("hey")
}
```
Preview
fn main() {
    println!("hey")
}
Writing about Markdown inside Markdown? Fences of the same length collide. Wrap an example containing ``` in four backticks, or switch the outer fence to tildes. The same applies inline: surround code that contains a backtick with two.

Thematic Breaks

Three or more dashes, asterisks or underscores on a line of their own draw a horizontal rule. Keep a blank line above it, or the dashes will turn the line before into a heading instead.

Thematic break — three or more dashes on their own line
Above the line

---

Below the line
Preview

Above the line


Below the line

Asterisks and underscores work the same way
Above the line

***

Below the line
Preview

Above the line


Below the line

Escaping and HTML Entities

A backslash before a formatting character makes Reddit print it literally. This matters most when a line happens to start with a hyphen or a number, which would otherwise become a list.

Escaped asterisks
\*not italic\*
Preview

*not italic*

Escaped hyphen — stops an accidental bullet
\- not a list item
Preview

- not a list item

Escaped multiplication sign
2 \* 3 = 6
Preview

2 * 3 = 6

Escaped spoiler brackets
\>! not a spoiler !\<
Preview

>! not a spoiler !<

HTML entities survive even though HTML tags do not. That makes them the way to get characters Markdown has no syntax for: &nbsp; for a non-breaking space, &mdash; for an em dash, &#x2005; for the quarter-width space used in superscript.

What Reddit Formatting Doesn't Support

Reddit implements a subset. These are the pieces people reach for and do not find — worth knowing before you spend ten minutes assuming you typed something wrong.

Not supportedWhat to do instead
HTML tagsStripped from posts and comments — there is no <u>, <span>, or <font> escape hatch
Images in posts and commentsImage syntax is dropped by the renderer. Upload the image, or link it as a URL
UnderlineNo syntax at all. Use bold or italic for emphasis
SubscriptReddit has superscript only
Task listsNot part of Reddit's documented syntax — use a plain list with an emoji
Extra blank linesRepeated blank lines collapse. Use a paragraph containing &nbsp;

Common Mistakes

Once you are actually in a Markdown editor, nearly every remaining formatting complaint is one of these.

Doesn't work

Line one
Line two

Fixed

Line one··
Line two
Reddit joins adjacent lines into one paragraph. End the first line with two spaces (shown here as ·) or, on www.reddit.com only, a trailing backslash.

Doesn't work

^(three superscript words)

Fixed

^three ^superscript ^words
The parenthesised form is fine in a normal www.reddit.com comment, but old Reddit misparses it — and Reddit's own guidance is to avoid it entirely when the superscript contains a link.

Doesn't work

[Reddit](www.reddit.com)

Fixed

[Reddit](https://www.reddit.com)
Links need the scheme. Without https:// the parser does not treat it as a URL.

Doesn't work

[Reddit](https://reddit.com (Home))

Fixed

[Reddit](https://reddit.com "Home")
Titles in parentheses only work on www.reddit.com. Quotes work everywhere.

Doesn't work

1) First
2) Second

Fixed

1. First
2. Second
Closing parentheses as list markers are a www.reddit.com feature. Old Reddit needs dots.

Doesn't work

The build takes 5
- 10 minutes depending on cache

Fixed

The build takes 5
\- 10 minutes depending on cache
A hyphen at the start of a line becomes a bullet, even mid-sentence. Escape it with a backslash to keep it as text.

Old Reddit vs New Reddit

old.reddit.com and www.reddit.com run different parsers, and a slice of syntax lands on only one of them. If your audience is a mixed subreddit, stay in the “Both” rows.

SyntaxRenders onNotes
Bold, italic, bold-italicBoth**text**, *text*, ***text***
Strikethrough ~~text~~BothEnabled in old Reddit's parser too
Spoiler >!text!<BothThe [text](#s) form is long obsolete
Superscript ^wordBothCaret before each word
Superscript ^(with spaces)www onlyOld Reddit often misparses it
Superscript towers ^^wordold onlyMultiple levels do not work on www.reddit.com
Headings, 6 levelsBoth# through ######, plus = and - underlines
TablesBothKeep the leading and trailing pipes
Indented code blocksBothFour spaces — the compatible form
Fenced code blockswww onlyReddit recommends indenting for old Reddit
Hard break with two spacesBothThe portable line break
Hard break with a backslashwww onlyClearer to read, but www only
Ordered list 1)www onlyUse 1. for both
Link title in parentheseswww onlyUse quotes for both
Nested emphasis _a __b__ c_www onlyOld Reddit will not nest emphasis

Quick Reference

Every Reddit formatting syntax at a glance.

FormatSyntaxReddit only?
Bold**text**No
Italic*text* or _text_No
Bold + italic***text***No
Strikethrough~~text~~No
Spoiler>!text!<Yes
Superscript^word or ^(words)Yes
Heading 1-6# text ... ###### textNo
Inline code`code`No
Code block``` or four-space indentNo
Blockquote> textNo
Bullet list- itemNo
Numbered list1. itemNo
Table| a | b |No
Thematic break---No
Link[text](https://url)No
Autolinkr/help, u/redditYes
Hard line breaktwo trailing spacesNo
Escape\* \- \>No

Frequently Asked Questions

Why isn't my Markdown working on Reddit?

Almost always because of the composer you are typing in, not the syntax. On reddit.com the Rich Text editor is the default and it leaves typed Markdown as literal text — click Markdown Editor underneath the composer to switch. On the iOS and Android apps, Reddit removed Markdown shortcuts from the post composer on 4 May 2026 and says the comment composer is next, so use the rich-text toolbar there instead.

How do I switch to the Markdown editor on Reddit?

On reddit.com, open the post or comment composer and click the Markdown Editor link below it. The toolbar disappears and everything you type is parsed as Markdown. old.reddit.com has no toggle at all — its composer is always Markdown.

Does Markdown still work in the Reddit mobile app?

Not in the post composer. Reddit's 7 May 2026 changelog states that markdown formatting in the post composer is no longer supported on iOS or Android as of 4 May 2026, and that the comment composer will be deprecated too. A June 2026 update added the missing options to the rich-text toolbar. Markdown itself is unchanged on desktop — reddit.com and old.reddit.com still parse it.

How do I make text bold on Reddit?

Wrap it in two asterisks or two underscores: **bold text** or __bold text__. For bold and italic together, use three: ***bold italic***. In the Rich Text editor and the mobile apps, use the B button on the toolbar or Ctrl+B / Cmd+B instead.

How do I make a spoiler on Reddit?

Wrap the text in >! and !< with no spaces inside the markers: >!the butler did it!<. It renders as a hidden bar that readers click to reveal, and it works on old Reddit, www.reddit.com, and the apps.

How do I write superscript on Reddit?

Put a caret before the word: E = mc^2. For several words, put a caret before each one (^like ^this) rather than using ^(like this) — Reddit's own guidance is that old Reddit misparses the parenthesised form, especially when the superscript contains a link. Joining words with the quarter-width space &#x2005; is the other common trick.

Does Reddit support strikethrough?

Yes. Two tildes on each side — ~~like this~~ — and it renders on both old.reddit.com and www.reddit.com. Old Reddit's parser has the strikethrough extension enabled, so it is safe to use anywhere Markdown is parsed.

How do I make a table on Reddit?

Use pipe tables: a header row, then a row of dashes, then the content rows. Colons in the dashed row set alignment — :--- is left, ---: is right, :---: is centered. Keep the leading and trailing pipes on every row; Reddit recommends it because both parsers misread tables without them.

How do I add a line break on Reddit without a blank line?

End the line with two spaces. Reddit joins adjacent lines into one paragraph by default, so the two trailing spaces are what force a break. A trailing backslash does the same thing but only on www.reddit.com. For a genuinely blank line, use a paragraph containing only the &nbsp; entity.

Can I use HTML in Reddit posts and comments?

No. Reddit's renderer strips HTML out of posts and comments entirely, so there is no <u>, <span>, <font>, or <br> workaround. Everything has to be done with Markdown syntax or HTML entities like &nbsp; and &mdash;.

Why don't images show up in my Reddit post or comment?

The renderer drops image syntax in posts and comments, so ![alt](url) never produces an image there. Upload the image with the composer's image button, or paste the link as a plain URL. Community wikis are the exception — image syntax does render there.

How do I underline text on Reddit?

You cannot. Reddit has no underline syntax and strips the HTML tags that would provide one. Bold (**text**) or italic (*text*) are the alternatives, and underline is conventionally reserved for links anyway.

What is the difference between old Reddit and new Reddit Markdown?

old.reddit.com runs snudown, a decade-old fork of Sundown; www.reddit.com runs a newer parser. Most syntax is identical. The differences that bite are code fences, backslash line breaks, 1) list markers, parenthesised link titles, and nested emphasis, which are all www.reddit.com only, plus parenthesised superscript, which old Reddit misparses. Superscript towers (^^word) are the one thing that works on old Reddit and not on www.