An ELO rating is a prediction. The gap between two ratings gives each player an expected score for their game. Afterwards each rating moves by a fixed fraction of the difference between what was expected and what happened. Score more than predicted and you go up. Score less and you go down.
This page is about the arithmetic. For what the numbers say about a player, what 1200 or 2000 means and how FIDE, Chess.com and Lichess ratings compare, read what ELO means in chess.
Arpad Elo (1903 to 1992) was a Hungarian-born physics professor at Marquette University in Milwaukee and a strong chess player himself. The US Chess Federation adopted his rating system in 1960, and FIDE, the world chess federation, followed in 1970. He set out the method in his 1978 book The Rating of Chessplayers, Past and Present. Because it is named after him, the correct spelling is Elo, although ELO in capitals is everywhere online.
Step 1: The Expected Score
Before a game, each player's expected score depends only on the rating difference:
E = 1 / (1 + 10^((opponent rating - your rating) / 400))
E is not a win probability. It is the average score you are expected to make per game, with a draw counted as half. The two players' expected scores always add up to 1.
Rating gap
Higher-rated player
Lower-rated player
0
0.50
0.50
50
0.57
0.43
100
0.64
0.36
200
0.76
0.24
300
0.85
0.15
400
0.91
0.09
600
0.97
0.03
800
0.99
0.01
The 400 in the formula sets the scale. Every 400 points of difference multiplies the expected odds by ten: a player rated 400 points higher is expected to score ten times as much as the opponent, 0.91 against 0.09. FIDE publishes its own lookup table built from Elo's original normal-curve model, so its figures can differ from this formula by about 0.01. FIDE also counts any gap larger than 400 points as exactly 400, so in a FIDE-rated game the favourite is never expected to score more than 0.92.
Step 2: The Rating Change
After the game:
New rating = old rating + K × (actual score - E)
The actual score is 1 for a win, 0.5 for a draw and 0 for a loss. Here is a 1500 player meeting a 1700 player, both with K = 20. The 1500 has an expected score of 0.24.
Result for the 1500
1500 player
1700 player
Win
+15
-15
Draw
+5
-5
Loss
-5
+5
Three things follow. The upset win gains three times what the expected loss costs. A draw against a stronger player gains points. And because both players used the same K, whatever one gains the other loses. Over a tournament the changes from each game are added together. To run your own numbers, use the chess ELO calculator.
The K-Factor
K is the most one game can move a rating. A high K lets a new rating find its level quickly. A low K keeps an established rating steady. FIDE's standard-chess rules are:
K = 40 for a player new to the rating list until they have completed 30 games, and for players under 18 while their rating stays below 2300.
K = 20 for players rated below 2400.
K = 10 once a player's published rating has reached 2400. It stays at 10 even if the rating later drops.
In FIDE rapid and blitz everyone uses K = 20. The US Chess Federation uses its own formula in which K shrinks as you play more games. Our ELO test follows the FIDE pattern: 40 for your first 30 games, 20 after that, and 10 from 2400.
Rating Floors and the 2024 FIDE Reset
A rating system needs a floor, the lowest rating it will publish. In March 2024 FIDE raised its floor from 1000 to 1400 and gave every player rated below 2000 a one-time increase of 0.4 × (2000 - rating). A 1500 became 1700, and a 1900 became 1940. The change compressed the bottom of the list, which had drifted down as large numbers of young players joined with low ratings and then improved quickly.
Glicko: What Chess.com and Lichess Use
Mark Glickman, a statistician, published the Glicko system in 1995. It keeps Elo's expected score but adds a second number, the rating deviation (RD), which measures how sure the system is about your rating. When RD is high, because you are new or have not played for a while, each game moves you a lot. As you play, RD falls and your rating settles. In effect each player gets their own K that adjusts itself.
Chess.com uses Glicko. Lichess uses Glicko-2, which adds a volatility term for players whose results swing unusually. Lichess also marks a rating with a question mark while it is still provisional. None of this makes the numbers comparable between sites: each pool is calibrated on its own players.
Three Common Misunderstandings
"Beating weaker players is free points." It is close to nothing. An 1800 who beats a 1500 gains about 3 points with K = 20, and loses about 7 for a draw.
"My rating drops if I stop playing." Not under Elo or Glicko. Your rating only changes after rated games. Under Glicko your RD grows while you are away, so your first games back move you more.
"A rating measures skill on an absolute scale." It measures results against one pool of opponents. A 1600 in one pool and a 1600 in another are not the same player.
Putting the Formula to Work
The formula rewards one thing: scoring more than expected. That means beating players around your own level more often, which comes from fewer blunders and better decisions, not from picking opponents. Our guides on how to improve your chess rating and how to get better at chess cover the training. To measure where you stand now, the chess ELO test (part of Pro) rates you with the formula above, from games against Stockfish set 200 points above your current rating, and the leaderboard shows how you compare.
ELO Formula Questions
How is ELO calculated in chess?
Each player gets an expected score from the rating gap: E = 1 / (1 + 10^((opponent - you) / 400)). After the game the rating changes by K × (actual score - expected score), where a win scores 1, a draw 0.5 and a loss 0. K is the K-factor, 40, 20 or 10 under FIDE rules.
How many points do you gain for beating a higher-rated player?
It depends on the gap and your K-factor. With K = 20, a 1500 who beats a 1700 gains about 15 points, because they were expected to score only 0.24. With K = 40, the same win is worth about 30 points.
What is the K-factor in chess?
The K-factor is the most a single game can move your rating. FIDE uses K = 40 for new players until they have 30 rated games and for juniors under 18 rated below 2300, K = 20 for players under 2400, and K = 10 once a player has reached 2400.
Why can you lose points for a draw?
A draw scores 0.5. If your expected score was higher than 0.5 because you were the higher-rated player, a draw is below expectation and your rating goes down. An 1800 who draws a 1500 loses about 7 points with K = 20.
Do Chess.com and Lichess use the ELO system?
Not exactly. Chess.com uses Glicko and Lichess uses Glicko-2, both created by Mark Glickman. They keep the idea of an expected score but add a rating deviation that measures how certain the rating is, so new or inactive players move faster than settled ones.
Is it Elo or ELO?
Strictly Elo, because it is a surname: the system is named after Arpad Elo, the physics professor who designed it. ELO in capitals is a common spelling online and means the same thing.
Work Out a Rating Change
Enter two ratings and a result to see exactly how many points change hands.