Logo
MediaFast

Free calculator, no signup

Reddit Upvote Ratio Calculator: See the Real Votes Behind Any Score

Short answer: a Reddit score is upvotes minus downvotes. Enter the score and the upvote ratio, and 500 points at 96% becomes 522 up and 22 down.

upvotes = ratio x score / (2 x ratio - 1)
2 inputs, instant result Runs in your browser Updated October 2026

Post Data

The number displayed next to the post (net upvotes minus downvotes).
0100,000
The percentage of votes that are upvotes (visible on old.reddit.com sidebar).
%
50%100%

Where to Find the Upvote Ratio

Old Reddit: open the post on old.reddit.com and look at the sidebar on the right. It reads like "500 points (96% upvoted)".

Post JSON: add .json to the end of the post URL and find the upvote_ratio field. 0.96 means 96%.

Your own posts: the post insights panel shows the author an upvote rate once the post has a few views.

Estimated Vote Breakdown
Upvotes
522
Downvotes
22
96% upvoted4% downvoted
Build a free sample Reddit plan for your next post
Net Score500
Total Votes544
Upvote Ratio96%
Total Engagement
544

522 upvotes + 22 downvotes = total votes cast on this post

Net Score
500

The displayed score on the post, which is upvotes minus downvotes

Controversy Score
Not Controversial
8/100

Almost universally positive. Very few people disagreed with this post. This is typical for highly useful content, guides, or widely appreciated posts.

Ratio Benchmarks
96-100%
Universally lovedYOUR POST
90-95%
Well received
80-89%
Mixed reception
65-79%
Controversial
50-64%
Highly divisive
What This Means for Your Content

Your Content is Resonating

A 96% ratio (controversy score 8/100) means the community liked what you posted. Keep producing this type of content. Posts like this build trust and karma over time, making future posts more visible.

Plan Your Next 96% Post
Next step with MediaFast

Now Write a Post That Earns These Upvotes

Enter your website and MediaFast builds a sample Reddit plan: subreddits hand-picked from 4,200+, a rule-aware draft, and when to post.

Post GeneratorRule-aware drafts in one clickSubreddit PickerHand-picked from 4,200+ subsBan-Safe PlaybookKeeps your account alive
No signup. The demo runs the real product.

Want the upvote-timing data? We'll email it

See when upvote ratios tend to run highest, plus weekly tips for getting more upvotes on your posts. No spam, unsubscribe anytime.

Free. No spam. Unsubscribe in one click.

Upvote ratio calculator, reverse mode

Got the Raw Counts? Get the Upvote Ratio

Type upvotes and downvotes from post insights, a dataset or a screenshot. Get the ratio and the score Reddit would show.

Upvote ratio from vote counts

Reverse mode

Ratio = upvotes ÷ (upvotes + downvotes). Reddit rounds the ratio it shows to a whole percent, so a post with 180 up and 20 down displays as 90% upvoted with a score of 160.

Upvote ratio90%
Score shown160
Total votes200

Where the two numbers live

How to See the Upvote Ratio (and Estimate Downvotes)

Reddit shows the score everywhere and the ratio in only a few places.

old.reddit.com/r/SaaS/comments/...
5001

What I learned from 30 days of posting our changelog on Reddit

submitted 6 hours ago by example_founder to r/SaaS

84 comments share save

this post was submitted 6 hours ago

500 points (96% upvoted)

shortlink: redd.it/xxxxxx

2
3"score": 500, "upvote_ratio": 0.96

Illustrative mockup, not a real post

  1. 1

    The score

    The number between the arrows: upvotes minus downvotes.

  2. 2

    The ratio, old Reddit

    The old.reddit.com sidebar prints it next to the score, like 96% upvoted.

  3. 3

    The ratio, JSON

    Add .json to the post URL and read upvote_ratio. 0.96 means 96%.

