Understanding Stack Overflow Vote-to-Reputation Mapping
Stack Overflow translates every upvote and downvote into reputation points, but the system caps daily gains at 1,000 points and applies a 10% decay to posts older than one year.
03 Nov 2026, 03:24 UTC

The Problem and the Quick Take
Stack Overflow translates every upvote and downvote into reputation points, but the system caps daily gains at 1,000 points and applies a 10% decay to posts older than one year. The reputation mechanism has remained stable across recent years, with no major rule changes observed since 2023. If you’ve ever wondered why your reputation didn’t budge after several votes or why voting privileges disappeared temporarily, the caps and reversal rules are usually the cause. Useful takeaway: Track your daily vote budget carefully; up to 20 upvotes (or equivalent mix) grant the maximum 1,000 reputation from votes each day, and downvoting a post that gets deleted costs you 2 reputation points.
How a Vote Flows Through the Reputation System
When you cast an upvote on a question or answer, the post’s score increments by one and the author’s reputation increases by 10. You (the voter) gain 1 reputation point, provided you have the minimum 15 reputation to vote. A downvote subtracts 1 from the post’s score, deducts 2 from the author’s reputation, and subtracts 2 from your own reputation as a penalty. If the post is later deleted, vote reversal can occur, which may subtract the reputation changes you originally gained.
Diagnostic example: The Stack Overflow API endpoint /posts/{id}/votes returns vote metadata for a post. To use it, run a curl command with the post ID replacing <post-id>:
curl https://api.stackexchange.com/2.3/posts//votes?site=stackoverflow
Replace <post-id> with the numeric identifier of any question or answer. The response includes an array of vote objects with voteType (1 for upvote, -1 for downvote) and reputationChange. No authentication is required for public posts. If the request fails, check the error_id and error_message fields; a 404 indicates the post does not exist or is inaccessible.
Risks: Hitting the API’s rate limit temporarily blocks further calls; space requests a few seconds apart when testing multiple posts. Always verify the post’s existence before attributing reputation changes to voting activity.
Daily Reputation Cap and What Counts Toward It
Stack Overflow limits reputation earned from voting to 1,000 points per 24‑hour rolling period. This cap applies to the +1 reputation you gain per upvote on your own posts. Votes that exceed the cap are simply not added to your reputation total until the next rolling period. Accepted answers grant +15 reputation, but those are separate from the voting cap and arrive after a short grace period.
If you cast 200 upvotes in a day, you’ll receive exactly 200 reputation from those votes (200 × +1). The 1,000‑point ceiling means that once your daily tally reaches 1,000, additional votes have no reputation effect until the window shifts.
The 10% Decay Rule for Older Posts
To keep the reputation system stable over time, Stack Overflow applies a 10% reputation decay to posts that are older than one year. This means if a post earned the author 100 reputation through votes in its first year, the system reduces that portion by 10% each subsequent year, eventually stabilizing at a lower effective reputation. The decay only affects the author’s historical reputation total; it does not change the post’s current score or the vote counts you see.
You can observe decay by comparing a user’s total reputation displayed on their profile with the sum of recent vote activity shown in the reputation tab. A noticeable gap for users with many old posts often signals the decay in effect.
Common Mistakes and How to Avoid Them
- Downvoting to express disagreement: Downvotes are meant to signal low-quality content, not personal or political disagreement. Using them otherwise can trigger automated abuse filters and result in your own reputation being audited.
- Expecting immediate +15 from an accepted answer: The +15 reputation for an accepted answer is applied after a grace period and only once per question. It does not count toward the daily voting cap.
- Ignoring the daily vote limit: Once you hit 1,000 reputation from votes, further votes that day add no reputation. Attempting to work around this by voting on many low‑quality posts can flag your account for voting fraud review.
- Surprised by reputation loss after post deletion: If you upvoted a post that is later deleted, your +1 reputation is reversed. The same applies to downvotes, which incur a −2 penalty reversal.
Practical Verification Steps
- Check your reputation history in the Stack Overflow profile dropdown; each vote entry shows the type and reputation change.
- Use the API endpoint
/posts/{id}/voteswith a known post ID to confirm vote types and the reputationChange field matches the +1/−2 pattern. - Monitor your daily total over a few days: note the cumulative +1 reputation from upvotes until it plateaus at 1,000, then pause and check the next day.
- Compare a user’s total reputation with the reputation tab sum to spot the 10% decay on posts older than a year.
These steps require no special permissions beyond a web browser and, for the API, a Stack Overflow account if you need to test on your own posts.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.