Chess Elo Rating Change Calculator

Calculate your chess Elo rating change after a game.
Enter both ratings, the result and your K-factor to get the expected score and your new rating.

Rating Change

How the Elo rating system works

Elo is a surname, not an acronym. Arpad Elo, a Hungarian-American physics professor, worked the system out through the 1950s; the US Chess Federation adopted it in 1960 and FIDE (the international chess federation) followed in 1970. You will see it written ELO all over the internet, and that is simply a mistake that stuck.

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.

The two equations

Expected score (the share of a point you should average 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%.

Note what “expected score” is not. It is not your chance of winning, because half a point of it comes from draws. Between two 2600-rated grandmasters the expected score is 50% and the win rate is closer to 22% each, with the rest drawn.

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.0 points, new rating 1462
  • Draw: ΔR = 20 × (0.5 - 0.401) = +2.0 points, new rating 1452
  • Loss: ΔR = 20 × (0 - 0.401) = -8.0 points, new rating 1442

Notice that the three changes sum to +6, not to zero. That is not an error. What is zero-sum is each individual game: if your opponent is also on K = 20, whatever you gain they lose to the point.

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.

There is a second trap in the same family. A rating built entirely against the same three club opponents is precise and wrong, because the system only ever learns about you relative to whoever you play. Elo measures you against your pool, and two pools that never meet can be 200 points out of step with each other and nobody would know.


How we build and check this calculator

This calculator runs entirely in your browser, so the numbers you enter stay on your device. The math behind it is written by hand and tested against worked examples and standard references before the page goes live.

SuperGlobalCalculator is independently built and maintained. See how we build and verify our calculators.


Embed This Calculator

Copy the code below and paste it into your website or blog.
The calculator will work directly on your page.