All 4 places Reddit shows the numbers, plus the 4 step method
WhereScoreUpvote ratioWho sees it
old.reddit.com sidebar Yes % upvotedAnyone
Post URL + .json score upvote_ratioAnyone
Post insights Yes upvote ratePoster and mods
Current reddit.com and apps Yes usually hiddenAnyone

How do I see downvotes on Reddit? 4 steps

01

Read the score

Copy the number between the vote arrows. It is upvotes minus downvotes.

02

Find the upvote ratio

Check the old.reddit.com sidebar, or add .json to the post URL and read upvote_ratio.

03

Enter both numbers

The calculator solves upvotes = ratio x score / (2 x ratio - 1).

04

Read the split

Downvotes are upvotes minus the score. Add both for total votes cast.

Post insights details from Social Media Today's report on creator stats. Layout checked October 2026.

The formula, step by step

How the Upvote Calculator Turns a Score Into Real Votes

Two facts about every post, one line of algebra.

Step 1

What Reddit shows

score = up - down

The number on the post is the net result.

Step 2

What the ratio means

ratio = up ÷ (up + down)

96% means 96 of every 100 votes were up.

Step 3

Solve for upvotes

up = ratio × score ÷ (2 × ratio - 1)

Then down = up - score.

Audience seen from behind, hands raised and applauding toward a stage500 at 96%

A room that agrees

Up522
Down22
Votes544

A clean, well-liked post. The calculator's default.

Town hall meeting with two sides of the room arguing500 at 70%

Same 500, a heated room

Up875
Down375
Votes1,250

Same score, twice the voters. A heated thread behind a modest number.

Packed stadium stands, one half lit warm and the other half grey3,000 at 55%

A huge crowd, split down the middle

Up16,500
Down13,500
Votes30,000

A small visible score on top of a huge, divided crowd.

All 6 worked examples, from 12 points to 3,000
PostUpvotesDownvotesVotesControversyWhat it tells you
500 at 96%522225448/100A clean, well-liked post. The calculator's default.
500 at 70%8753751,25060/100Same score, twice the voters. A heated thread behind a modest number.
1,200 at 88%1,3891891,57824/100A strong post in a mid-size subreddit with some pushback.
40 at 62%1036316676/100Looks like a flop, yet 166 people voted. The topic split the room.
3,000 at 55%16,50013,50030,00090/100A small visible score on top of a huge, divided crowd.
12 at 100%120120/100No downvotes, so score and upvotes match.

Illustrative inputs, not real posts. Rounded to whole votes, like the calculator.

Same score, different crowds

Why 500 Points Can Mean 510 or 1,500 Upvotes

Every post below shows a score of 500. The upvote ratio decides how many people voted.

Every post below shows a score of 500
upvotes downvotes
98%520 votes
510 up · 10 down
90%626 votes
563 up · 63 down
80%834 votes
667 up · 167 down
70%1,250 votes
875 up · 375 down
60%2,500 votes
1,500 up · 1,000 down

Bar length is total votes cast. Computed with the calculator's formula, rounded to whole votes.

How precise is the estimate? Rounding and vote fuzzing

How precise is the estimate?

Upvote range from ratio roundingscale: ±12% of the estimate
500 at 96%
522 best · 519 to 525 up · 19 to 25 down
500 at 90%
563 best · 559 to 566 up · 59 to 66 down
500 at 70%
875 best · 860 to 891 up · 360 to 391 down
40 at 62%
103 best · 100 to 107 up · 60 to 67 down
3,000 at 55%
16,500 best · 15,136 to 18,167 up · 12,136 to 15,167 down

The solid line is the best estimate, the soft band is every upvote count the rounded ratio allows. Before fuzzing.

Rule of thumb: above 90% the estimate is tight enough to quote. Near 55% rounding moves it by thousands, so give a range.

Vote fuzzing and what a ratio tells you

Reddit never shows exact vote counts. Here is why, and how to read what it does show.

Score is not upvotes

500
510 up · 10 down
500
1,500 up · 1,000 down

