How to Format Reddit Posts with Markdown
Format Reddit posts and comments with markdown: bold, strikethrough, superscript, spoiler tags, tables, and code blocks—and the editor switch to fix first.
Reddit runs on markdown, but only in the right editor. Most Reddit formatting confusion comes from new Reddit opening a rich-text "Fancy Pants" composer by default, so markdown you type there shows up as literal asterisks and carets. Switch to Markdown Mode first, and bold, strikethrough, superscript, spoilers, tables, and code blocks all work.
Switch to Markdown Mode first
On new Reddit (reddit.com) a new post or comment opens the rich-text editor. Look for the "Switch to Markdown Editor" control below the text box, often a markdown glyph or "T"-style button, and click it before you type; switching mid-draft can garble existing formatting. Mobile support for the toggle is inconsistent, so compose markdown-heavy posts on desktop or old Reddit. Old Reddit (old.reddit.com) reads markdown directly, with nothing to toggle.
Bold, italics, strikethrough, and no underline
- `**bold**` or `__bold__` for bold; asterisks are safer, since underscores can misfire mid-word.
- `*italic*` or `_italic_` for italics, and `***text***` for both at once.
- `~~text~~` for strikethrough: reliable on new Reddit and mobile, inconsistent on old Reddit.
- No underline exists in Reddit markdown; `<u>` tags are stripped, so use bold or italics instead.
Superscript with the caret
A bare caret raises the characters right after it and stops at the first space, so `E = mc^2` lifts the 2 and `note^1` lifts the 1.
To raise a phrase with spaces, wrap it in parentheses: `Reddit^(is the front page)`. That form works on new Reddit and mobile but can misparse on old Reddit, where a caret per word, like `^every ^word`, is more reliable. Skip stacked "towers" that climb level after level, since new Reddit renders those inconsistently.
Spoiler tags that hide text
Reddit spoilers open with `>!` and close with `!<` on the same line, so `>!Snape kills Dumbledore!<` becomes a blackout bar readers click to reveal. Do not pad the inside with spaces, since `>! text !<` can fail, and note this is Reddit-specific, not the double-pipe style some platforms use. Support is solid on new Reddit and mobile but varies by subreddit on old Reddit.
Lists, quotes, and headers
- Bulleted lists: start each line with `-`, `*`, or `+` and a space.
- Numbered lists: begin each line with `1.`; Reddit auto-renumbers, so even `1. 1. 1.` counts up.
- Nest a sub-item by indenting 4 spaces or a tab; keep nesting shallow.
- Block quotes: prefix a line with `> `, and go deeper with `>>`.
- Headers: `#` through `######` give six levels, each with a space after the hashes.
Leave a blank line before a list or quote, or the first line can render inline with the paragraph above.
Inline code and code blocks
Wrap short snippets in single backticks: `git status` shows in monospace and ignores markdown inside. Multi-line code has two methods that do not render identically across Reddit's two parsers.
- Indent every line by 4 spaces or a tab: the original method, reliable on old Reddit but flaky in new-Reddit comments.
- Fence the block with three backticks before and after: works on new Reddit and most apps, but old Reddit shows the literal backticks.
Fenced blocks ignore any language name after the opening fence, so expect no syntax highlighting. When everyone must see it, the 4-space indent is the safer common ground.
Tables in Markdown Mode
The pipe-and-dash table syntax only renders in Markdown Mode; in the Rich Text (Fancy Pants) editor you insert a table with its toolbar button instead. A table is rows of pipe-separated cells over a divider row of dashes: the header looks like `| Name | Score |`, the divider like `| --- | --- |`, and a row like `| Ann | 10 |`. Leading and trailing pipes are optional, but the divider is required.
Add colons to the divider to align columns: `:---` left, `:---:` center, `---:` right. Tables render on new Reddit, most apps, and old Reddit; still verify for your audience first.
Preview before you post
Two line-break rules prevent most surprises: two trailing spaces force a break inside a paragraph, and a blank line starts a new one; a single Enter just joins the lines. Draft in markdown, check the exact Reddit rendering in the Markdown2Social preview, then paste a clean version, catching a broken table, a stripped spoiler, or reused copy from another platform.