Chess · Football · Esports

Elo Rating Calculator

Free Elo calculator covering single games, full tournament performance ratings, multiplayer ranked finishes, and FIDE-style unrated player estimates. Choose a mode below.

elo-rating-calculator
Player A
Player B
Expected score — Player A
Player A — new rating
Player B — new rating
Rating difference
Points transferred
Win probability

What is the Elo Rating System?

The Elo rating system is a method for calculating the relative skill levels of competitors in two-player games. It was devised by Arpad Elo — a Hungarian-American chess master and physics professor — as an improvement on the Harkness rating system used by the United States Chess Federation. The USCF adopted the system in 1960, and FIDE followed in 1970. Today Elo-derived systems are used across chess, football, basketball, esports, tennis, and dozens of other competitions.

The central insight is that a player's performance in any given game is a random variable whose mean changes slowly over time. Rather than awarding points arbitrarily, Elo uses statistical expectation: after calculating how likely each player was to win given the rating difference, ratings are updated in proportion to the difference between actual and expected results. A player who wins games they were expected to win gains very few points; a player who beats a much stronger opponent gains many. This makes the system self-correcting — overrated players lose rating; underrated players gain it — until ratings settle near true strength.

How to Calculate Elo — The Formula

The Elo calculation requires two steps, applied after every game or rating period:

Step 1 — Expected score

Ea = 1 / (1 + 10^((Rb − Ra) / 400)) Eb = 1 / (1 + 10^((Ra − Rb) / 400)) = 1 − Ea Where Ra, Rb are the current ratings of players A and B. Note: Ea + Eb always equals 1. Examples: Ra = Rb (equal ratings): Ea = 0.500 (50% expected) Ra = 1600, Rb = 1700 (+100 gap): Ea = 0.360 (36% expected for A) Ra = 1800, Rb = 1600 (+200 gap): Ea = 0.760 (76% expected for A) Ra = 2000, Rb = 1600 (+400 gap): Ea = 0.909 (91% expected for A)

Step 2 — Update rating

Ra_new = Ra + K × (Sa − Ea) Where: K = K-factor (see table below) Sa = actual score: 1 (win), 0.5 (draw), 0 (loss) Ea = expected score from Step 1 Worked example (FIDE, K=20): Ra = 1613, Rb = 1609 Ea = 1/(1 + 10^((1609−1613)/400)) = 1/(1 + 10^(−0.01)) = 0.514 A wins: Ra_new = 1613 + 20×(1 − 0.514) = 1613 + 9.72 ≈ 1623 A draws: Ra_new = 1613 + 20×(0.5 − 0.514) = 1613 − 0.28 ≈ 1613 A loses: Ra_new = 1613 + 20×(0 − 0.514) = 1613 − 10.28 ≈ 1603

How to replicate this in Excel

In any spreadsheet (Excel, Google Sheets, LibreOffice Calc), place the ratings and K-factor in named cells, then use these formulas:

A1 = Player A rating B1 = Player B rating C1 = K-factor Expected score (A): =1/(1+10^((B1-A1)/400)) → cell D1 New rating after win: =A1+C1*(1-D1) New rating after draw: =A1+C1*(0.5-D1) New rating after loss: =A1+C1*(0-D1) Player B uses (1-D1) as their expected score.

K-Factor by Organisation and Context

The K-factor is the single most important parameter in an Elo implementation — it controls the maximum possible rating change from any one result, and therefore how quickly ratings respond to new information. High K means ratings are more volatile; low K means they are more stable but slower to reflect genuine changes in strength.

Organisation / context K-factor Applies to Notes
FIDE Chess40New players (< 30 rated games); first event crossing 2400Fastest settling; drops when threshold met
FIDE Chess20Established players below 2400Standard for most rated club players
FIDE Chess10Players rated ≥ 2400 (GMs, IMs)Max gain from a single game: < 10 pts
USCF ChessVariableAll playersK ≈ 800 / (Ne + m); minimum effective K ≈ 8
Chess.com32 / 16Standard / rapid & blitz respectivelySimplified; Glicko-2 used internally
LichessN/A (Glicko-2)All gamesUses ratings deviation (RD); more statistically rigorous
Football — WC / continental final60World Cup final; Copa América / AFCON / Euro finalMultiplied by goal difference factor
Football — qualifier / continental group40WC qualifiers; continental championshipsIncludes +100 home advantage
Football — tournaments30All other official international tournaments
Football — friendlies20International friendly matchesLowest weighting
Esports (typical)20 – 50Varies by game and leagueMany games use modified Elo or TrueSkill

Performance Rating Calculator — How It Works

A performance rating (also called tournament performance rating, TPR, or special rating) is the hypothetical Elo rating a player would have if their results from a single event were their entire rated history. It answers the question: "What rating would predict the results you just produced?"