Both posts show 500. The score alone says nothing about how many people voted.

Fuzzing hides the exact split

Load 1500
Load 2502
Load 3499

Reddit adds noise so spammers can't tell if their votes counted. Small changes between loads are normal.

Volume says more than score

55% upvoted1,000 votes
99% upvoted100 votes

1,000 votes at 55% sparked more discussion than 100 at 99%. MediaFast finds the threads where that discussion happens, you write the replies.

Reddit voting explained

What Is a Good Upvote Ratio on Reddit? 5 Bands

Five bands, from rejected to loved, read straight from how the ratio is defined.

Upvote ratio, low to high
Below 50%
More down than upThe community rejected it.
Off-topic posts, obvious ads, rule breaks
50 to 70%
SplitThe room is divided.
Politics, heated debates, posts flagged as spam
70 to 85%
MixedNoticeable pushback.
Strong opinions, self-promotion
85 to 95%
Well receivedMinor disagreement.
Good discussion posts, product updates
95 to 100%
LovedAlmost no downvotes.
Helpful guides, milestones, wholesome posts

A reading guide from how the ratio is defined, not an official Reddit scale. Compare posts inside the same subreddit when you can.

How many upvotes to hit Hot

The Upvotes You Need Depend on the Clock

Hot ranks by log10 of net score plus credit for being newer. You chase the post in the slot above you, not a fixed number.

Mountain path with flags rising to a trophy on the summit, each flag a later posting time
120 pointsties a 100 point post 1 hour newer
1
302 points6 hours behind it
2
1,000 points12.5 hours behind, a 10x climb
3
8,318 pointsa full day behind, 83x
4
Score an older post needs to tie a 100 point post. Every 12.5 hours of age is a 10x climb.
Tenfold window12.5 h45,000 seconds of age equals a 10x score difference.
6 hours newer3.02xA post 6 hours younger ties with about a third of the score.
24 hours older83xScore edge a day-old post needs over a fresh one.

Hot slot target

12.5 hours = 10x score
Net score your post needs to tie it on Hot

120

Your post is 5 hours newer, so it needs fewer points than the 300 the older post has. Based on the archived open-source Hot formula. Today's feeds add personalization on top, so treat this as a baseline.

The Hot formula, the age gap chart and a worked duel

The archived Hot formula

order   = log10(max(abs(score), 1))
sign    = 1 if score > 0, -1 if score < 0, else 0
seconds = post_time - 1134028003
hot     = round(sign * order + seconds / 45000, 7)

From _sorts.pyx in the reddit-archive repository. 45,000 seconds is 12.5 hours.

Score needed to tie a 100 point post that is newer bylog scale
30 min
110
1 hour
120
2 hours
145
3 hours
174
6 hours
302
12.5 hours
1,000
24 hours
8,318

Multiplier = 10 to the power of (hours ÷ 12.5), from the archived Hot formula. A baseline, not a promise about today's personalized feeds.

The first hours decide most of it

100
r/example · posted 6 hours ago100 net upvotes
log10(score)2.00
freshness+0.00
hot value2.00
50
r/example · posted 30 min ago50 net upvotes
Ranks higher
log10(score)1.70
freshness+0.44
hot value2.14

50 net upvotes posted 5.5 hours later beats 100, because 5.5 hours of freshness is worth about a 2.8x score edge.

Earn the early votes

Score tier reference

How Net Score Maps to Reddit's Logarithmic Ranking Scale

Hot takes log10 of net score before weighing it against age. Formula math, not a front-page guarantee.

Five glossy blocks rising like stairs with an upvote arrow on each step and a crown on the highest one
1 to 9weight 0 to 0.95
1
10 to 99weight 1 to 1.99
2
100 to 999weight 2 to 2.99
3
1k to 9.9kweight 3 to 3.99
4
10k+weight 4+, diminishing
5
Same +1 of weight per step, so the first 10 upvotes weigh as much as the next 90.
Ranking weight of the score part of Hot
0 to 0.95
1 to 1.99
2 to 2.99
3 to 3.99
4+
1 to 910 to 99100 to 9991k to 9.9k10k+

