Skip to content
Calculator Collection

Chess Elo Rating Change Calculator

Calculates the exact Elo points you gain or lose after a chess game using the official FIDE formula. Enter your rating, opponent's rating, result, and K-factor to see your updated score.

Last updated: May 2026

Compare with similar

About this calculator

The Elo rating system, designed by Arpad Elo and adopted by FIDE in 1970, quantifies a player's relative skill. Before each game, an expected score is calculated: E = 1 / (1 + 10^((opponentRating − playerRating) / 400)), giving a probability between 0 and 1 that you will win (with 0.5 counting as a draw equivalent). After the game, your rating changes by ΔR = K × (S − E), where S is the actual result (1 = win, 0.5 = draw, 0 = loss) and K is the K-factor that controls sensitivity. Variables: playerRating, opponentRating (in Elo points), gameResult (S = 1/0.5/0), kFactor (10, 16, 24, or 32 depending on experience and rating bracket). The 400-point spread is the original Elo convention — a 400-point gap means the stronger player has roughly a 91% expected score. Higher K-factors produce larger rating swings, suiting new players whose true strength is uncertain. FIDE uses K = 40 for players with fewer than 30 rated games or under 18 below 2300, K = 20 for established players under 2400, and K = 10 for anyone who has ever exceeded 2400. The formula rewards upsets — beating a much stronger opponent gains far more points than beating an equal one. Edge cases: extreme rating differences (>400 points) produce very small expected scores, so wins by underdogs are dramatic and losses by favorites are damaging. Provisional ratings (under 30 games) often use different formulas (US Chess uses a 'rating estimator' with adjusted K for the first ~50 games). National federations and online platforms (chess.com Glicko, Lichess Glicko-2) modify the formula with rating-deviation tracking that classical Elo doesn't include.

How to use

Example 1: Your rating 1400, opponent 1600, you win, K = 20. Step 1: expected score E = 1 / (1 + 10^((1600 − 1400) / 400)) = 1 / (1 + 10^0.5) = 1 / (1 + 3.162) ≈ 0.240. Step 2: ΔR = round(20 × (1 − 0.240)) = round(20 × 0.760) = round(15.2) = +15 Elo. Verify: new rating 1415. An upset over a 200-point-stronger opponent yields ~15 points — far more than the ~5 you'd get beating an equal opponent. Example 2: Your rating 2000, opponent 1800, you draw, K = 16 (established player). Step 1: E = 1 / (1 + 10^((1800 − 2000)/400)) = 1 / (1 + 10^−0.5) = 1 / (1 + 0.316) ≈ 0.760. Step 2: ΔR = round(16 × (0.5 − 0.760)) = round(16 × −0.260) = round(−4.16) = −4. Verify: as the higher-rated player, drawing a weaker opponent loses 4 points — the expected outcome was a win.

Frequently asked questions

What K-factor should I use for my Elo rating calculation?

FIDE uses K = 40 for players in their first 30 rated games or under age 18 with a rating below 2300. Players rated below 2400 with more experience use K = 20, and players who have ever exceeded 2400 use K = 10. US Chess (USCF) uses a more complex bonus-and-penalty system but K-factors generally between 16 and 32. Club and online platforms set their own K-factors — chess.com uses 32 for rapid/blitz and varies for other formats. A higher K-factor means your rating reacts more quickly to results, which suits beginners whose true strength is uncertain, but can make strong players' ratings too volatile across the inevitable bad results in any sample.

How does the Elo system calculate the expected score before a chess game?

The expected score formula is E = 1 / (1 + 10^((opponentRating − playerRating) / 400)). It outputs a number between 0 and 1 representing your expected fraction of a full point. If you and your opponent are equal in rating, E = 0.5 exactly. A 200-point rating difference means the stronger player has roughly a 76% expected score; a 400-point difference gives the stronger player a 91% expected score. The 400 in the exponent is the historical Elo scaling factor that defines what 'one class' apart means. This expected score is then compared to the actual result (S) to determine the rating change ΔR = K × (S − E).

Why do I lose Elo points even when I draw against a higher-rated opponent?

You only lose points in a draw if your expected score was already above 0.5 — meaning the system considered you the favorite. If your rating is 2000 and your opponent's is 1800, your expected score is about 0.76 (you should win 76% of the time). A draw gives S = 0.5, so ΔR = K × (0.5 − 0.76), which is negative. To gain rating from a draw, you need to draw against someone rated higher than you, making your expected score below 0.5. This is why young improving players often outperform their rating by drawing strong opponents while their true strength catches up to their formal rating.

What are common mistakes when calculating Elo rating changes?

Using the wrong K-factor — applying K = 40 to a Master-level player overstates rating swings dramatically. Forgetting that the formula returns net change (ΔR), not the new rating directly — add ΔR to the current rating. Mixing up player and opponent ratings in the expected score formula gives the inverse probability and wrong-signed result. Forgetting to round the result — most rating systems publish integer ratings, so rounding the ΔR before adding avoids accumulating fractional errors. Using FIDE Elo math for online platforms — chess.com and Lichess use Glicko/Glicko-2 with rating deviation that the classical Elo formula doesn't capture. Computing rating changes for unrated opponents — FIDE requires both players to have established ratings; unrated opponents need special provisional handling. Applying classical Elo to bullet/blitz pools — they often have higher K-factors and more volatile ratings.

When should I NOT use a basic Elo calculator?

Online chess platforms (chess.com, Lichess) use Glicko or Glicko-2 rating systems that incorporate rating deviation and uncertainty — classical Elo math gives the wrong values there. Provisional ratings (your first 5–25 games on most platforms) use different formulas with much higher effective K-factors to converge on your true skill faster. Tournament performance ratings (used to award FIDE norms) use a different formula that compares your score against the average opponent rating, not pairwise game results. Children's ratings (US Chess junior) and senior reentry ratings have additional adjustments. Composite formats (Armageddon, multi-day rapid+blitz events) often combine results in non-Elo ways. For team match calculations and Swiss tiebreaks, separate algorithms (Buchholz, Sonneborn-Berger) apply rather than per-game Elo. For correspondence chess and engine-vs-engine matches, the K-factor and rating spread conventions differ significantly. Finally, for accurate rating predictions over a tournament series, simulate many games using probability distributions rather than computing single-game changes.

Sources & references