Elo rating calculator
Enter two ratings and a result. You get each player's expected score, the rating change and the new ratings. Pick a preset for FIDE chess, US Chess, or set your own K-factor.
FIDE reads the expected score from its table 8.1.2, caps rating gaps at 400 for players rated under 2650, and rounds the total change for a rating period.[1]
Uses the US Chess standard formula for established players (N > 8) and one game (m = 1). Bonus points only apply in events of 3+ games, and rating floors and the dual-rated 2200+ exception are not modelled.[2]
How the Elo formula works
Elo turns a rating gap into an expected score, then moves each rating by the difference between what happened and what was expected, multiplied by K. The expected-score curve below is the one US Chess publishes in its rating specification.[2]
A 200-point favourite expects to score about 0.76 per game. FIDE puts it as "about 75% of the points".[3] A 400-point gap gives odds of 10 to 1, or an expected score of 0.909. When both players use the same K, whatever one gains the other loses.
Worked example
Player A is rated 1400 and beats Player B, rated 1600. Both use K = 20.
- A's expected score: E_A = 1 / (1 + 10^((1600 − 1400) / 400)) = 1 / (1 + 10^0.5) = 1 / (1 + 3.1623) = 0.2403. B's is 0.7597.
- A scored 1, so A's change is 20 × (1 − 0.2403) = +15.19.
- B scored 0, so B's change is 20 × (0 − 0.7597) = -15.19.
- New ratings: A = 1415.2, B = 1584.8. If the favourite had won instead, A would have lost only 20 × 0.2403 = 4.81 points.
Presets explained
FIDE chess
FIDE's rating regulations set K at:[1]
- K = 40 for a player new to the rating list until they have completed events with at least 30 games, and for all players until the end of the year of their 18th birthday while their rating stays under 2300.
- K = 20 while a player's rating stays under 2400.
- K = 10 once a player's published rating has reached 2400, and it stays at 10 even if the rating later drops below 2400.
- If K × the number of games in a rating period would exceed 700, K becomes the largest whole number that keeps K × n at or below 700.
FIDE does not use the smooth formula directly. It reads the expected score (called PD) from a table in steps of 0.01. Since 1 October 2025 a gap of more than 400 points counts as 400 only for players rated below 2650. The rating change for a period is rounded to the nearest whole number, with 0.5 rounded away from zero.[1] For example, a 2000 player who beats an 1800 player has a PD of 0.76, so with K = 20 they gain 20 × (1 − 0.76) = 4.8 points.
US Chess
US Chess uses K = 800 / (N′ + m), where m is the number of games in the event and N′ is the "effective" number of past games, capped at 50 and usually smaller for lower-rated players. In the specification's own example, a 1700 player with 30 games has N′ = 20.0, which gives K = 38.1 for a single game.[2] The formula for N′ is in the K-factor guide.
Custom
For office leagues, games and anything else, any K works. Higher K reacts faster but is noisier. Read how to choose K or start a free Elo league, which applies these updates match by match.
More Elo tools
History: Arpad Elo designed the system for the US Chess Federation, which adopted it in 1960, and FIDE adopted it in 1970.[4] Read the full guide to Elo.
Sources
- FIDE Rating Regulations, effective 1 March 2024 (with the 400-point rule as amended from 1 October 2025), sections 7–8 — FIDE Handbook
- Glickman, M. E. & Doan, T. The US Chess Rating System (specification dated 2026-04-06), sections 3 and 4.2 — US Chess Federation
- Anniversary of Arpad Elo – rating system that changed chess world — FIDE
- Arpad Elo (inductee biography) — World Chess Hall of Fame