Algorithm of 400 (simple method)

Performance rating = (Σ opponent ratings + 400 × (wins − losses)) / total games = average opponent rating + 400 × (wins − losses) / N Example: 4 games: W vs 1500, W vs 1550, L vs 1600, D vs 1480 Perf = (1500 + 1550 + 1600 + 1480 + 400×(2−1)) / 4 = (6130 + 400) / 4 = 6530 / 4 = 1632.5

FIDE percentage-score method (more accurate)

FIDE's method converts the player's percentage score (points scored ÷ total games) into a rating difference using a lookup table, then adds that to the average opponent rating. The table maps percentage scores to expected rating advantages — for example, a 75% score corresponds to a +193 rating advantage. This method handles extreme scores more accurately than the algorithm of 400, particularly near 0% or 100%.

Title norms

FIDE uses performance ratings to award title norms. A Grandmaster norm requires a performance rating of at least 2600 over a qualifying event of at least 9 games against a field meeting specific criteria (including at least 50% GMs and at least 50% FIDE-rated opponents from at least three different federations). An International Master norm requires a performance of at least 2450. Three norms plus reaching the required rating threshold earns the title.

Elo Ratings in Football

The World Football Elo Ratings (maintained at eloratings.net) adapt the chess formula for international football with three important modifications that reflect the sport's specific characteristics.

Variable K-factor by match importance

Not all football matches are equally meaningful. A World Cup final carries six times the rating weight of a friendly. The system adjusts K by match type (see the K-factor table above) and then multiplies by a goal-difference factor: 1× for a 1-goal margin, 1.5× for 2 goals, 1.75× for 3 goals, and (11 + goal difference) / 8 for larger winning margins. This means a 5–0 thrashing transfers significantly more points than a 1–0 win between the same two teams.

Home advantage

The home team's rating is treated as 100 points higher than their actual rating for the purpose of calculating the expected score. This 100-point advantage roughly corresponds to home teams winning around 54% of expected draws against a neutral opponent. For neutral venue matches (including most World Cup games), no home advantage is applied.

Club football Elo

ClubElo (clubelo.com) applies the same framework to European club football, updating ratings after every match across the top European leagues. It accounts for the strength of schedule, margin of victory, and the home/away differential in club football, which tends to be smaller than international football (typically around 60–65 points rather than 100).

Football Elo update: We = 1 / (1 + 10^((Rb + home_bonus − Ra) / 400)) Ra_new = Ra + K × goal_factor × (Sa − We) Goal difference factor: 1-goal win → 1.0 2-goal win → 1.5 3-goal win → 1.75 N-goal win → (11 + N) / 8 for N ≥ 3

Multiplayer Elo — Adapting the System Beyond 1v1

Standard Elo is a two-player model. Extending it to multiplayer competitions — board games, esports, racing, poker — requires an adaptation, since the system was not designed for ranked finishes among many players.

The most widely used approach is pairwise comparison: treat each player's finish as a win against every lower-ranked player and a loss to every higher-ranked player. A player finishing 3rd in a 6-player game is treated as having beaten players 4, 5, and 6, and lost to players 1 and 2. Each pairwise comparison is then processed as a standard Elo calculation, and the total change from all comparisons is summed. To prevent games with more players from producing disproportionately large rating swings, the K-factor is typically divided by (N−1), where N is the number of players.

For player i finishing in position p among N players: wins = N − p (beat everyone below) losses = p − 1 (lost to everyone above) For each opponent j: Sa = 1 if i finished above j, 0 if below Ea = 1 / (1 + 10^((Rj − Ri) / 400)) delta_i += (K/(N-1)) × (Sa − Ea) Ri_new = Ri + delta_i (rounded to nearest integer)

Elo Rating Levels in Chess — What the Numbers Mean

FIDE rating range FIDE title / USCF class Description Approx. global percentile
Below 1000Unrated / beginnerJust learning the rules and basic tactics
1000 – 1200USCF Class J–HCasual player, knows openings superficially
1200 – 1400USCF Class G–FSolid basics, some tactical awarenessTop 40–50% of rated players
1400 – 1600USCF Class E–DRegular club player, studies openingsTop 30%
1600 – 1800USCF Class C–BStrong club player, some tournament experienceTop 20%
1800 – 2000USCF Class A / ExpertSerious competitive playerTop 10%
2000 – 2200USCF Expert / Candidate MasterNear-master strength, deep preparationTop 3–5%
2200 – 2300FIDE Candidate Master (CM)National-level strong playerTop 1%
2300 – 2400FIDE Master (FM)Professional-level strengthTop 0.3%
2400 – 2500International Master (IM)Elite professional; K-factor drops to 10Top 0.05%
2500 – 2700Grandmaster (GM)World-class; 542 players at 2500+ (2015)Extremely rare
2700+Super-grandmasterWorld top 40; 40 players in 2015Extraordinary
2800+All-time eliteCarlsen peak: 2882 (May 2014, all-time record)Unique

