Chess Stats
Compare US Chess members, find events, estimate US Chess or FIDE ratings and norms, and analyse any Chess.com or Lichess player’s games.
Data comes live from the official US Chess ratings database. The first comparison of the day can take up to a minute while the server wakes up and pulls each player’s full game history; later lookups are much faster.
Player A
Player B
Player
Compare this player with another player
Find a second player by US Chess ID or by name. The comparison runs on the Compare Players tab, using the opponents both of you have faced.
Compare with
Enter your rating and the games from one event, and this works out your new US Chess rating the way the ratings office does — the standard formula for established players, the “special” formula for anyone with eight or fewer games — along with your performance rating and every title norm the result counts toward.
⭐Why new players get a different formula: a win used to be able to lower your rating
Players with eight or fewer games are rated by what US Chess calls the “special” formula, and it exists to fix a real defect in the one before it. Under the old provisional formula, a player rated 1500 over 5 games who beats a 500-rated opponent drops to 1400 — a win that costs a hundred points, because the old formula simply averaged the opponent in. The special formula gives 1500.
It does that by using a straight-line expected score that stops at 400 points rather than the usual curve, so a wildly mismatched game can never drag the answer past it. When every game falls within 400 points the two formulas agree exactly, which is why most new players never notice the difference. Checked here across a spread of ratings, histories and opponents: turning any loss into a win never once lowers the result.
How norms are worked out — and why exactly 1.0 is not enough
A norm at a title level is earned when your score beats what a player rated exactly at that level would be credited against the same opponents, by more than one full point. The threshold is strict: a margin of exactly 1.0 earns nothing. Five norms make a title. This is the worked example from the US Chess Title System document itself — five rounds against 1840, 1700, 1900, 1850, 1820, scoring 3 out of 5 — reproduced by this calculator to the decimal:
| Level | Title | Credited | Margin | Result |
|---|---|---|---|---|
| 1200 | 4th Category | 0.000 | 3.000 | norm earned |
| 1400 | 3rd Category | 0.125 | 2.875 | norm earned |
| 1600 | 2nd Category | 1.112 | 1.888 | norm earned |
| 1800 | 1st Category | 2.488 | 0.512 | no norm |
| 2000 | Candidate Master | 4.475 | -1.475 | no norm |
| 2200 | Life Master | 5.000 | -2.000 | no norm |
| 2400 | Senior Life Master | 5.000 | -2.000 | no norm |
⭐A perfect score against weaker players earns no norm at all
The “credited” column above is not the usual expected score. It is deliberately generous to the imaginary title-level player: against anyone rated 200 or more below the level, they are credited a full point, where the ordinary expected-score curve would give about 0.76. So a win over a much weaker player is worth exactly what was expected and adds nothing toward a norm. Five wins out of five against five 1000-rated players carries no norm at any level. Norms come from beating people near or above the level — not from winning.
Strong players move less in dual-rated events
Events at G/30 to G/65 count for both the regular and the quick rating. For the regular rating only, US Chess shrinks the change for anyone rated above 2200: the multiplier falls from 1 at 2200 to exactly one quarter at 2500 and stays there. A 2500 player in a G/60 event moves a quarter as far as they would in a slow game. Choose the dual-rated option above and the estimate applies it.
Why no estimator — this one included — matches the official number exactly
The ratings office rates every player in an event twice. The first pass uses everyone’s pre-event ratings. The second repeats it using the ratings the first pass produced for your opponents. So your official rating depends on how your opponents did in their other games, which no single-player calculator can know. What you get here is the first pass for you, which is what every estimator computes. It is usually within a point or two, and further out when your opponents were unrated or had unusual events. Norms work the same way — the rule uses opponents’ post-event ratings — so treat a norm on the borderline as provisional until the event is rated.
Formulas from “The US Chess Rating System” (Glickman & Doan, revision of 1 March 2024) and “The US Chess Title System” (US Chess Ratings Committee, February 2016). The document’s own worked examples — effective games, floors, and the norm table above — are reproduced exactly by the test suite.
The same idea for a FIDE rating: enter your FIDE rating and the games from one event, and this applies the FIDE Rating Regulations — the K-factor rules, FIDE’s own expected-score table, the 400-point rule and its 2025 exception — or works out a first rating if you are new to the list. FIDE has no public ratings lookup, so type your rating in.
⭐Every new FIDE rating is pulled toward 1800
Since March 2024, a first rating is worked out as though you had also drawn two games against imaginary 1800-rated opponents. With only a handful of real games, those two phantom draws carry real weight. A new player who scores 2.5 out of 5 against 1400s gets 1514 rather than the 1400 their games alone would give. One who scores 4 out of 5 against 2000s is held to 2101 rather than 2200. A player who performs at exactly 1800 is untouched, at 1800. The more games you play before your first rating, the less the anchors matter — and a first rating can never be higher than 2200.
The 400-point rule makes beating a much weaker player worth four times as much
FIDE treats any rating gap over 400 points as exactly 400, which caps your expected score against anyone at 0.92. Against a player 600 points weaker the table would otherwise expect 0.98. So a 2000 who beats a 1400 gains 1.6 points instead of 0.4 — four times as much — and a loss costs a little less too. Mismatches quietly favour the stronger player. Since 1 October 2025, standard players rated 2650 and above no longer get that cushion: the real gap is used. The rapid and blitz regulations were not amended, so the cap still applies to everyone there, and this estimator follows both.
How this is checked, and the one place the rules are silent
FIDE prints two tables: one turns a rating gap into an expected score, the other turns a score into a rating gap. They are published separately and should be exact opposites. Checked against each other, they agree on every one of the 50 rows, which is the best available evidence that neither was mistyped here.
The regulations do not say how to round a score that falls between two rows of the second table, which matters for a first rating. This rounds to the nearest hundredth, the usual reading; interpolating between rows instead gives a different first rating for 71% of realistic results — but never by more than 7 points. When that happens the estimate shows both.
From the FIDE Rating Regulations effective 1 March 2024 (Handbook B.02), the amendment to section 8.3.1 effective 1 October 2025, and the Rapid and Blitz Rating Regulations of 1 March 2024.
Type a Chess.com username and this reads that player’s recent games — anyone’s, not just your own — and shows where the points come from: each opening with each colour, each time control, results against stronger and weaker opponents, and how games are won and lost. Every score carries a range showing how far it can be trusted.
No login, and nothing passes through this site
Chess.com publishes every player’s finished games through a free, read-only public data service. Your browser asks it directly for the months you pick, one month at a time, and does all the counting itself. This page never asks for a Chess.com password and never needs one — the games are public, so a username is enough. Games in progress and variants such as Chess960 are left out; only standard chess is counted.
⭐A good score in an opening usually means nothing yet
Score 6 out of 8 in an opening and it looks like a weapon. But the honest 95% range for eight games at 75% runs from 41% to 93% — it could still be a losing opening. This is the single most common way to misread your own games, so every score here comes with that range, and the table only calls something an edge once the whole range sits on one side of 50%. Here is how many games it takes, at a steady score, before that happens:
| Steady score | Games before it is clearly better than even |
|---|---|
| 55% | 385 |
| 60% | 97 |
| 65% | 43 |
| 70% | 25 |
| 75% | 16 |
A genuine 55% edge needs hundreds of games to show. Draws make the true range a little narrower than this, so the ranges shown are on the cautious side, never the flattering one.
How a game’s ending is read
Chess.com records a result for each side. The winner’s is simply “win”; the loser’s says how it happened — checkmated, resigned, timeout or abandoned. So the ending shown for a win is the opponent’s code, and for a loss it is the player’s own. Six codes are draws: agreement, repetition, stalemate, insufficient material, the fifty-move rule, and running out of time when the opponent cannot possibly mate.
Expected scores against stronger and weaker opponents use the standard rating formula, 1 / (1 + 10gap/400). Chess.com’s own system (Glicko) also weighs how certain each rating is, so treat the expected column as a guide rather than Chess.com’s own number.
The same breakdown for Lichess: type any Lichess username and this reads that player’s recent games and shows where the points come from — each opening with each colour, each time control, results against stronger and weaker opponents, and how games are won and lost — with a range on every score showing how far it can be trusted.
No login, and nothing passes through this site
Lichess publishes every player’s games through a free, public export. Your browser asks it directly and does all the counting itself; this page never asks for a Lichess password or account. Lichess sends games to anonymous visitors at roughly 11 a second, newest first, so a large request takes a while — the count updates as games arrive, and Stop analyses whatever has come in so far. Aborted games, games against unrated or anonymous opponents, and variants such as Chess960 are left out.
How Lichess endings are read
Lichess records one status per game. “Timeout” there means the opponent left the game and the win was claimed, so it is shown as abandonment; running out of clock is “out of time”. Agreed draws, repetitions and the fifty-move rule share a single “draw” status, so they are shown together. The confidence ranges and the expected-score column work exactly as on the Chess.com tab — see the notes there for why a good score in an opening usually means nothing yet.
What each tab does
Compare Players takes two US Chess members and works out how they match up. Because two club players have usually never met over the board, it looks for the people they have both played and compares their results against that shared field.
Individual Stats takes one player and summarises their rated history — results, the strength of the opposition they have faced, and how the rating has moved.
Tournament Predictor takes a list of US Chess IDs, a format and a number of rounds, and plays the whole event out — pairing each round from the results of the last one, deciding every game from the two ratings, and printing the cross-table it produces along with what the event would do to each rating.
Chess.com Analysis reads any Chess.com player’s recent public games by username and breaks their results down by opening, colour, time control, opponent strength and how games end — with a range on every score so small samples are not mistaken for edges.
Lichess Analysis does the same for any Lichess player, streaming their games as Lichess sends them.
Find Tournaments searches upcoming and past events. You can look a player up by US Chess ID if you know it, or by name and state if you do not — the ID is the eight-digit number on a membership card, and searching by name will show you it.
How much to trust the common-opponent numbers
The comparison prints a performance rating for each player: roughly, the rating they played like against the shared opponents, rather than the rating they currently hold. Scoring evenly against a field means performing at its average; scoring above it means performing above.
That number is only as steady as the number of games behind it, and on a short shared history it is very unsteady indeed. Here is how far the performance figure moves if a player wins one more of their shared games:
| Games against the shared opponent | One more win moves the figure by |
|---|---|
| 1 | 800 rating points |
| 2 | 193 rating points |
| 3 | 122 rating points |
| 4 | 91 rating points |
| 6 | 60 rating points |
| 10 | 36 rating points |
| 20 | 18 rating points |
With two shared games, one result is worth 193 points — more than the gap between a strong club player and a master. With twenty, it is worth 18. And on a single shared game the figure carries no information at all: a player who has won their only game against someone has no measurable upper limit, so the calculation simply returns its maximum of 800.
So read the indirect rating gap as a hint about who has been playing better lately, not as a prediction. Check the games column before you believe any of it — and treat a comparison built on a handful of shared games as no comparison at all.
Reading a US Chess rating
US Chess keeps several ratings per player and they are not interchangeable. Regular covers slow games, Quick covers faster time controls and Blitz faster still. A player can be hundreds of points apart in two of them, and comparing someone's Quick rating with someone else's Regular tells you very little.
A rating is also provisional until enough rated games have been played, meaning it can move a long way on a single event. An established rating built over hundreds of games moves slowly; a provisional one is closer to a first guess.
None of these numbers translate to a rating from FIDE, Chess.com or Lichess. Each system runs its own separate pool of players, and a rating only means something relative to the pool it came from. Two players who both hold "1800" in different systems have not been shown to be equal in any sense.
How to use
- Lichess Analysis: type any Lichess username, choose the period and how many games, and watch the count climb as Lichess streams them in.
- Chess.com Analysis: type any Chess.com username, pick how many months, and read results by opening, colour, time control and opponent strength.
- FIDE Estimator: enter your FIDE rating, games played and each opponent to get your new rating, or a first rating if you are new to the list.
- Rating Estimator: enter your rating, games played and each opponent with W, D or L to get your new rating and every norm it earns.
- Tournament Predictor: paste a list of US Chess IDs, pick a format and rounds, and read the predicted cross-table.
- Pick a tab: compare two players, one player, or tournaments.
- After loading one player in Individual Stats, find a second player underneath and press Compare to open the comparison.
- Enter a US Chess ID, or search by name and state.
- The comparison uses opponents both players have faced.
- Check the games column before trusting any gap.
Frequently asked questions
Can I compare someone straight from their Individual Stats?
Yes. Once a player’s stats have loaded, a box underneath lets you find a second player by US Chess ID or by name. Press Compare and the page moves to Compare Players with both filled in and runs the comparison there, so you can change either player and run it again.
What does Compare Players actually compare?
The opponents both players have faced. Two club players have usually never met over the board, so the tool finds their shared opponents and works out how each performed against that common field. It is an indirect comparison, and it is only as good as the overlap between the two careers.
How many shared games do I need before the number means anything?
More than most pairs have. On two shared games, one extra win moves the performance figure by 193 rating points, which is wider than the gap between a strong club player and a master. On ten it is 36 points and on twenty it is 18. Check the games column first and treat a handful of shared games as no comparison at all.
What happens on a single shared game?
Nothing useful, and the tool says so rather than printing a number that looks precise. A player who has won their only game against someone has no measurable upper limit, so the calculation returns its maximum of 800 and that figure carries no information whatsoever.
What is the performance rating it shows?
Roughly the rating a player played like against the shared opponents, rather than the rating they currently hold. Scoring evenly against a field means performing at its average, and scoring above it means performing above. Read it as a hint about recent form, not as a prediction of a game between them.
Can I compare a US Chess rating with a FIDE, Chess.com or Lichess one?
Not meaningfully, and this tool does not try. Each system runs its own pool with its own history, so the numbers are not on a shared scale and no conversion between them is reliable. Each tab keeps to one system for that reason, and none converts between them.
Are Regular, Quick and Blitz ratings interchangeable?
No. US Chess keeps several ratings per player covering different time controls, and one player can sit hundreds of points apart in two of them. Comparing one person’s Quick rating against another’s Regular tells you very little, so compare like with like.
What does provisional mean?
That the rating is based on too few rated games to have settled, so it can move a long way on a single event. An established rating built over hundreds of games moves slowly; a provisional one is closer to a first guess and should be read as one.
How do I find someone’s US Chess ID?
It is the eight-digit number on a membership card. If you do not have it, search by name and state instead and the results will show you the ID, which you can then use for the other tabs.
Where does the data come from?
Live from the official US Chess ratings database, so it reflects whatever has been rated and published at the time you look. Nothing is stored by this page.
How does the Tournament Predictor decide each game?
From the two ratings in whichever rating system you pick, using the ordinary expected-score curve. That curve fixes the expected score but not the split between winning and drawing, so the draw rate is a separate stated assumption — higher for slow play than for blitz. It is arranged so that changing the draw rate does not move anyone’s expected score at all, only the spread around it, which means the predicted standings do not rest on that assumption.
Why does it show a cross-table AND a table of simulated runs?
Because one played-out tournament is a sample, not a forecast. The cross-table is the single most likely path, with every game going to the favourite. The second table plays the same event out 1,200 times with each game drawn from its own odds, which is where the expected scores and the chance of winning come from. A tie for the lead counts as winning it.
If the favourite always wins, is the prediction just the rating order?
Up to about eight players, yes. Above that, no — and the reason is worth knowing. A Swiss pairs within score groups, and an odd-sized score group has to float somebody down to a weaker opponent. That player collects a cheap point and can finish above people rated higher who had to play each other. A bye does the same thing more bluntly. So even a completely deterministic Swiss reorders the field.
How is the rating change worked out?
By the published US Chess algorithm rather than plain Elo. For established players K is 800/(N’+m), where m is games in the event and N’ is the effective number of games — capped by a curve that climbs from about 8 at rating 400 to 50 at 2355, so a beginner moves roughly six times as fast as a master for the same result. There is a one-sided bonus for beating expectation by more than 14 times the square root of the round count. Players with eight or fewer prior games are rated by the separate special formula instead. Byes are excluded, because an unplayed game is not a rated game.
How do I estimate my new US Chess rating after a tournament?
Open the Rating Estimator tab, enter your current rating and how many rated games you had played before the event, then list each opponent’s rating with W, D or L. It applies the same formula the ratings office uses — standard for established players, special for anyone with eight or fewer games — and shows your new rating, the change, your performance rating and every title norm the result earns.
Why does my estimate not match the official rating exactly?
Because US Chess rates every player in an event twice, and the second pass uses the ratings the first pass gave your opponents. Your official number therefore depends on how your opponents did in their other games, which no single-player calculator can know. The estimate is the first pass for you; it is usually within a point or two, and further out when opponents were unrated or had unusual events.
What is the special rating formula?
The formula for players with eight or fewer rated games, or whose every previous game was a win or every one a loss. It finds the rating at which your score equals the sum of a straight-line expected score that stops at 400 points, rather than using K. It exists to fix a defect in the older formula, under which a player rated 1500 over five games who beat a 500-rated opponent would have dropped to 1400.
How are US Chess title norms calculated?
For each title level, the calculator works out what a player rated exactly at that level would be credited against your opponents, and a norm is earned when your score beats that by more than one full point. Exactly 1.0 is not enough. It needs at least four rounds, a regular or dual-rated event, and no opponent met more than twice. Five norms make a title, and Candidate Master and above also need an established rating at the level.
Why did a perfect score not earn me a norm?
Because norms are measured against what a title-level player would be credited, and against anyone rated 200 or more below the level that credit is a full point. Beating much weaker players is exactly what was expected, so it adds nothing. Five wins out of five against five 1000-rated players earns no norm at any level — norms come from beating people near or above the level.
Can I estimate a rating if I am unrated?
Yes. Choose unrated, and optionally enter your age or a FIDE rating. With no rated games the result comes almost entirely from your games in the event; an age-based starting point only breaks ties. A FIDE rating is converted to the US Chess scale using the formula in effect since March 2024 and counts as a few games of prior information.
How do I calculate my new FIDE rating?
Open the FIDE Estimator tab, choose standard, rapid or blitz, enter your rating and how many FIDE-rated games you have played, and list each opponent’s rating with W, D or L. The change is K times the sum of your score minus FIDE’s expected score for each game, rounded to the nearest point with halves rounded away from zero. It shows the working game by game.
What K-factor does FIDE use?
40 until you have 30 FIDE-rated games, and 40 for juniors until the end of the year they turn 18 while rated under 2300. Otherwise 20 while under 2400, and 10 once you have ever had a published rating of 2400. K is also cut if K times the games in a rating period would exceed 700 — so a junior on K 40 who plays 20 games in one period drops to 35.
What is the FIDE 400-point rule?
Any rating gap over 400 points is treated as exactly 400, which caps anyone’s expected score at 0.92. It makes beating a much weaker player worth about four times what the table would otherwise give — a 2000 beating a 1400 gains 1.6 points instead of 0.4. Since 1 October 2025 standard players rated 2650 and above use the real gap; the rapid and blitz rules were not changed.
How is a first FIDE rating worked out?
You need at least 5 games against rated opponents. FIDE averages your opponents’ ratings together with two imaginary opponents rated 1800, counts your results against those two as draws, and adds the rating difference its table gives for your score. That pulls every new rating toward 1800 — a player who scores half against 1400s gets 1514, not 1400. A first rating cannot exceed 2200.
Do I need to log in to Chess.com to use the Chess.com Analysis tab?
No, and it never asks for a Chess.com password. Chess.com publishes every player’s finished games through a free, public, read-only data service, so a username is all it takes — yours or anyone else’s. Your browser fetches the games straight from Chess.com and does the counting itself; nothing passes through this site.
What does the Chess.com Analysis show?
Your score by time control with how your rating moved, by colour, by opening with each colour, against opponents grouped by rating gap compared with what the rating formula expects, how your wins and losses ended — checkmate, resignation, time or abandonment — and by time of day. Filters for time control and rated games re-read the games already loaded without fetching again.
Why does it say an opening with a good score is not settled?
Because a small sample cannot tell a real edge from luck. Six wins from eight games is 75%, but the 95% range for that record runs from about 41% to 93%, so it could still be a losing opening. The table only calls something a clear edge or weakness once the whole range sits on one side of 50%. At a steady 60% that takes 97 games; a genuine 55% edge takes 385.
How many games does the Chess.com Analysis read?
The last 1, 3, 6 or 12 months, fetched one month at a time because Chess.com asks for requests to be made in sequence. Up to 5,000 games — for very active players the most recent 5,000 are used and the page says so. Games in progress and variants such as Chess960 are left out.
Can it analyse Lichess games too?
Yes — the Lichess Analysis tab gives the same breakdown for any Lichess username, with no login. Lichess sends games to visitors without an account at about 11 a second, newest first, so you choose a limit of 200 to 3,000 games; the count climbs as they arrive and Stop analyses whatever has come in so far.
Why does Lichess show abandonment where I expected a loss on time?
Because Lichess uses the word timeout for a player who left the game and had the win claimed against them, and outoftime for running out of clock. The tab shows the first as abandonment and the second as on time. Lichess also records agreed draws, repetitions and the fifty-move rule under one draw status, so those are shown together.
Why do the ratings in a predicted event not add up to zero?
Two forces pull against each other. The bonus is one-sided — beating expectation pays, falling short of it carries no matching penalty — which pushes the total up. Against that, lower-rated players have a smaller effective game count and therefore a larger K, so in a wide field the players losing move further than the players winning. The result is that a tight field gains rating points overall and a wide one loses them, with the crossover somewhere around a 300-400 point spread.
What does the predictor not handle?
The dual-rated K reduction for players above 2200, because a list of IDs does not say what the time control was — the Rating Estimator tab does apply it when you choose a dual-rated event. Where the member record does not report a game count, 50 prior games are assumed, which is the least volatile assumption available. Players with eight or fewer prior games ARE rated by the special formula; an earlier version flagged them instead.
Can it load a real upcoming tournament?
Yes, for Austin Chess. Press Load events in the Tournament Predictor and it lists their upcoming tournaments, then the sections of whichever you pick, with the entry list, time control and round count already filled in. Nothing is scraped: their site is an Angular app that renders nothing server-side, but it talks to a public JSON API and that is what this reads, so a restyle of their pages cannot break it. Entry lists are fetched when you ask and are not stored.
Why does it ask which rating system when the club lists a time control?
Because most club controls are rated for two systems at once. US Chess measures a control as base minutes plus the delay or increment in seconds, and anything from 30 to 65 by that measure is dual-rated — it counts for the regular rating AND the quick rating. A G/60 with a 5-second delay is 65, which sits exactly on the upper boundary, so a typical club Swiss is dual-rated and which rating you want predicted is a genuine choice rather than something the schedule decides.
🌐 The US Chess tabs look players and events up through this site’s ratings server, which asks the official US Chess database; nothing is stored. The Chess.com and Lichess tabs are different: your browser asks that site’s public data service directly for the username you type, so the request never passes through this site, and no Chess.com or Lichess login is ever involved. The two estimators are arithmetic done in your browser.