Chess Elo Calculator

Work out exactly what a game was worth. Enter both ratings and the calculator shows your expected score and the rating change for a win, a draw and a loss side by side.

TL;DR Elo change is K times the gap between what you scored and what the formula expected you to score. Beating someone far above you pays a lot; beating someone far below you pays almost nothing, and losing to them is expensive. The calculator above shows all three outcomes at once.

The formula

Arpad Elo's system has two steps. First, the expected score:

E = 1 / (1 + 10 ^ ((opponent rating - your rating) / 400))

This is a number between 0 and 1, and it is the share of a point the formula expects you to take from the game. Equal ratings give 0.5. A 200 point gap gives roughly 0.76 to the higher rated player, and 400 points gives roughly 0.91.

Second, the rating change:

change = K x (actual score - E)

Actual score is 1 for a win, 0.5 for a draw and 0 for a loss. FIDE rounds the final change to a whole number of rating points.

What the K-factor does

K sets how much a single game can move your rating. A high K makes the rating responsive and noisy; a low K makes it stable and slow. FIDE uses three values:

Online sites use their own values and their own variations on the system, so a calculation here will match FIDE exactly and will only approximate Chess.com or Lichess, which both use Glicko-style ratings with a reliability term the Elo formula does not have.

Three things the numbers teach

Upsets pay, safety does not. Beating a much stronger opponent gains far more than beating a much weaker one, and the formula is symmetric: losing to a much weaker opponent costs far more than losing to a strong one. Avoiding strong opposition is a slow way to lose rating.

A draw is not neutral. Against a much weaker player a draw is a rating loss, because the formula expected you to win. Against a much stronger player it is a solid gain.

Rating is a lagging measure. Improvement shows up in your rating long after it shows up in your play, because K deliberately damps the response. If you have fixed something real, expect the number to catch up over dozens of games rather than immediately.

The rating tells you the score, not the reason

Elo is a scoreboard. It measures results, and results are the sum of every decision you made in the games. It says nothing about which decisions were the bad ones.

That is a different question, and it needs the games rather than the ratings. Chess DNA analyses your recent games with Stockfish and sorts the errors into nine weakness themes, so the answer to "why am I stuck at this rating" comes back as something you can practise.

Frequently Asked Questions

How is chess Elo calculated?

Your expected score is 1 divided by (1 plus 10 to the power of the rating difference over 400). Your rating change is the K-factor multiplied by the difference between the score you actually got and that expected score, rounded to whole points.

How much Elo do you gain for beating a higher rated player?

It depends on the gap and the K-factor. With K equal to 20 and a 200 point gap in your opponent's favour, a win is worth roughly 15 points. Enter the two ratings above to see the exact figure for your case.

What is the K-factor in chess?

K is the multiplier that decides how far a single game can move a rating. FIDE uses 40 for a player's first 30 rated games, 20 for established players below 2400, and 10 once a player reaches 2400.

Does this calculator match Chess.com and Lichess ratings?

Not exactly. Both sites use Glicko-style systems that also track how reliable your rating is, so an uncertain rating moves further than a settled one. This calculator implements the classical Elo formula that FIDE uses, so it is exact for FIDE and an approximation online.

Why did I lose rating for a draw?

Because the formula expected you to score more than half a point. Against an opponent rated well below you, half a point is below expectation, so the change is negative.

See the pattern across your last 25 games free →

Related guides

About the author

Yuval Incze is the founder of Chess DNA and a long-time competitive chess player. He built Chess DNA to automate the diagnostic loop, game analysis, pattern detection and weakness ranking, so players study the specific things costing them rating instead of generic advice.

Published Sep 9, 2026. The engine tools on this page run Stockfish 17.1 locally in your browser.