Each step is a 10x jump in net score for the same +1 of ranking weight.

  1. 0 to 0.95
    1 to 9 net upvotesBarely registers. Time decay dominates.
  2. 1 to 1.99
    10 to 99 net upvotesSame jump as the whole 1 to 9 tier.
  3. 2 to 2.99
    100 to 999 net upvotesAnother full step. The first 10 upvotes weigh as much as the next 90.
  4. 3 to 3.99
    1,000 to 9,999 net upvotesWhere many strong subreddit front-page posts sit.
  5. 4+
    10,000+ net upvotesDiminishing returns. Early vote speed matters more than the final total.
What Reddit's own ranking code says: 3 findings, a quote and a video
80% CI

Best ranks comments by a Wilson score interval at 80% confidence, not a simple up to down average.

View the source code
10 = 100 = 1,000

In Hot, the first 10 upvotes weigh the same as the next 100, then the next 1,000.

View the breakdown
Lower bound

1 upvote and 0 downvotes cannot outrank 200 upvotes and 20 downvotes.

View the research

"The first 10 upvotes have the same weight as the next 100 upvotes which have the same weight as the next 1000."

Amir Salihefendic, "How Reddit ranking algorithms work" (2015)

Tiers derived from Reddit's archived sorting code and Amir Salihefendic's breakdown of Reddit's ranking algorithms.

Watch: how Reddit's point algorithm works

Controversial sort, worked out

Why Volume Beats Balance on the Controversial Tab

Reddit's archived formula raises total votes to the power of how evenly they split.

Controversial sort, 6 posts
upvotes downvotes
100 up, 90 down190 votes, balance 0.90
112.4
60 up, 40 down100 votes, balance 0.67
21.5
550 up, 450 down1,000 votes, balance 0.82
284.8
1,000 up, 100 down1,100 votes, balance 0.10
2.0
2,000 up, 200 down2,200 votes, balance 0.10
2.2
5,000 up, 4,000 down9,000 votes, balance 0.80
1,456.8

First bar is the up/down split, second bar is the controversy score on a log scale. Illustrative inputs, rounded to one decimal.

The Controversial formula, and which sort to trust in 7 cases

The formula

magnitude = ups + downs
balance   = minority / majority
score     = magnitude ** balance
50/50: balance 1, score = total votesLopsided: score crushed toward 1

From _sorts.pyx. The calculator's 0 to 100 controversy score reads one post, this formula explains the tab.

Which Reddit sort should you trust, 7 cases

Which sort you are looking at changes what score and ratio mean.

If you wantCheckWhy
What is trending right nowHotAge counts, so an hour-old post can outrank yesterday's bigger one.
The highest scoring postsTop + time filterIgnores age and sorts on net score.
Divisive threadsControversialSurfaces big, closely split posts on purpose.
What was just postedNewA timestamp sort, no score or age weighting.
To judge a comment threadBestWilson score: 5 up and 0 down can rank above 100 up and 40 down.
To explain a low ratio for its scorethe topic firstSuspect brigading or a divisive topic before calling the content bad.
To compare posts across subredditsratio + total votesSubreddit size swings raw score by orders of magnitude.

Searching for free upvotes?

Upvote Generators and Bots: What Reddit Does With Them

This tool reads numbers, it never adds votes. Here is what happens to bought or bot votes.

Filtered

Bot or bought votes land

Fuzzing exists so cheaters can't check whether fake votes counted. Filtered votes do nothing for the post.

Rule 2

It breaks Rule 2

Reddit's Rule 2 lists vote manipulation as content manipulation, next to spam and ban evasion.

Account risk

The account takes the hit

Posts removed, accounts suspended, links to the domain blocked. A burned domain is hard to bring back.

Earn the first 10 upvotes instead

