How Reddit Upvotes Work: The Algorithm Behind Every Viral Post

Most people think Reddit ranks posts by total upvotes.

They’re wrong.

A post with 50 upvotes can outrank one with 500. A post with zero downvotes can get buried while a controversial one climbs to the front page.

The difference comes down to three things: when the votes arrive, how Reddit scores them, and which accounts cast them.

Here’s exactly how it works.

reddit ranking algorithm

The Hot Score Formula

Reddit’s default feed - the one most users see - runs on the “Hot” algorithm. It’s a simple formula with brutal consequences.

The score works like this:

Hot score = logโ‚โ‚€(net votes) + (time posted รท 45,000)

In plain English: every 10x increase in votes only adds 1 point to your ranking. But every 12.5 hours of age subtracts a full point.

That math creates a problem for older posts. A 12-hour-old post needs roughly 10 times more upvotes than a brand new post just to hold the same rank. After 24 hours, it needs 100x more. After 36 hours, it’s basically dead.

This is why Reddit’s front page refreshes constantly. The Reddit algorithm is designed to kill old content and push new content up - fast.

early signals reddit
Early post signals are very important.

It also means timing isn’t optional.

A great post published at 3 AM when your subreddit is asleep never gets the early votes it needs. By the time people wake up and start scrolling, fresher posts have already taken the slots.

We built a best time to post tool specifically to solve this problem.

“Hot” gets the most attention, but Reddit actually runs five separate sorting algorithms. Each one surfaces different content.

How Reddit Sorts Content: 5 Algorithms, 5 Different Rules

  • ๐Ÿ”ฅ Hot: The default. Net upvotes weighted against time. Rewards posts that gain traction quickly and punishes anything older than a few hours. This is where the ranking battle happens.
  • โœ… Best: Used mainly for comment sorting. It runs on a Wilson score confidence interval. Instead of ranking by raw upvote count, it calculates the probability that a comment is good based on its vote ratio and sample size. A comment with 5 upvotes and 0 downvotes can outrank one with 100 upvotes and 40 downvotes - because the first comment has a 100% approval rate, even on a small sample.
  • โ†—๏ธ Rising: Tracks vote velocity relative to a subreddit’s normal activity. If a subreddit usually sees posts get 10 upvotes in the first hour and yours gets 30, you’ll show up in Rising. This feed is where moderators and power users hunt for new content, so getting here often creates a snowball effect.
  • ๐Ÿฅ‡ Top: Pure net score (upvotes minus downvotes), filtered by time period. No time decay. The post with the most net votes in the last hour, day, week, month, year, or all time wins. Simple popularity contest.
  • ๐ŸŽ‰New: Chronological. No algorithm. Every post shows up here first, which is why the first few minutes after posting matter so much. If nobody engages with your post while it sits in New, it never makes it to Rising or Hot.

For marketers, the path is always the same: survive New, break into Rising, reach Hot.

Each stage requires faster engagement than the last.

Why Some Upvotes Count More Than Others

Not all upvotes carry equal weight. Reddit’s algorithm adjusts vote impact based on several signals.

Account age and karma

A vote from a 3-year-old account with 10,000 karma carries more algorithmic weight than one from an account created last week.

Reddit has never published the exact formula, but the pattern is consistent: established accounts influence rankings more than new ones.

IP diversity

Votes arriving from the same IP address or the same narrow IP range get discounted or ignored entirely.

This is Reddit’s first line of defense against vote manipulation - and it’s why cheap upvote services that run everything through a handful of servers don’t actually move the needle.

Voting patterns

If an account only ever upvotes one user’s posts, Reddit flags that relationship and devalues those votes.

The algorithm watches for coordinated behavior across accounts, not just individual votes.

Upvote-to-engagement ratio

A post with 200 upvotes and zero comments looks unnatural. Reddit’s anti-spam systems weigh the ratio between votes and other engagement signals like comments, awards, and shares. Posts that get upvotes but no conversation tend to stall or get flagged.

This is exactly why delivery pacing and account quality matter when you buy Reddit upvotes.

Cheap votes from bot accounts get discounted by the algorithm before they do anything. Votes from aged accounts with diverse IPs and natural activity histories actually stick.

Vote Fuzzing: The Numbers You See Aren’t Real

Look at any Reddit post, and the vote count you see is a lie.

Reddit intentionally adds fake upvotes and fake downvotes to every post’s displayed count. The actual net score stays roughly accurate, but the individual upvote and downvote numbers are scrambled.

