Elo Rating Calculator
Calculate Elo rating changes and expected scores for a match, with FIDE and USCF K-factor presets.
Ratings update as you type — nothing is sent anywhere.
- Expected score A
- —
- Expected score B
- —
- New rating A
- —
- New rating B
- —
- Rating change
- —
- Rating difference
- —
| Outcome | Player A | Player B |
|---|---|---|
| A wins | — | — |
| Draw | — | — |
| B wins | — | — |
Uses the standard Elo formula (Arpad Elo, logistic 400-point scale) as used by FIDE and the USCF. Individual sites tweak K-factors, provisional periods and bonuses, so a rating on Chess.com or Lichess may move differently.
How it works
The Elo system turns a rating gap into a probability. The expected score for player A against
player B is Ea = 1 / (1 + 10^((Rb − Ra) / 400)), and B's expected score is simply
Eb = 1 − Ea. A 100-point lead is worth about a 64% expected score, 200 points
about 76% and 400 points about 91%. "Expected score" counts a draw as half a point, so 64%
does not mean "wins 64% of games" — it means A is expected to take 64% of the points on offer.
After the game each player's rating moves by K × (S − E), where S is the actual
score (1 for a win, 0.5 for a draw, 0 for a loss) and K is the K-factor — how much a single
result is allowed to shift a rating. FIDE uses 40 for new and junior players, 20 for
established players and 10 once you cross 2400; the USCF and most clubs use 32. Rating changes
are rounded to the nearest whole point, which is why the two players' gains and losses can
differ by one point. Everything is calculated in your browser with plain JavaScript: no
account, no ads, and no ratings leave your device.
Frequently asked questions
How is an Elo rating calculated?
Your expected score against an opponent is E = 1 / (1 + 10^((Ropponent − Rplayer) / 400)), where a draw counts as half a point. After the game your rating moves to R′ = R + K × (S − E), with S being 1 for a win, 0.5 for a draw and 0 for a loss. For example a 1600 player facing a 1500 player has a 64.0% expected score, so beating them at K = 32 gains only 12 points, while losing costs 20.
What K-factor should I use?
The K-factor decides how much a single game can move a rating. FIDE uses 40 for new players and juniors, 20 for established players and 10 once a player passes 2400; the USCF and most clubs use 32, which is the default here. Pick a preset from the dropdown or type your own K — a higher K makes ratings react faster but bounce around more.
Does this match Chess.com or Lichess ratings?
The maths is the standard Elo formula used by FIDE and the USCF, so it matches classical rating reports closely. Chess.com uses its own Elo variant with different K-factors and Lichess uses the Glicko-2 system, which also tracks rating deviation and volatility, so their numbers will drift from these estimates over time.