Fit the subreddit's rules, post when it is awake, reply to every early comment. See buying Reddit upvotes for the risks and why your post isn't getting upvotes for the fixes.

Promoting a product? MediaFast finds the subreddits that fit and tells you when to post.

Get more upvotes the clean way
First 10 upvotes
+1.0
Next 90 upvotes
+1.0

Same +1 of log10 weight in the archived Hot formula.

Why the numbers look the way they do

4 Changes That Shaped Reddit's Vote Display

A few public decisions explain why any calculator can only estimate.

2014
55%how liked fuzzed popular posts looked

Up and down counts replaced by a percentage

The Daily Dot, June 2014
2016
10k+scores now shown with a k

Scores rebuilt to show real participation

TechCrunch, December 2016
2017
Archivedlast documented formulas

Ranking code stops being public

Slashdot, September 2017
2022
10 viewsminimum before stats show

Authors get an upvote rate in post insights

Social Media Today, March 2022
What changed in each year
2014

Up and down counts replaced by a percentage. Reddit dropped separate up and down numbers in June 2014. Admin Chad Birch said accurate counts would expose anti-cheating systems.

2016

Scores rebuilt to show real participation. Admin KeyserSosa: if 50,000 people upvoted something, the score should reflect it. Big posts jumped overnight.

2017

Ranking code stops being public. Reddit archived its public repositories. The Hot, Controversial and Best formulas here are the last documented version, not today's personalized feeds.

2022

Authors get an upvote rate in post insights. Creator stats came back on desktop: the poster and mods see views, upvote rate, karma earned and shares. Everyone else sees the score.

More on 2017: BetaNews on Reddit ending open-source updates. Any tool claiming the exact upvotes for today's front page is guessing.

6 mistakes when reading Reddit vote data
MistakeWrong readRight read
Reading the score as total upvotes 500 points means 500 upvotes. 500 is net score. Split it with the ratio.
Low ratio means bad content 60% upvoted, so the post flopped. The controversy code surfaces big split threads on purpose. Check the topic.
Comparing scores across subreddit sizes 2,000 in a giant sub beats 200 in a niche one. Compare ratio and total votes. Hot log10s the score anyway.
Quoting one exact number Exactly 875 upvotes at 70%. 860 to 891 upvotes. Quote a range below 80%.
Chasing raw upvotes on comments The most upvoted comment is the best one. Best uses the Wilson lower bound. A clean small ratio can rank higher.
Confusing Hot and Top Gone from Hot means it flopped. Hot decays with age, Top does not. It can still sit near the top of Top.
Expect numbers to shift slightly on refresh Never use vote estimates to plan manipulation
Reddit voting glossary, 10 terms
TermMeaning
ScoreNet number on a post or comment, upvotes minus downvotes.
Upvote ratioShare of votes that were upvotes, upvote_ratio in post JSON.
Upvote rateThe same idea, shown to the author in post insights.
Vote fuzzingNoise Reddit adds to displayed votes to deter manipulation.
Hot sortLog10 of net score plus credit for being newer.
Top sortNet score inside a time window, no age decay.
Controversial sortSurfaces posts with many votes split close to evenly.
Best sortComments ranked by the Wilson score lower bound.
KarmaA user's running total across posts and comments.
45,000 secondsThe 12.5 hour Hot constant, worth one 10x jump in score.
4 more questions worth answering

Does this calculator connect to my Reddit account?

No

Client-side math. Nothing is fetched, no login, nothing stored.

Can vote fuzzing make the estimate wrong?

Slightly

Fuzzing and whole-percent rounding are baked into what Reddit shows.

Why does the same post give a different answer later?

Live votes

Votes keep coming and fuzzing moves the numbers. Re-enter them.

Does a high controversy score mean my post did badly?

No

The split was close to even. Opinion posts often bring more comments.

Sources, checked October 12, 2026: where every number on this page comes from

Upvotes that turned into users

Founders Who Read the Room Before Posting

