How to Format a Reddit Post (Markdown Guide)
Reddit posts and comments use Markdown, a plain-text syntax where symbols like asterisks, dashes, and pipes turn into bold text, lists, links, tables, and more once the post renders. Wrap a phrase in **double asterisks** and it becomes bold. Start a line with > and it becomes a blockquote. No special editor or button is required, though most clients also offer one.
The catch: formatting does not render identically everywhere. old.reddit still runs on an older, more limited parser called snudown, while new reddit and the official mobile apps use a richer one. Strikethrough, tables, and code blocks are the main places the two disagree, and founder-heavy subreddits still have real old.reddit holdouts reading in that older view, so the safest approach is to lean on the syntax that renders identically everywhere and treat the rest as a bonus.
TL;DR
Reddit renders Markdown in both posts and comments. Bold with **text**, italic with *text*, lists with * or 1., blockquotes with >, links with [text](url), and headers with # or ##. Strikethrough, tables, and code blocks also work, but they are the three things that render differently on old.reddit’s older parser versus new reddit and mobile. Keep formatting simple, use bold and lists sparingly, and don’t build a post around a table or a strikethrough gag if the point has to land for every reader.
Every syntax Reddit supports, in one table
This is the full set. You will use maybe four of these regularly, bold, a bullet list, a link, and a blockquote, but the rest are here for when you need them.
| Syntax | What it does | Example |
|---|---|---|
**text** or __text__ | Bold | **Launched my MVP this week** |
*text* or _text_ | Italic | *early access is limited* |
***text*** | Bold and italic together | ***read this before commenting*** |
~~text~~ | Strikethrough (new reddit and mobile only, see below) | ~~$49/mo~~ $29/mo this week |
*, -, or + item | Bullet list | * No signup required |
1. item | Numbered list | 1. Read the subreddit rules |
> text | Blockquote | > Quoting a comment I'm replying to |
[text](url) | Link | [our changelog](https://example.com/changelog) |
# Heading | Header, largest size | # Why I built this |
## Heading | Header, one size smaller | ## The problem |
Col 1 | Col 2 ---|--- A | B | Table (pipe-delimited, dashed row under the header) | Plan | Price ---|--- Free | $0 |
>!text!< | Spoiler, blacked out until clicked | >!the ending twist!< |
`code` | Inline code | `npm install reddit-cli` |
``` code ``` or 4-space indent | Code block, multi-line and monospaced | ``` const launched = true; ``` |
Formatting won't save a post that doesn't fit the subreddit
Describe your product and the subreddit you're posting in, and get a draft in that community's voice, several title options, and removal-risk warnings, already formatted the way it should be.
Title options
Where the two parsers actually disagree
old.reddit still runs on an older, more limited parser called snudown. New reddit and the official mobile apps use a richer one. Most syntax renders identically on both, but three things reliably do not.
Older, more limited parser. Still what plenty of long-time users, and a fair share of founder-heavy subreddits, browse on by choice.
Richer parser. Full support for tables, code blocks, and strikethrough, along with everything else in the reference table above.
| Feature | old.reddit | new reddit / mobile |
|---|---|---|
| Bold, italic, lists, blockquotes, links, headers, inline code, spoilers | Renders the same as new reddit | Renders the same as old.reddit |
| Strikethrough (~~text~~) | May print the literal tildes instead of struck-through text | Renders as proper strikethrough |
| Tables (pipe + dashed row) | Renders less reliably, can show as raw pipe-delimited text | Renders reliably as a formatted table |
| Code blocks (triple backticks or 4-space indent) | Handled by the older, more limited snudown parser | Fully supported by the richer parser |
If you’re posting to a founder or SaaS-adjacent subreddit, assume a meaningful share of your readers are on old.reddit by preference. Build the post around the formatting that works everywhere, headers, bold, lists, blockquotes, and links, and treat strikethrough, tables, and code blocks as extras rather than load-bearing.
Reddit's weekly active user base, the full pool a single post can reach. Formatting that only renders on one parser quietly fails part of that audience.
View the Reddit usage data (Business of Apps)The same post, wall of text vs. formatted
Nothing here changes the actual content or claims, only the formatting. That alone is the difference between a post people bounce off of and one they actually read.
Before: one unbroken paragraph
Hey everyone I built this tool called a reddit post generator that helps founders write posts for reddit that dont sound like ads and it also checks removal risk before you post and gives you multiple title options and honestly I spent the last few months building this after getting my own posts removed a bunch of times because I didnt know the rules of each subreddit and I figured other people probably have the same problem so I made this free tool you can try with no signup required and there is also a pro plan if you want unlimited generations for five dollars a month let me know what you think
After: headers, one bold line, one short list
## The problem I kept getting my launch posts removed. Different subreddits, different rules, same mistakes: a link in the body, an ad-speak title, no real question at the end. ## What I built A **free Reddit post generator** for founders. No signup required. It: * Writes in a specific subreddit's own voice * Gives you several title options instead of one * Flags removal risk before you post ## Try it Free to generate, with a fair-use limit. Pro removes the limit for $5/month or $30/year, no free trial. What would you add?
Notice what did not change: no new claims were added, and only one phrase in the whole post is bold. The headers and the short list are doing almost all of the work.
Readable formatting vs. over-formatted
Markdown is there to make a post easier to skim, not to decorate it. Every one of these applies to the same short founder post.
Do
Don’t
Formatting considerations if you’re posting from a phone
The official mobile apps use the same richer parser as new reddit, so strikethrough, tables, and code blocks all display correctly once posted. The friction is on the writing side, not the rendering side.
Wide tables and multi-line code blocks are awkward to read on a small screen, they force horizontal scrolling that a desktop reader never has to deal with. Keep any table you use to two or three narrow columns.
Typing raw markdown symbols, asterisks, backticks, and pipes especially, is slower and more error-prone on a phone keyboard than a desktop one. Bold and simple bullet lists are quick to type correctly. Tables are the most fiddly, so they’re the first thing worth skipping if you’re drafting on mobile.
Whatever device you draft on, check the post once it’s live. Line breaks and spacing can shift slightly between the editor you typed in and the final render.
Six ways founders get formatting wrong
Assuming strikethrough will always show as struck-through text
It renders correctly on new reddit and the official mobile apps, but old.reddit's older snudown parser can print the literal ~~tildes~~ instead. If a struck-through price or claim matters to your point, don't rely on it rendering everywhere.
Building the whole post around a table
Tables render reliably on new reddit but less reliably on old.reddit, where they can show up as raw pipe-delimited text. Founder audiences skew toward old.reddit holdouts, so a table is fine as a small extra, not the post's main structure.
Over-formatting until bold means nothing
Bold works because it's rare. A post with every other sentence bolded reads like a ransom note and defeats the entire purpose of emphasis, which is to tell a skimmer where to look first.
Skipping the blank line around lists and headers
In Reddit's markdown, a list or header that runs directly against the paragraph above it without a blank line separating them can fail to render as its own block. Leave a blank line before and after block elements like lists, headers, and blockquotes.
Using a code block for something that isn't code
A triple-backtick block is meant for actual code or literal text you want preserved exactly. Wrapping a quote or a callout in one just to get a boxed monospace look reads oddly and doesn't do what inline code or a blockquote already does better.
Reaching for a heading size that doesn't exist in your draft
Reddit markdown supports # and ## reliably. Stick to those two sizes rather than assuming a third or fourth level will look meaningfully different, since the practical, predictable range is just those two.
If you only remember three lines
Build around what renders everywhere. Bold, italic, lists, blockquotes, links, and headers work identically on old.reddit and new reddit. Strikethrough, tables, and code blocks do not.
Formatting is for skimming, not decoration. One bold line, a short list, and a header or two on a long post is usually enough. Bolding half the post erases the point of bolding anything.
The title never gets a second try. A post title can’t be edited after posting, but the body can. Get the title right before you submit, then fix formatting in the body afterward if you need to.
Reddit markdown, walked through on screen
Reddit formatting, answered
Does Reddit support Markdown formatting?
Yes, in both posts and comments. Bold with **text**, italic with *text*, bullet or numbered lists, blockquotes with a leading >, links with [text](url), and headers with # or ## all work directly in the plain-text editor, no special button required.
What's the actual difference between old.reddit and new reddit formatting?
old.reddit still runs on an older, more limited parser called snudown. New reddit and the official mobile apps use a richer one. Most syntax renders the same on both, but strikethrough, tables, and code blocks are the three that reliably differ.
Why did my strikethrough show up as ~~text~~ instead of struck through?
That's old.reddit's snudown parser, which doesn't always render the ~~text~~ syntax as strikethrough and can print the literal tildes instead. It renders correctly on new reddit and the official mobile apps.
How do I make a table in a Reddit post?
Use pipes to separate columns, with a dashed separator row directly under the header row, for example Col 1 | Col 2 on one line and ---|--- on the next. It renders reliably on new reddit but less reliably on old.reddit, so don't put anything essential only inside a table.
Can I hide spoilers in a Reddit post?
Yes, wrap the text in >! and !<, for example >!the ending twist!<. The text is blacked out until a reader clicks it.
Can I edit a post's formatting after publishing it?
The body of a text post can be edited after posting, so formatting mistakes there are fixable. The title cannot be edited once the post is live, so it's worth a second read before you submit.
What's the difference between inline code and a code block?
Inline code wraps a short piece of text in single backticks, like `npm install`, and stays in the flow of a sentence. A code block uses triple backticks or a 4-space indent and is meant for multi-line, monospaced content set apart from the surrounding text.
Should I use heavy formatting if I'm posting to a founder-heavy subreddit?
Keep it simple. Founder and SaaS-adjacent audiences skew toward old.reddit holdouts more than general subreddits do, and that's exactly where strikethrough, tables, and code blocks are least reliable. Lean on bold, short lists, and one or two headers instead.