How Reddit's Algorithm Works: The Technical Guide for Marketers
Reddit's algorithm is not one algorithm. It is a layered stack of at least five distinct ranking mechanisms: the Hot score, the Best/Confidence sort, Rising detection, normalized front-page mixing, and a machine-learning-powered home feed introduced in 2025. The most important thing to understand is that Reddit's ranking is essentially a time-limited auction where early upvote velocity is the dominant variable. A post with 50 upvotes in its first 30 minutes will reliably outrank a post that eventually accumulates 200 upvotes but does so slowly over 12 or more hours.
What This Guide Covers
- 1. The Hot Algorithm -- The Actual Formula
- 2. The Best Algorithm -- Wilson Score Confidence Interval
- 3. The Rising Queue -- The Gateway From /new to /hot
- 4. First-Hour Dynamics -- Why the First 30 Minutes Matter Most
- 5. Subreddit-Level Mechanics
- 6. Comment Ranking
- 7. Timing and Scheduling
- 8. Account Age, Karma, and Algorithmic Trust
- 9. 2024-2026 Algorithm Changes
- 10. Frequently Asked Questions
1. The Hot Algorithm -- The Actual Formula
Reddit's Hot ranking algorithm was made public by developer Amir Salihefendic in 2009 and was available in Reddit's open-source codebase until it was closed. The formula has remained architecturally consistent:
score = log10(max(|net_votes|, 1)) + (epoch_seconds - 1134028003) / 45000Where:
- net_votes = upvotes minus downvotes
- epoch_seconds = seconds elapsed since the post was submitted
- 1134028003= Reddit's epoch: December 8, 2005, 07:46:43 UTC
- 45,000 = the time constant (in seconds) that controls decay
What the 45,000-Second Constant Means
Every 45,000 seconds -- approximately 12.5 hours -- the time component of the score increases by 1.0. That is equivalent to a 10x increase in upvote count. In practical terms, a post submitted today starts with a 12.5-hour head start over any post submitted yesterday, regardless of how many votes the older post has. Mathematician Evan Miller found that this formula is close to an optimal embodiment of utility theory for users who visit Reddit approximately every 5.43 hours.
Logarithmic Vote Compression
The logarithmic vote term creates a compressed scale where each order of magnitude is equal:
| Vote Range | log10 Score Increase | Practical Meaning |
|---|---|---|
| 1 to 10 | +1.0 | First 10 upvotes add 1.0 to score |
| 10 to 100 | +1.0 | Next 90 upvotes add the same 1.0 |
| 100 to 1,000 | +1.0 | Next 900 upvotes add the same 1.0 |
| 1,000 to 10,000 | +1.0 | Next 9,000 upvotes add the same 1.0 |
The practical consequence: the first 10 upvotes are worth roughly as much as the next 990. This is why early engagement is so disproportionately valuable. Getting from 0 to 10 upvotes in the first few minutes produces the same ranking boost as grinding from 10 to 1,000 over the next several hours.
Important Caveat
Reddit closed its source code after going private. The formula above describes the documented original. While behavioral evidence suggests its structure remains intact, exact current parameters cannot be independently verified. Users in r/TheoryOfReddit noted apparent Hot algorithm changes in March 2025, with posts under 50 upvotes being pushed to the top of feeds alongside much higher-scoring posts. Reddit has not officially confirmed or documented this change.
2. The Best Algorithm -- Wilson Score Confidence Interval
Best is fundamentally different from Hot. Rather than time-weighted votes, Best uses the lower bound of the Wilson Score confidence interval, a statistical technique proposed by Evan Miller and implemented by Reddit in 2009 at the suggestion of Randall Munroe (XKCD).
The Wilson Score answers this question: "Given the votes observed so far, what upvote proportion can we be 80% confident this post would achieve if everyone voted?" The lower-bound answer penalizes low sample sizes. A comment with 10 upvotes and 0 downvotes is treated more cautiously than one with 1,000 upvotes and 0 downvotes, even though both have 100% upvote ratios.
fn confidence(ups: f64, downs: f64) -> f64 {
let n = ups + downs;
if n == 0.0 { return 0.0; }
let z = 1.281551565545; // 80% confidence level
let p = ups / n;
let left = p + 1.0 / (2.0 * n) * z * z;
let right = z * (p * (1.0 - p) / n + z * z / (4.0 * n * n)).sqrt();
let under = 1.0 + 1.0 / n * z * z;
return (left - right) / under;
}When Hot vs. Best Is Used
| Context | Default Sort | What It Optimizes For |
|---|---|---|
| Subreddit post listings | Hot | Fresh content with fast upvotes |
| Comments within a thread | Best | High-quality content regardless of time |
| Personalized Home feed | Best + ML | Relevance to individual user |
The practical implication for comments: the Best sort gives first-posting advantage less weight than Hot does for posts. A late comment with genuinely exceptional quality can surface above an early comment with a worse upvote ratio, but it still needs enough total votes to establish statistical confidence.
3. The Rising Queue -- The Critical Gateway
The Rising feed shows posts with growing velocity before they have peaked. According to a former Reddit employee, Rising was the original default discovery feed before the current "New" implementation -- it was designed specifically to surface borderline posts that had some early traction.
Rising is best understood as an intermediate zone between /new and /hot. The path every successful post takes is:
If a post stalls after appearing in Rising, it typically never reaches the Hot page. Rising is particularly important for smaller subreddits where the Hot feed turns over slowly -- a post appearing in Rising receives an additional visibility window where more organic votes can arrive.
For large subreddits (1M+ members), the Hot page turns over so rapidly that the Rising to Hot transition happens within 1-2 hours or not at all.
4. First-Hour Dynamics -- Why the First 30 Minutes Matter Most
The first 30 minutes are the most consequential period of any Reddit post's life. During this window, the Hot algorithm's time decay has not yet accumulated significantly, and any upvotes received contribute to a rapidly compounding velocity effect:
- 1. Early upvotes push the post higher in the Hot feed
- 2. Higher position exposes it to more users
- 3. More users means more potential voters, which means more upvotes
- 4. Each incremental upvote pushes the post higher still
This is the velocity flywheel. Once it starts spinning, the post compounds. If it never starts, the post dies.
A post that receives 50 upvotes in 30 minutes will consistently outrank one that accumulates 200 upvotes over 12 hours, even though the latter has 4x more total votes. This is because each upvote received 12+ hours after submission contributes almost nothing to the Hot score -- the time denominator has grown so large that the logarithmic vote term cannot compensate.
The "First 10 Upvotes = Next 990" Principle
Because votes are compressed logarithmically, the ranking impact of upvotes follows a power curve:
- Upvotes 1-10 produce +1.0 to the log score
- Upvotes 11-100 produce +1.0 to the log score
- Upvotes 101-1,000 produce +1.0 to the log score
The practical takeaway: your first 10 upvotes matter as much as your next 990. This is why everything about Reddit marketing comes back to the first few minutes. Timing your post, matching your content to the community, writing a compelling title -- all of these exist to maximize the chance that those first 10 upvotes happen fast.
Critical Mass Thresholds by Subreddit Size
There is no publicly documented hard threshold. What exists instead is a velocity-based feedback loop where the effective threshold is relative to competition:
| Subreddit Size | Members | Velocity Needed (First Hour) | Competitive Window |
|---|---|---|---|
| Mega | 10M+ | 500+ upvotes | 2-4 hours |
| Large | 1M-10M | 100-500 upvotes | 4-6 hours |
| Mid-size | 100K-1M | 20-100 upvotes | 6-12 hours |
| Small | Under 100K | 5-30 upvotes | 12-24+ hours |
A March 2026 study of 1,982 Reddit posts across 20 major subreddits found that 23% of Hot page posts were under 12 hours old and the median age was 22.4 hours, confirming the brutal time decay in practice. Mid-size communities (200K-500K members) often provide the best return on effort because the engagement threshold is reachable, competition is lower, and the decay rate is forgiving enough for organic content to find its audience.
5. Subreddit-Level Mechanics
Normalized Hot Scoring -- How the Front Page Mixes Subreddits
For the Home feed, Reddit cannot simply rank posts by their raw Hot scores. An r/AskReddit post regularly scores 5,000+ while niche subreddits rarely exceed 60. Raw ranking would mean the front page is dominated entirely by a handful of large subreddits. Reddit solves this with normalized hot scoring:
- 1. For each subscribed subreddit, find the top-ranked post (raw Hot score)
- 2.Divide every post's Hot score by that top score, normalizing the top post to 1.0
- 3. A post with 50 points in a sub where the top post has 60 points scores 0.83 -- the same as a post with 5,000 points where the top post has 6,000
- 4. All normalized scores are combined and ranked together
- 5. Ties are broken by the raw, unnormalized Hot score
This guarantees that the top post from every subscribed subreddit has a near-equal chance of appearing on the Home feed. A known side effect: the top post in any subreddit is algorithmically guaranteed substantially more visibility than the second post, which explains why subreddit top posts often have 5-10x more votes than the second post.
Community Type Affects What Works
The Hot formula treats all post types identically -- there is no format-based modifier. But format affects user behavior, which affects vote velocity:
| Community Type | What Performs Best | Engagement Pattern |
|---|---|---|
| Discussion subs (r/AskReddit, r/personalfinance) | Text posts, questions | 1.9x more comments per upvote |
| Visual subs (r/pics, r/funny) | Images, videos | More passive upvotes, fewer comments |
| Tech/news subs (r/technology) | External links | News-driven, peaks in 3-4 hours |
| Startup/SaaS subs (r/startups) | Long text with insights | Comment velocity and discussion depth drive visibility |
Mismatching format to community culture creates a drag on engagement that algorithmically manifests as slower velocity. A link post in a discussion subreddit or a text post in a visual subreddit will underperform content-identical alternatives in the correct format.
AutoModerator and Silent Post Failures
AutoModerator (AutoMod) processes millions of posts and comments daily before any human moderator review. It can filter posts to a review queue, remove posts outright, require flair, and set Crowd Control to collapse comments from low-trust accounts. A post filtered by AutoMod does not appear publicly and may never be reviewed if the moderator queue is backlogged.
This is the most common reason for "silent" post failures -- the post appears submitted successfully, but no one can see it. AutoMod filters based on:
- Account age -- brand-new accounts are filtered in most communities
- Karma -- insufficient karma triggers filtering
- Contributor Quality Score (CQS)-- Reddit's internal trust system
- Keywords -- certain words or phrases trigger review
- Missing flair -- required in many subreddits
Post flair has no direct effect on the Hot score formula, but incorrect or missing flair in subreddits that require it results in AutoMod removal. In subreddits with mandatory flair like r/personalfinance, not using the correct flair means the post never appears publicly at all.
7. Timing and Scheduling -- When to Post for Maximum Velocity
A study analyzing 2,000 posts across 20 subreddits (conducted March 2026) found that posts in the 9 AM-12 PM EST window generated 730% more engagement than posts made late at night. Approximately 50% of Reddit's traffic originates from the US, so the US morning browsing window generates the densest concentration of potential early upvoters.
Optimal Posting Windows by Day
| Day | Performance | Best Windows (EST) |
|---|---|---|
| Monday | Good | 6-8 AM |
| Tuesday | Best | 6-9 AM, 2 PM |
| Wednesday | Best | 8-10 AM, 2 PM |
| Thursday | Good | 7-9 AM, 2 PM |
| Friday | Moderate | 6-10 AM |
| Saturday | Variable | Depends on subreddit type |
| Sunday | Variable | 10 AM-12 PM for leisure subs |
Subreddit-Specific Timing Data
Different subreddits have different peak windows based on their audience demographics. Data from a 2025 SocialBu dataset:
| Subreddit | Best Day | Best Time (EST) |
|---|---|---|
| r/science | Wednesday | 3-4 PM |
| r/worldnews | Tuesday | 8-10 PM |
| r/AskReddit | Sunday | 6-7 PM |
| r/gaming | Wednesday | 9-10 PM |
| r/todayilearned | Sat & Sun | 6-8 PM |
| r/aww | Friday | 10 PM-6 AM |
Methodology Note
These timing figures come from crawled Reddit post data and represent historical correlations, not causal guarantees. Content quality and community fit remain more important than timing. Timing affects whether early velocity is achievable, but cannot substitute for content that genuinely matches what the community wants. For subreddits with explicitly international audiences (r/europe, r/worldnews, r/cricket), US Eastern Time windows may not apply.
8. Account Age, Karma, and Algorithmic Trust
Account Age Requirements
There is no universal Reddit-wide account age requirement for posting. Individual subreddits configure their own restrictions via AutoModerator. Common thresholds observed in practice:
- 1 day minimum -- rare, very low-friction communities
- 1 week -- common for moderate-sized communities
- 1 month -- common for major communities
- 3 months -- cautious communities with spam history
A high karma account that is brand-new can still be blocked by age-only requirements, and vice versa.
Karma Thresholds by Community Type
| Threshold Level | Typical Karma Required | Examples |
|---|---|---|
| Minimal | 2-10 | New-user-friendly communities |
| Standard | 10-200 | Majority of mid-size subreddits |
| Elevated | 200-500 | Finance, health, professional subs |
| High | 500-1,000 | Large communities with spam history |
| Extreme | 1,000-2,500+ | Rare: r/WallStreetBets-style communities |
Most moderators do not publicly disclose their exact thresholds to prevent gaming. A combined karma of 100-200 is sufficient to access the majority of communities. A target of 1,000 karma and 6 months of account age is a practical benchmark for unrestricted access to most subreddits.
The Contributor Quality Score (CQS) -- Reddit's Hidden Trust System
The Contributor Quality Score is Reddit's internal multi-factor trust system, distinct from and more sophisticated than karma. Every account is assigned a CQS in one of five tiers:
CQS is based on signals including past account actions (rule violations, spam reports, suspensions), network and location patterns (VPN use, shared IPs), account security measures (email verification), engagement quality (comment vs. post ratio, community reception), and account consistency over time.
Reddit created CQS specifically because karma-and-age checks were insufficient to catch sophisticated spam accounts that accumulate karma quickly through low-effort viral content. Moderators can incorporate CQS directly into AutoModerator rules:
# Filter posts from low-CQS users regardless of karma
type: submission
author:
contributor_quality: "= lowest"
action: filterPractical implications: a "Lowest" CQS user will have posts automatically filtered in subreddits using this rule, even with substantial karma. Email verification meaningfully improves CQS and is one of the easiest improvements available. CQS updates regularly and is not static.
Shadow Bans and Spam Detection
Reddit's anti-spam system operates through multiple layers. Behavioral patterns that trigger detection include:
- Posting identical or near-identical links across multiple subreddits in short succession
- Using multiple accounts from the same IP address or device fingerprint
- Employing automated posting tools or bots
- Using VPNs or proxies with flagged IP addresses
- High external link density relative to comment engagement
- Disproportionate post-to-comment karma ratio
When Reddit's system flags an account, it applies a shadow ban -- posts become invisible to all users except the account itself, which still appears to function normally. To check: log out and attempt to access your profile URL. If it returns "page not found," the account is likely shadow-banned. Reddit provides an official appeals page at reddit.com/appeals.
9. 2024-2026 Algorithm Changes
The Death of r/all (2025)
This is the largest single structural change to Reddit's content discovery system in years:
- December 2024: Reddit begins testing removal of r/all
- January 2025: r/all removed from mobile apps
- February 2025: r/all removed from desktop sidebars
- April 2025: r/all permanently deprecated; all r/all URLs redirect to the Home feed
Previously, a post going viral in a subreddit could cross over to r/all and be exposed to millions of non-subscribers. That secondary amplification layer no longer exists. Post virality is now more subreddit-contained unless a post gets picked up by the ML-powered Home feed recommendation system. CEO Steve Huffman stated the company was "moving away from" discovery feeds toward personalization, citing data showing algorithmic feeds drive longer session times.
ML-Powered Home Feed (2025)
Reddit's Best sort on the Home feed now incorporates machine learning personalization. The ML system considers:
- Whether a user tends to engage with new vs. established communities
- Account age and activity history
- Types of posts previously upvoted or commented on
- Subreddit browsing patterns
This is a departure from the pure normalized Hot scoring. For organic content creators, this means account behavior and engagement history now influence which subreddits' posts a given user sees. Building genuine community engagement is now more valuable than simply targeting high-traffic subreddits.
2025-2026 Behavioral Changes
Users in r/TheoryOfReddit noted apparent Hot algorithm changes in March 2025, with some posts under 50 upvotes being pushed to the top of feeds alongside posts with much higher scores. Reddit has not officially confirmed this change. The 2026 trend reports note increased weight on comment quality and discussion depth vs. raw upvote counts.
Additionally, a Google algorithm update in late 2024 reduced Reddit's organic search referral traffic, contributing to Reddit falling below Q4 2024 DAU estimates (101.7M actual vs. 103.8M expected). This illustrates how interdependent Reddit's ecosystem is with external platforms -- and why relying solely on Google-referred Reddit traffic is risky.
Verified vs. Unverified Claims
Several commonly repeated claims about Reddit's algorithm remain unverified in the closed-source era:
| Claim | Status |
|---|---|
| Posts below ~65% upvote ratio are penalized | Plausible (only 15.3% of Hot posts below 70%), but not officially documented |
| Comments and saves signal value beyond upvotes | Plausible per 2026 reports, unconfirmed in formula |
| Dwell time affects ranking | Reported in marketing analyses, unverified |
| Reports and hides negatively affect ranking | Consistent with moderation practices, undocumented |
Vote Fuzzing -- Reddit's Anti-Manipulation System
Reddit's vote fuzzing system works on two simultaneous levels to prevent vote manipulation:
Layer 1: Shadow Ban Masking
When Reddit detects a spam or bot account and shadow-bans it, the account's votes are discarded silently. To prevent the bot from detecting its own ban (which would trigger creation of a new account), Reddit ensures the displayed vote count does not obviously reflect the removal of those votes.
Layer 2: Randomized Display Noise
Reddit displays vote counts with a small amount of random noise, causing the displayed score to vary slightly each time a user refreshes the page. Even legitimate users cannot determine with certainty whether a specific vote was counted. Vote fuzzing activates after a post receives its first real vote -- brand-new posts with 0 votes are not fuzzed.
The practical effect: operators of vote-manipulation bots cannot accurately measure whether their bots' votes are being counted, making systematic fraud detection significantly harder.
Additional Mechanics and Common Misconceptions
Does External Traffic Help Reddit Rankings?
No, not directly. External page views, click-throughs from X, or referral traffic from other sites are not counted by Reddit's ranking algorithm. The formula uses only votes and time. External traffic can help indirectly if visitors then upvote the post, but the traffic volume itself is invisible to the algorithm.
Does Post Type Affect Rankings?
The Hot formula treats all post types identically -- there is no format-based modifier. However, format affects user behavior, which affects vote velocity. Mismatching format to community culture creates a drag on engagement.
Do Post Edits Affect Ranking?
No. Editing a post after submission does not reset or boost its ranking score. The timestamp is set at submission and does not change. Submitting a bare-bones post to secure an early timestamp and then editing content in is counterproductive -- it wastes early upvotes on incomplete content.
What This Means for Marketers
Reddit's ranking system rewards one thing above all: genuine community value delivered fast. The Hot algorithm's logarithmic, time-decaying structure means that high-quality content posted at the wrong time, to the wrong community, or without early momentum will fail. More modest content that perfectly matches its audience and triggers rapid early engagement can reach the front page.
The five most actionable takeaways:
- 1. Velocity in the first 30 minutes is the single largest lever. Post during peak activity windows (Tuesday-Thursday, 6 AM-12 PM EST) to maximize early exposure.
- 2. Mid-size subreddits (100K-500K) offer better organic traction than mega-communities. The velocity threshold is reachable and the normalized Hot algorithm ensures your top post gets front-page representation.
- 3. Account trust (CQS) now matters as much as karma. Verify your email, engage genuinely, and maintain a healthy comment-to-post ratio to avoid silent filtering.
- 4. Comment karma is more transferable than post karma for gaining access to new communities. Build it first.
- 5. The r/all amplification channel no longer exists. As of April 2025, building genuine community presence is the only reliable path to organic reach at scale.
Understanding the algorithm is the foundation -- but executing on it still requires creating content that matches each subreddit's culture, using the right format, and engaging authentically. Shippers Club applies these algorithmic principles automatically -- paste a URL and get Reddit posts optimized for the right subreddits, formats, and timing windows. For a complete playbook on turning this knowledge into a repeatable Reddit marketing system, read our Reddit marketing strategy guide. For plug-and-play templates you can start using today, see our Reddit post templates.
Frequently Asked Questions
What formula does Reddit use to rank posts?
Reddit's Hot ranking algorithm uses the formula: score = log10(max(|net_votes|, 1)) + (epoch_seconds - 1134028003) / 45000. Votes are compressed logarithmically (the first 10 upvotes equal the next 990 in ranking power), and a post's score increases by 1.0 every 12.5 hours regardless of votes, meaning newer posts always have a time advantage over older ones.
Why do the first 30 minutes of a Reddit post matter so much?
Because of the Hot algorithm's logarithmic vote compression and time decay, early upvotes are exponentially more valuable than later ones. A post with 50 upvotes in 30 minutes will outrank a post with 200 upvotes over 12 hours. Early upvotes push the post higher in the feed, which exposes it to more users, which generates more upvotes -- creating a compounding velocity loop.
When is the best time to post on Reddit?
Data from a 2,000-post study shows that the optimal window is 6 AM to 12 PM Eastern Time, Tuesday through Thursday. Posts in the 9 AM-12 PM EST window generated 730% more engagement than late-night posts. This aligns with peak US morning browsing, which maximizes the chance of getting enough early upvotes during the critical first 30 minutes.
How does Reddit's Best sort differ from Hot?
Hot ranks posts by time-weighted votes (newer posts with fast upvotes win). Best uses the Wilson Score confidence interval -- it estimates the true upvote ratio a post would receive if everyone voted, penalizing low sample sizes. Best is the default sort for comments and is also used in the personalized Home feed with ML personalization layered on top.
What is Reddit's Contributor Quality Score (CQS)?
CQS is Reddit's internal trust system that goes beyond karma. It assigns accounts one of five tiers (Highest to Lowest) based on rule violations, spam reports, IP patterns, email verification, engagement quality, and account consistency. Moderators can use CQS in AutoModerator rules to filter low-trust users even if they have high karma.
How much karma do I need to post on most subreddits?
Most subreddits require between 10 and 200 combined karma, though cautious communities may require 500-1,000+. A practical benchmark is 1,000 karma and 6 months of account age for unrestricted access to most communities. Comment karma is more valuable than post karma because it signals genuine engagement and is harder to inflate.
Software developer who has built and marketed multiple SaaS products using Reddit — including FreeSVGConverter and ImgBolt. Built Shippers Club to automate the Reddit marketing techniques he developed over years of doing it manually.
Turn Algorithm Knowledge Into Action
Paste a URL, get subreddit-matched content optimized for velocity and timing.
Try It Free
6. Comment Ranking -- How Best Sort Works
The default comment sort on Reddit is "Best" -- the Wilson Score confidence interval lower bound described above. This system was introduced in 2009 at Randall Munroe's suggestion as a replacement for simple upvote-count sorting.
The key insight: ratio matters, but so does sample size. A comment with 10 upvotes and 0 downvotes receives a lower ranking than a comment with 100 upvotes and 0 downvotes, even though both have a 100% upvote ratio. The algorithm is conservative with small sample sizes.
Early Commenting Advantage
Early comments have a time advantage only because they accumulate votes sooner. The Best sort does not directly weight time of posting -- it decides position based solely on votes. But commenting early on a rapidly growing thread means your comment is seen by the most users during the thread's growth phase, which translates to more upvotes.
A late comment with genuinely exceptional quality can still surface to the top if it receives enough upvotes relative to downvotes. But it needs both a strong upvote ratio and enough total votes to establish statistical confidence.
Comment Karma vs. Post Karma
Reddit tracks four karma types: post karma, comment karma, community-specific karma, and awarder/awardee karma. For building posting access across multiple subreddits, comment karma is the more efficient investment:
Note that Reddit's karma calculation does not follow a 1:1 ratio with upvotes and shows diminishing returns. A post receiving 38,000 upvotes might generate roughly 5,000 karma points.