Elo calculator for chess: formula, K-factor and examples
For iPhone, iPad, Mac and Android. No account.
Elo calculator
| Game | Opponent rating | Result | Expected | Change | Remove game |
|---|---|---|---|---|---|
| 1 | 0.36 | +12.8 | |||
| 2 | 0.57 | −1.4 |
FIDE adds up the changes of all games in a rating period and publishes the rounded result.
The Elo calculator above shows how a rating changes after one or more games. Enter your rating, your opponents' ratings and the results, choose the K-factor, and it shows the expected score for each game, the rating change and your new rating. Below you find the formula behind it with worked examples, the FIDE rules for K-factors and the 400-point rule, and how Elo differs from the Glicko systems used by Lichess and Chess.com.
What Elo means
The Elo system is named after Arpad Elo, a Hungarian-born American physics professor at Marquette University. The United States Chess Federation adopted his rating system in 1960, and FIDE, the international chess federation, followed in 1970. Today FIDE still uses it for its official ratings.
An Elo rating is a relative number. On its own, 1650 says little; what counts is the difference to your opponent. From that difference the system predicts how many points you should score. If you score more than predicted, your rating goes up; if you score less, it goes down. With equal K-factors, the points one player gains are the points the other loses.
The expected score
The expected score E is the number of points a player should score per game against a given opponent, between 0 and 1. A win counts 1, a draw 0.5, a loss 0. The formula is:
E = 1 / (1 + 10^((R_opponent - R_own) / 400))For equal ratings, E is 0.5. Every 400 points of difference multiply the odds by ten. Rounded to two decimals:
| Rating difference | Expected score, higher-rated player | Expected score, lower-rated player |
|---|---|---|
| 0 | 0.50 | 0.50 |
| 100 | 0.64 | 0.36 |
| 200 | 0.76 | 0.24 |
| 300 | 0.85 | 0.15 |
| 400 | 0.91 | 0.09 |
An expected score of 0.76 does not mean a 76 % chance to win. It means 76 points from 100 games, counting draws as half a point. FIDE does not use the formula directly but a conversion table in its rating regulations. Its values are almost the same; at a difference of 400 the table gives 0.92 instead of 0.91.
How the rating changes
After a game, the change is the difference between the actual and the expected score, multiplied by the K-factor:
Change = K × (Score - E)Worked example. You are rated 1500, your opponent 1700, and your K-factor is 20. The difference is 200 points, so your expected score is 1 / (1 + 10^(200/400)) = 0.24.
| Result | Score | Calculation | Change |
|---|---|---|---|
| Win | 1 | 20 × (1 - 0.24) | +15.2 |
| Draw | 0.5 | 20 × (0.5 - 0.24) | +5.2 |
| Loss | 0 | 20 × (0 - 0.24) | -4.8 |
A draw against a stronger opponent already gains points, because you scored more than expected. Your opponent, with the same K-factor, loses exactly what you gain.
Several games. FIDE adds up the changes of all games in a rating period, each calculated with the ratings from the current list. The calculator above works the same way. Example with K 20 and a rating of 1500: a win against 1400 (E 0.64, change +7.2), a draw against 1600 (E 0.36, +2.8) and a loss against 1550 (E 0.43, -8.6). In total that is +1.4, so the new rating is 1501.
FIDE K-factors and the 700 rule
The K-factor decides how much a single game moves the rating. According to the FIDE rating regulations:
- K = 40 for players new to the rating list until they have completed events with at least 30 games.
- K = 40 for all players until the end of the year of their 18th birthday, as long as their rating stays under 2300.
- K = 20 as long as the rating stays under 2400.
- K = 10 once a published rating has reached 2400. It stays at 10 even if the rating later drops below 2400.
The 700 rule. If the number of games in a rating period multiplied by K exceeds 700, K is reduced to the largest whole number for which K × games does not exceed 700. A junior with K 40 who plays 20 rated games in one month would reach 800, so K becomes 35 for that period. An adult with K 20 and 40 games would reach 800 as well, so K becomes 17.
The calculator lets you choose K 40, 20 or 10. If you play many games in one period, set the K-factor according to the 700 rule yourself, or compare the result with your federation's calculation.
The 400-point rule
FIDE caps the rating difference: a difference of more than 400 points is counted as if it were 400 points. Since 1 October 2025, this applies to players rated below 2650; above that, the actual difference is used.
Example with K 20: a player rated 1500 beats an opponent rated 1000. With the real difference of 500 points, the expected score would be 0.95 and the gain about +1.1. With the cap, the expected score is 0.91 and the gain +1.8. A loss in the same game would cost 18.2 points instead of 18.9. The calculator applies the cap when the 400-point rule is switched on. For players rated 2650 or higher, switch it off.
Elo, Glicko and what a rating number says
Online platforms use developments of the Elo idea by the statistician Mark Glickman. Lichess uses Glicko-2 and starts new players at 1500. Chess.com uses Glicko; there the starting rating depends on the skill level you choose when creating your account.
Glicko keeps the expected score idea but adds a second number, the rating deviation: how sure the system is about your rating. New players and players returning after a break have a large deviation, so their ratings move more per game. Lichess marks a rating with a question mark while the deviation is high. That is why the calculator above matches FIDE's calculation closely, but only approximately matches what you see on Lichess or Chess.com.
A rating number only means something within its own pool of players. FIDE's list, for example, starts at 1400: players below that are shown as unrated. A 1500 on Lichess, on Chess.com and on the FIDE list are three different levels. How they relate is shown on the page Chess.com vs Lichess rating.
The calculator counts results, not moves
Elo only looks at results. A lucky win against a stronger player counts the same as a well-played one, and a loss on time after a strong game counts as a loss. If you want to know how well you actually played in a game, you need a different tool: one that looks at the moves.
That is what the ChessWOW app does with an estimate of your playing strength. Import your Lichess games by username, open the report, and ChessWOW estimates the level shown in a blitz or rapid game, for both players, as a rough range on the Lichess scale. It is not an official rating, and a single game can differ from your usual level, but several games show a pattern.
Questions and answers
How is Elo calculated?
First the expected score: E = 1 / (1 + 10^((opponent - own) / 400)). Then the change: K × (score - E), where a win counts 1, a draw 0.5 and a loss 0.
Which K-factor do I have?
At FIDE, 40 for new players until 30 games and for juniors under 2300, 20 below 2400, and 10 once you have reached 2400. National federations can use their own rules.
Do I gain points for a draw?
Yes, if your opponent is rated higher than you. A draw scores 0.5, and against a stronger player your expected score is below 0.5.
Why does Lichess change my rating by a different amount?
Lichess uses Glicko-2, which also considers how certain your rating is. New or inactive players change more per game than Elo would predict.
What is the 400-point rule?
FIDE counts a rating difference of more than 400 points as 400. Since 1 October 2025 this applies to players rated below 2650.
Can the calculator tell me how strong I played?
No. It works with results only. To estimate the level shown in a game, the ChessWOW app looks at the moves of imported Lichess games.
Continue with
See how well you played, not only what you scored.
ChessWOW estimates the level of your Lichess games and shows where each game turned.