Menu

Elo Calculator

Work out an expected score and a new rating, with every step written out.

By Nethanel Bar, Co-founder & CEO

Last updated

Ready to learn how the game is actually played?

The Coddy chess course starts from the setup and takes you through the openings, tactics and endgames - one interactive position at a time.

What a result is actually worth

A rating is a prediction, not a trophy. Elo turns the gap between two ratings into an expected score - the share of the point the stronger player should take if the ratings are right - and then moves both ratings by however much the actual result disagreed with that prediction. Beat someone you were supposed to beat and almost nothing happens. Beat someone you were not supposed to beat and the system moves you a long way, because it has just learned that it was wrong about you.

That is the whole system, and it fits in one line: your new rating is your old rating plus K times the difference between what you scored and what was expected. Everything else - the K-factor, the 400-point cap, the way a draw against a stronger player is a gain - is detail on top of that line. This page writes the line out with your numbers in it rather than handing you an answer and asking you to trust it.

It also shows all three results at once. "What do I get for winning" and "what do I lose if I don't" are the same question asked twice, and knowing both before the game is more useful than knowing one after it.

How the Elo system works

  • The expected score comes only from the gap. A 200-point favourite is expected to score 76% of the points available, whether the ratings are 1200 and 1000 or 2600 and 2400. That is what makes the scale meaningful across its whole range.
  • The K-factor is how much one event is allowed to move a rating. FIDE uses 40 while a player has fewer than 30 rated games and for under-18s still rated below 2300, 20 for an established player under 2400, and 10 once a rating has EVER reached 2400 - the trigger is the historical peak, so a master who drops back keeps the slow factor.
  • A rating difference of more than 400 points counts as exactly 400. Without that cap, a 2600 beating a 900 would be predicted to score 0.9999 and would lose almost a whole point of rating for the privilege - the model stops being useful long before the gap gets that wide, so FIDE simply stops widening it.
  • A draw is not a neutral result. Against someone 200 points higher your expected score is 0.24, so half a point beats the prediction and your rating goes up. Against someone 200 points lower the same half point costs you.
  • Ratings are zero-sum within a game: whatever you gain, your opponent loses, as long as you are both on the same K-factor. When the K-factors differ - a junior against a veteran - the pair genuinely does not balance, which is where rating inflation and deflation arguments start.

How to work out your new rating

  1. Enter your rating and how many rated games you have played

    The games count is only there to pick the K-factor: under 30 games FIDE uses 40, which is why a new player's rating swings so hard. If you already know your K-factor, type it in the third box and it overrides everything.

  2. Add each opponent and the result

    One row per game. For a single game the page also shows what the other two results would have done, which is the number worth knowing before you sit down rather than after.

  3. Read the answer, then the working

    The new rating and the change are at the top; the expected score, your actual score and the K-factor sit beside them. Underneath, each step of the formula is written out with your numbers substituted in.

  4. Check the performance rating for a whole event

    After several games the page also reports what you performed at - the average opponent plus 400 times wins minus losses over games played. It is the standard approximation, and it is what tournament reports mean by "a 2100 performance".

What a rating gap is worth

The share of the points each side is expected to take, from the rating difference alone. The curve is symmetric, so the two columns always add to 100%.

Rating gapFavourite scoresUnderdog scores
050%50%
5057%43%
10064%36%
20076%24%
30085%15%
40091%9%

Worked examples

1613 beats 1609 on K = 32

An almost even game: the expected score is 0.506, so scoring a full point beats the prediction by 0.494. Multiply by 32 and the change is +15.8, published as +16. The new rating is 1629 - and the opponent drops to 1593, because within one game the points come from somewhere.

1800 loses to 1500

The expected score is 0.849, so scoring zero misses the prediction by all of it: 20 x (0 - 0.849) is -17. That is why a single upset costs so much more than a routine win earns - the same pair of players, the same K-factor, and a win would have been worth +3.

A 1200 draws a 2400

The real gap is 1200 points, but FIDE counts it as 400, so the expected score is 0.09 rather than 0.0002. A draw therefore beats the prediction by 0.41 and gains 16 points at K = 40. Without the cap it would gain 20 - and the stronger player would be losing rating for results the model was never designed to predict.

