Elo Rating Calculator
Enter your current Elo rating, your opponent's rating, and the game result to calculate your new rating. Choose single-game or tournament mode, adjust the K-factor to match your rating organization, and see your expected score, rating change, and performance rating with full step-by-step working.
What is the Elo rating system?
The Elo system is a method for calculating the relative skill levels of players in zero-sum games such as chess. It was invented by Arpad Elo, a Hungarian-American physics professor, and adopted by FIDE (the World Chess Federation) in 1970. The core insight is simple: every game tells you something about both players. A win against a stronger opponent should raise your rating more than a win against a weaker one. The formulas quantify exactly how much each result should move your number, so ratings converge on a player's true strength over many games. Today the Elo system, or close variants, is used in chess, Go, table tennis, association football rankings, esports matchmaking, and many online multiplayer games.
How the Elo formula works
Before each game, the system calculates an "expected score" for each player - the statistical probability of winning from 0 (certain loss) to 1 (certain win), with 0.5 for a predicted draw. The formula is: E = 1 / (1 + 10^((opponent - your rating) / 400)). The divisor 400 is a scaling constant chosen so that a 200-point advantage translates to roughly a 76% expected score. After the game, your new rating is: R' = R + K * (actual score - expected score). If you win when you were the underdog your rating rises a lot; if you lose to someone much weaker it falls a lot. A K-factor of 10 means the most you can gain or lose in one game is 10 points (from a complete surprise result). A K-factor of 40 allows up to 40 points of movement and makes ratings respond faster for new players.
Choosing the right K-factor
The K-factor controls rating volatility. FIDE currently uses three values: K = 40 for new players and juniors until they have 30 rated games and their rating stays below 2300; K = 20 for established players below 2400; and K = 10 for players who have ever been rated 2400 or above with at least 30 games. The reasoning is that new players' true strengths are uncertain, so large K allows their rating to converge quickly. Elite players' ratings are already well-established, so a smaller K keeps them stable. USCF uses a formula-based K = 800 / (effective games + tournament games), but commonly quoted as 32/24/16 for broad bands. Most online platforms and esports systems use fixed K-factors between 16 and 32.
Performance rating and tournament scoring
Performance rating is an estimate of what Elo rating you "played like" during a tournament, regardless of your actual rating. The simplest method (Algorithm of 400) is: average opponent rating + 400 times (wins minus losses) / total games. A perfect score (all wins) gives average opponent + 400; a 50% score against opponents averaging 1600 gives 1600; a scoreless event gives average opponent - 400. FIDE uses a lookup table instead of the formula, which corrects for edge cases such as perfect or zero scores. Performance rating is useful for showing whether a player is improving beyond their listed rating and is used in some title norm calculations.
Elo rating categories and skill levels
| Rating range | Category / Title | Typical description |
|---|---|---|
| 2700+ | Super Grandmaster | World-class elite: top-10 in the world |
| 2500-2699 | Grandmaster (GM) | Elite; FIDE GM title threshold near 2500 |
| 2400-2499 | International Master (IM) | Near-top professional strength |
| 2300-2399 | FIDE Master (FM) | Strong club/national level |
| 2200-2299 | National Master (NM) | Top club player, USCF Master |
| 2000-2199 | Expert / Candidate Master | Serious competitive player |
| 1800-1999 | Class A (advanced) | Strong tournament player |
| 1600-1799 | Class B (intermediate) | Regular club player |
| 1400-1599 | Class C | Developing club player |
| 1200-1399 | Class D | Casual player with tournament experience |
| Below 1200 | Class E / Beginner | Novice or infrequent player |
USCF/FIDE approximate rating bands with commonly used titles. Ranges vary slightly by organization and country.
Frequently asked questions
What K-factor should I use for chess?
Use K = 40 if you have played fewer than 30 FIDE-rated games or are under 18 with a rating below 2300. Use K = 20 if you are an established player with a rating below 2400. Use K = 10 if you have ever been rated 2400 or higher with at least 30 prior games. For USCF games the approximate equivalents are K = 32 (below 2100), K = 24 (2100-2400), and K = 16 (above 2400). Online platforms such as Chess.com and Lichess use their own K-factor rules, often around K = 20-32 depending on your game count.
What is a good Elo rating in chess?
Ratings are relative to the pool you play in, but rough benchmarks: a casual beginner is typically rated 400-800 on Chess.com or 800-1200 on FIDE. A regular club player lands around 1400-1800 FIDE. Expert/Candidate Master starts at 2000, National Master at 2200, FIDE Master at 2300, International Master at 2400, and Grandmaster above 2500. The world's top players are above 2800. Online platforms tend to run about 200-400 points higher than FIDE for the same actual strength.
How much does my rating change after one game?
Rating change = K times (actual score minus expected score). With K = 20, if you were a 400-point underdog you had about a 9% expected score, so winning would net you about 0.91 times 20 = 18.2 points; losing costs only about 1.8 points. Against a player rated exactly the same as you (50% expected), a win gives K/2 = 10 points and a loss costs 10 points. The most extreme possible gain in one game is K points (winning with zero expected score) and the most extreme loss is also K points.
What is a "provisional" or unrated player's starting Elo?
FIDE places new players provisionally at a starting rating calculated from their first few games. Players who score well against rated opponents get a higher initial rating. USCF assigns new members 1300 by default but adjusts quickly using a higher K-factor. Online platforms like Chess.com and Lichess often start new accounts around 1000-1500 depending on the time control, and use a high K-factor or a separate uncertainty parameter (as in the Glicko system) while the rating stabilizes.
How is Elo different from Glicko or TrueSkill?
Classic Elo has no built-in uncertainty measure; it treats a player's rating as a precise number. Glicko (used by Lichess and Chess.com) adds a "ratings deviation" (RD) that tracks how reliable your rating is - it grows when you haven't played recently and shrinks as you play more games. Glicko-2 adds a volatility parameter as well. TrueSkill (used in Xbox Live) is a Bayesian system that handles team games and can update ratings from multi-player results. For most chess and gaming applications Elo gives very similar results to Glicko when you play frequently.
Can the Elo formula predict win probability?
Yes - the expected score formula directly gives the predicted win-plus-draw probability. If your expected score against an opponent is 0.64, the system predicts you will score 64% on average across many games (counting draws as 0.5). Because draws are included, this is not the same as win probability alone. Historically, a 100-point rating advantage corresponds to roughly a 64% expected score, and a 200-point advantage to about 76%.
Does Elo work for games other than chess?
Yes. Elo or Elo-like systems are used in table tennis, Go, Scrabble, association football (FIFA Women's World Rankings use Elo), esports (League of Legends, Counter-Strike), and many online multiplayer matchmaking systems. The formula works for any head-to-head zero-sum result, but the constants (divisor 400 and K-factor) need to be calibrated for each game's scoring variance. Some organizations use a divisor of 173 or other values instead of 400.