A good ratio is a signal the community trusts you. Here is what that trust turned into for a few founders.

Reddit Upvote Calculator FAQ

13 answers on upvote ratios, downvotes, vote fuzzing and what it takes to hit Hot.

Take the post score and the upvote ratio as a decimal and use upvotes = ratio x score / (2 x ratio - 1). Downvotes are upvotes minus the score. A 500 point post at 96% works out to about 522 upvotes and 22 downvotes, 544 votes in total. The calculator at the top of this page does it for you.

It is the share of all votes on a post that were upvotes. 96% upvoted means 96 of every 100 votes were up and 4 were down. It tells you how the room felt, while the score tells you the net result.

Reddit does not show downvote counts on posts. You can estimate them: read the score and the upvote ratio (old.reddit.com sidebar, or upvote_ratio in the post's .json), enter both into the calculator, and it returns the downvotes. On your own posts, the post insights panel shows you an upvote rate as well.

Anything from 85% up is well received, and 95% or more means almost nobody downvoted. 70 to 85% shows noticeable pushback, 50 to 70% means the room is split, and below 50% the post got more downvotes than upvotes. These bands follow from how the ratio is defined, not from an official Reddit benchmark, and heated topics sit lower even when the post is good.

No. Reddit shows an upvote ratio for posts, not for comments. A comment only shows its net score, and Reddit's API exposes upvote_ratio on posts (submissions) only, so the real up and down split of a comment cannot be worked out from public numbers. This calculator works on posts.

No. On old.reddit.com the sidebar of any post shows the % upvoted, and adding .json to the end of a post URL returns the upvote_ratio field. Both work in a normal browser with nothing to install. The current reddit.com site and the apps show only the score, and posters and mods also see an upvote rate in post insights.

Divide upvotes by total votes. 180 up and 20 down is 180 / 200 = 90%, and the score Reddit would show is 160. The reverse mode tool under the main calculator does this instantly.

Vote fuzzing is noise Reddit adds to displayed vote numbers so spammers cannot tell whether their votes counted. The net score stays roughly right, but the exact up and down counts are hidden. That is why any calculator, this one included, gives an estimate rather than an exact count.

The math is exact for the two numbers you enter. The limits come from Reddit: the ratio is rounded to a whole percent and the score is fuzzed. For a 500 point post at 96%, rounding alone allows anything from about 519 to 525 upvotes. Low ratios widen the range, so 500 at 70% could be anywhere from about 860 to 891 upvotes.

There is no fixed number. In Reddit's archived open-source Hot formula, a post needs a higher value than the post holding the slot, and that value is log10 of net score plus credit for being newer. Every 12.5 hours of age difference equals a 10x difference in net score, so a post 6 hours newer needs roughly a third of the older post's score to tie it. Today's feeds are personalized, so treat this as a baseline.

In June 2014 Reddit replaced the separate up and down counts with a percentage, because the old numbers were fuzzed and misleading. In December 2016 Reddit changed its vote counting so large posts show scores closer to their real participation, with scores over 10,000 shown in k. Separate up and down counts have not come back.

No. Reddit's rules list vote manipulation as content manipulation, and votes from bots, vote rings or bought accounts put the posting account and the domain at risk. This calculator only reads numbers you type in, it never adds votes. To earn real upvotes, fit the subreddit's rules and post when the community is awake.

This calculator's controversy score is a simple 0 to 100 measure of how close a ratio is to 50/50. Reddit's archived Controversial sort raises total votes to the power of minority votes divided by majority votes, so it also rewards volume. A 5,000 up and 4,000 down post scores far higher on Reddit's formula than a 100 up and 90 down post, even though both are closely split.

Reddit Analytics & Calculators

You know the score you need

Earn Your First 10 Upvotes in the Right Subreddit

Enter your website and MediaFast builds a sample Reddit plan: subreddits hand-picked from 4,200+ that fit you, a rule-aware draft, and when each one is awake.

Free live demo with your own website, no signup.