Chess ELO Rating Change Calculator
Calculate your chess ELO rating change after a game or match.
Supports standard K-factors for beginners, club, and elite players.
How the ELO rating system works
ELO was designed by Arpad Elo in the 1960s and adopted by FIDE in 1970. The core idea is that every player has a number representing strength, and games update that number based on the result and the gap between the two players’ ratings. Beat a stronger player and you gain more points than for beating a weaker one. Lose to a much weaker player and you lose disproportionately more points.
The two equations
Expected score (your win probability against this opponent):
E = 1 / (1 + 10^((opponent_rating − your_rating) / 400))
Rating change after a game:
ΔR = K × (actual_result − E)
actual_result is 1 for a win, 0.5 for a draw, 0 for a loss. The constant 400 was chosen so that a 200-point gap corresponds to roughly 76% expected score for the higher-rated player. A 400-point gap is about 91%.
The K-factor
K controls how fast a rating moves. FIDE uses a tiered K-factor:
| Player | K |
|---|---|
| Under 18 with rating under 2300 | 40 |
| New rated player (first 30 games) | 40 |
| Standard rated player | 20 |
| Player rated 2400 or above | 10 |
USCF and online sites use slightly different schedules. Chess.com starts new accounts at K=40 and steps down as games are played. Higher K means a more volatile rating; lower K means more stability.
Worked example
You are rated 1450, your opponent is 1520. The gap is 70 points.
E = 1 / (1 + 10^(70/400)) = 1 / 2.495 ≈ 0.401
A draw is roughly your expected result. At K = 20:
- Win: ΔR = 20 × (1 − 0.401) = +12 points → new rating 1462
- Draw: ΔR = 20 × (0.5 − 0.401) = +2 points → new rating 1452
- Loss: ΔR = 20 × (0 − 0.401) = −8 points → new rating 1442
A common pitfall
Players obsess over single-game swings. Do not. ELO is a low-pass filter on long-run results: a 30-game stretch reveals your true rating, a 5-game stretch is noise.