Common Questions

  • The Elo system works in two steps. First, calculate the expected score for each player: Ea = 1 / (1 + 10^((Rb − Ra) / 400)), where Ra and Rb are the two ratings. Second, update the rating: Ra_new = Ra + K × (Sa − Ea), where Sa is the actual score (1 for win, 0.5 for draw, 0 for loss) and K is the K-factor — the maximum points that can be gained or lost in a single game. If two players are equally rated, each expects 0.5; the winner gains K/2 points from the loser. Every rating point transferred from loser to winner is exactly equal, so the total rating pool is conserved.
  • FIDE calculates a performance rating (Rp) for unrated players based on their results in rated events. The standard method is Rp = average opponent rating + 400 × (wins − losses) / total games. FIDE requires a minimum of 5 games against rated opponents in FIDE-rated events before issuing an initial rating, and the provisional rating must be at least 1000. Once established, the player receives a K-factor of 40 (the highest, indicating their rating is expected to move quickly) until they have played 30 rated games or crossed 2400, whichever comes first.
  • You can replicate the Elo formula in any spreadsheet. Put Player A's rating in A1, Player B's rating in B1, and the K-factor in C1. In D1 (expected score for A): =1/(1+10^((B1-A1)/400)). In E1 (new rating for A after a win): =A1+C1*(1-D1). For a draw: =A1+C1*(0.5-D1). For a loss: =A1+C1*(0-D1). Copy the structure for Player B using 1-D1 as their expected score. You can then build a tournament table by chaining these calculations across rows, carrying the updated rating forward after each game.
  • The World Football Elo Ratings, maintained at eloratings.net, adapt the chess Elo formula for international football with three modifications. First, the K-factor varies by match importance: 60 for World Cup finals, 50 for continental championship finals, 40 for World Cup and continental qualifiers, 30 for all other tournaments, and 20 for friendly matches. Second, home advantage adds 100 rating points to the home team's effective rating for the expected score calculation. Third, goal difference is factored in: the K-factor is multiplied by 1 for a 1-goal win, 1.5 for 2 goals, 1.75 for 3 goals, and (11 + goal difference) / 8 for larger wins. Club-level Elo systems (such as ClubElo for European football) follow similar principles.
  • FIDE uses three K-factors: K=40 for players new to the rating system (fewer than 30 rated games) or in their first event above 2400; K=20 for established players rated below 2400; and K=10 for players rated 2400 or above. Chess.com uses K=32 as a flat rate for most users, though this varies by their internal implementation. Lichess uses the Glicko-2 system rather than standard Elo — instead of a K-factor, it uses a ratings deviation (RD) that reflects how certain the rating is, with larger RD meaning more volatile ratings. USCF uses a variable K-factor calculated as 800 / (effective number of games played + games in current event).
  • Standard Elo is designed for head-to-head (1v1) competition. For multiplayer games, the most common adaptation is to treat a ranked finish as a series of pairwise comparisons: in a game with N players, each player's finish is compared against every other player's finish. A player who finishes 1st is treated as having beaten all other N−1 players; a player who finishes 2nd beat everyone except 1st, and so on. Each pairwise result produces a standard Elo update, and the results are averaged. The K-factor is typically divided by (N−1) to prevent the total rating change per game from exceeding what a standard game would produce. This approach is used in various online games, including some esports ranking systems.
  • In the FIDE system: below 1000 is beginner level; 1000–1200 is a casual player; 1200–1400 is a serious club player; 1400–1600 is Class D/C (USCF); 1600–1800 is a strong club player; 1800–2000 is an expert or candidate master; 2000–2200 is a national-level strong player; 2200+ achieves FIDE Candidate Master title; 2300+ is FIDE Master; 2400+ is International Master or Grandmaster; 2500+ is Grandmaster strength; 2700+ is a super-grandmaster; and the world's highest rated players cluster around 2750–2850. Magnus Carlsen's peak FIDE rating of 2882 (May 2014) remains the all-time record.
  • Performance rating (also called tournament performance rating or TPR) is a hypothetical rating that reflects how a player performed across a specific event, as if it were their only rated games. It is used to award titles (FIDE requires specific performance ratings over several events for IM and GM norms), to compare tournament performances, and to give unrated players an initial rating estimate. The algorithm of 400 gives: performance rating = (sum of all opponent ratings + 400 × (wins − losses)) / total games. FIDE's more precise method uses a lookup table of rating differences corresponding to percentage scores, then adds that difference to the average opponent rating.