Common mistakes

  • Assuming your online rating is Elo. Chess.com and Lichess both run Glicko variants, which track how uncertain a rating is as well as its value. That is why a new online account can move 100 points in an evening and no Elo K-factor would allow it.
  • Comparing ratings across systems. A 1600 on Chess.com, a 1600 on Lichess and a 1600 FIDE are three different strengths. The number is only meaningful inside the pool it was earned in.
  • Forgetting the 400-point cap. It only bites in lopsided games, but when it does it changes the answer substantially - and it is the reason a calculator that skips it disagrees with the arbiter's sheet.
  • Rating each game of a tournament separately. FIDE sums the expected scores over the whole event and applies K once at the end. Applying it game by game with an updated rating each time gives a different, wrong number.
  • Using K = 40 forever. It is the beginner's factor and it is meant to expire: after 30 rated games your rating is supposed to have found its level, and a K that stays high keeps it permanently noisy.
  • Reading a performance rating as a rating. Over four games it has enormous error bars - and the linear formula breaks completely at 100% or 0%, where it just returns the average opponent plus or minus 400.

Elo calculator FAQ

How is a chess Elo rating calculated?
Your new rating is your old rating plus K times the difference between what you scored and what was expected. The expected score comes from the rating gap alone: 1 divided by (1 + 10 to the power of the gap over 400). K decides how much one event can move you - 40, 20 or 10 in FIDE's system, depending on your experience and your level.
Is this the official FIDE calculation?
It follows FIDE's published rules, and it says where it does not match their arithmetic exactly. Two differences: the expected score here is the continuous curve 1/(1+10^(D/400)), while FIDE publishes a lookup table of that same curve in rating bands, so an official change can differ from ours by one point at a rounding boundary; and the K-factor rules implemented are the ordinary cases plus the junior rule, so where your federation applies something else, type your own K into the third box. The 400-point cap and the 1400 rating floor are applied as published.
What is the K-factor in chess?
It is the sensitivity dial. FIDE uses K = 40 for a player with fewer than 30 rated games, 20 for an established player rated under 2400, and 10 once a rating has reached 2400. A high K makes a rating move fast, which is what you want while the system is still working out how strong someone is, and not what you want afterwards.
How many points do I gain for beating a higher-rated player?
It depends on the gap and your K-factor, but the pattern is fixed: the bigger the upset, the bigger the gain. At K = 20, beating someone 200 points above you is worth about +15, beating an equal is worth +10, and beating someone 200 points below you is worth about +5.
Do I lose rating for a draw?
Only against a lower-rated opponent. A draw scores half a point, so it gains rating whenever half a point is more than your expected score - which is exactly when your opponent is stronger than you. Against an equal opponent a draw changes nothing at all.
What is a performance rating?
The rating a player would need for their result to be exactly what was expected. The common approximation is the average opponent rating plus 400 times (wins minus losses) divided by games played, and that is what this page reports for a mixed result. It breaks completely at a perfect or a zero score - one win over a 1600 would read as a 2000 performance - so at those two points the page uses the endpoint of FIDE's own table instead, dp of plus or minus 800, and labels which rule it used.
Why does the calculator cap the rating difference at 400?
Because FIDE does. The handbook states that a difference of more than 400 points is counted as though it were 400, which stops the model making predictions - a 0.9999 expected score - that it has no evidence for. Most calculators on the web skip this rule, which is why their answer differs from ours on lopsided pairings.
Is this the same as the Chess.com or Lichess rating calculator?
No. Both sites use Glicko-style systems with a rating deviation that widens when you have not played and narrows when you have, so the size of a change depends on how confident the system is in you, not on a fixed K. This page implements FIDE Elo.
What rating do I need to beat to gain 10 points?
Set the result to a win and try opponent ratings until the change reads +10. At K = 20 that is roughly an equal opponent; at K = 40 it is someone about 200 points below you. The three-way preview makes this quick, because it shows the win, the draw and the loss together.

More chess tools

Coddy programming languages illustration

Learn chess with Coddy

GET STARTED