Elo Rating Calculator

Calculate Elo rating changes and expected scores for a match, with FIDE and USCF K-factor presets.

Result

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
All three outcomes for this pairing
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.

No uploads. Your files stay on your device.

Free forever, no sign-up, no cookies. Buy me a coffee

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.

Report a bug