This system is called vote fuzzing, and Reddit uses it to make manipulation harder.

If you buy 50 upvotes and the count only moves by 30, it doesn’t necessarily mean 20 votes were “lost.” It means Reddit fuzzed the display.

The ranking effects are still real. A fuzzed post with a true score of 150 still outranks one with a true score of 100. You just can’t rely on the displayed numbers to measure exactly what happened.

Refresh any popular post three times in a row. The vote count changes slightly each time. That’s fuzzing at work. managing multiple campaigns.

vote fuzzing
The first hour is very important.

The First-Hour Window

Everything above points to one conclusion: the first 60 minutes after posting decide whether your content lives or dies.

Here’s what the algorithm rewards in that window:

The first 10 upvotes carry roughly the same ranking impact as the next 100. That’s the logarithmic scoring at work. Getting from 1 to 10 fast is more valuable than getting from 100 to 200 slowly.

Comments matter as much as votes. A post with 15 upvotes and 8 comments in the first hour will outperform a post with 40 upvotes and zero comments. Reddit treats active discussion as a quality signal.

Posts that sit untouched for the first 15 minutes in the New queue rarely recover. By the time someone finds them, newer submissions have already pushed them down. The algorithm has moved on.

This is why post quality alone doesn’t guarantee results. You need the right subreddit, the right timing, and enough initial momentum to survive the New queue. We cover the full playbook in our Reddit marketing guide.

What This Means For Your Strategy

The algorithm isn’t random. It follows rules. Once you understand those rules, the tactics become obvious:

Build karma before you promote. Low-karma accounts get filtered by AutoModerator in most large subreddits before the algorithm even sees the post. We wrote a full guide on how to boost Reddit karma the right way.

Write posts that match subreddit culture. The algorithm amplifies engagement. If your post reads like an ad, people downvote it - and downvotes in the first hour are devastating. Learn what works in our guide on writing Reddit posts that perform.

Don’t ignore comments. The comment ranking algorithm (Wilson score) is separate from the post ranking algorithm. A well-placed comment on a rising post can drive more traffic than the post itself.

Reddit’s algorithm is unforgiving to lazy content. But it’s predictable. And predictable systems can be worked.

Adjust According to Feedback and Performance

Reddit is a moving target. What works one week might fall flat the next. Algorithms shift, subreddit mods change rules, and user sentiment evolves.

To keep your posts performing, you need to stay agile.

Use a simple spreadsheet to log:

  • The subreddit name
  • Time/day posted
  • Type of post (text, link, image)
  • Engagement (upvotes, comments, click-throughs)

After a few weeks, patterns will emerge. You'll see which formats and timings consistently work, and which don't.

After working with a client promoting an AI writing tool, we noticed that:

  • Text posts in r/Freelance flopped
  • Screenshots + brief context in r/SideProject gained solid traction
  • Sharing a case study in r/Entrepreneur worked only when framed as a lesson, not a pitch

We adjusted formats and saw 3x better engagement within a month.

Tip: Read the comments (even the negative ones)

reddit feedback
Feedback is gold.

Sometimes, the feedback is gold:

  • This would've worked better if you showed the results first.
  • Too vague. Got any numbers?
  • Mods are deleting stuff like this lately.

Use that to refine your next post.

Reddit users tend to be straightforward, but they are often correct.

Use Google Alerts or tools like REDAccs Leads to track if your brand or keyword shows up on Reddit. This helps you spot where people are already talking about you, and join naturally, rather than forcing visibility.

FAQ

Reddit’s Hot score combines net upvotes (logarithmic scale) with time decay. Every 12.5 hours, a post loses the equivalent of a 10x increase in votes. This forces constant turnover and rewards posts that gain traction quickly after being published.

No. Votes from older, higher-karma accounts with diverse activity carry more weight than votes from new or low-activity accounts. Reddit also discounts votes from the same IP range and flags coordinated voting patterns between accounts.

Fast. A post needs roughly 10x more upvotes every 12.5 hours just to hold its current position. Most front-page posts spike within the first 2-3 hours and fall off within 12-24 hours. Posts older than 24 hours rarely compete for Hot ranking.

Vote fuzzing is Reddit’s system for obscuring real vote counts. It adds artificial upvotes and downvotes to the displayed numbers so the true count is hidden. The net score and ranking effects remain accurate - only the displayed breakdown is scrambled. This makes it harder to detect or measure vote manipulation from the outside.