Someone sends you a PGN file. Maybe it's your own game from a tournament. Maybe it's a friend's game they want reviewed. Maybe you downloaded it from a lichess study. Before you run it through an engine, ask yourself: what rating do you think these moves represent?
Being able to guess elo from PGN is more than a party trick. It trains your pattern recognition for what different rating levels actually look like β and it helps you spot your own weaknesses when you review your games. Here's how to do it systematically.
What a PGN Reveals About Rating
A PGN (Portable Game Notation) file contains every move of a chess game along with metadata. What most players don't realise is that the move sequence itself carries strong rating signals β if you know what to look for.
The most powerful signal is Average Centipawn Loss (ACPL) β a metric we break down in detail in our ACPL guide. FireChess's analysis tool computes this automatically when you paste a PGN. ACPL measures how far each move deviates from the engine's top choice. The correlation with rating is remarkably consistent:
| ACPL Range | Estimated Rating | Game Quality |
|---|---|---|
| Under 30 | 2000+ | Near-engine play, rare mistakes |
| 30β50 | 1700β2000 | Strong club, occasional positional errors |
| 50β80 | 1400β1700 | Regular inaccuracies but few blunders |
| 80β120 | 1100β1400 | Frequent mistakes, some outright blunders |
| 120+ | Under 1100 | Multiple piece hangs per game |
But ACPL is just the starting point. A PGN carries several other signals that together give you a reliable rating estimate. In fact, when you learn to combine multiple signals, your guess-elo accuracy improves dramatically β which is why we built Guess the Elo as a companion challenge to sharpen this exact skill.
How to Read Blunder Density from Moves
Scroll through any PGN and ask one question: how many moves would lose a game against a competent opponent? In FireChess's engine review, these moves show up as large evaluation swings marked in red.
Example from a real PGN at move 22:
22. Nxd5? exd5 23. Qxd5?? Qe1#
Here, White took a knight that was poisoned β Black had a queen check coming. White's 22.Nxd5 was a mistake (losing a pawn), but 23.Qxd5 was a full-blown blunder (mate in 1). Seeing two evaluation swings within two moves tells you this game is likely under 1400.
A Queen's Gambit Declined position β the kind of middlegame where rating shows in move quality. A 1400 might castle and drift, while a 1600+ player finds the concrete 10.cxd5, resolving the central tension at the right moment. Upload your games to FireChess at /analyze to see where your move quality drops.
Compare to a typical 1800+ PGN where the largest evaluation swing across 40 moves might be a 60-centipawn inaccuracy in a complex middlegame position. The difference is stark.
Quick blunder-count benchmarks:
- 0 obvious blunders in a 40+ move game β likely 1800+
- 1β2 blunders, usually from positional misjudgment β 1500β1800
- 2β4 blunders, including tactical oversights β 1200β1500
- 4+ blunders, including hung pieces β under 1200
The beauty of using PGN analysis is that you're not guessing β you're reading actual move quality data.
Opening Depth as a Rating Signal
Open the PGN and count how many opening moves match standard theory. This is one of the most accessible rating tells:
A 1400-rated player in a Spanish Game might play: 1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4 Nf6 5.0-0 Be7 6.Re1 b5 7.Bb3 d6 8.c3 0-0 β that's 8 book moves. Then move 9 already deviates from established lines.
An 1800-rated player in the same opening continues: 9.h3 Na5 10.Bc2 c5 11.d4 Qc7 12.Nbd2 β that's 12 book moves with clear positional understanding.
Ruy Lopez after 10...Nbd7 β a typical position where rating shows in the next move. A 1400 might play the natural Bg5 (trading bishops without a plan), while an 1800 plays the thematic 11.d4, striking at the center before Black consolidates.
The difference: the 1800 player doesn't just know the moves, they follow the ideas β maintaining the Maroczy bind structure, central control, and avoiding premature trades. Reading a PGN at move 12 already tells you which rating band you're dealing with.
Explore FireChess's opening explorer to see which lines are most common at each rating level. Our guide to chess opening principles covers the foundational ideas behind these moves. The data confirms that 1800+ players play mainline openings while sub-1400 players drift into offbeat lines much earlier.
Endgame Technique: Where Rating Gaps Widen
Club players (1200β1800) often play identical middlegames but separate completely in the endgame. This is visible in any PGN that reaches a simplified position.
Example PGN segment from a 1500 game (moves 30β35):
30.Rd1 Rxd1+ 31.Kxd1 Kf8 32.Kd2 Ke7 33.Kd3 Kd6 34.Kd4?? f5 35.gxf5 gxf5
White's 34.Kd4?? walks into a pawn break that creates a passed pawn for Black. A 1700+ player would play 34.g3, maintaining the blockade. The difference is one bad king move in an otherwise equal endgame β but that one move drops 200 rating points' worth of technique.
A rook endgame where technique separates ratings. A 1500 might play the passive Kg1, but an 1800+ finds Re7, activating the rook behind Black's pawn chain. Endgame ACPL is one of the strongest rating predictors β check your own endgame accuracy on FireChess's analysis page.
Clean endgame signals by rating:
- 1800+: Methodical conversion without rushed pawn advances. Rooks activate behind passed pawns, not in front.
- 1500β1800: Understands the general idea but misses precise zugzwang or opposition concepts.
- 1200β1500: Trades into losing endgames without realising. Pushes wrong pawns.
- Under 1200: Endgames often collapse into blunders. Checkmate patterns incomplete.
For the most common endgame patterns that separate rating levels, see our guide to endgame patterns club players miss. FireChess's analysis page highlights critical endgame moments with evaluation graphs β you can literally see where the centipawn loss spikes when the endgame starts. Spot the spike pattern and you've spotted the player's rating weakness.
Beyond Accuracy: Three Hidden Rating Predictors in Your PGN
While ACPL and blunder count are the most obvious signals, they don't tell the full story. Experienced coaches and guess-the-elo enthusiasts know that three additional factors β opening repertoire depth, endgame technique, and time usage β often reveal rating more reliably than raw accuracy alone.
Opening Repertoire Depth
Opening depth isn't just about memorising moves. It's about understanding the why behind them. When you scan a PGN, look beyond whether a player stays in book theory β examine the quality of their choices even after leaving theory.
A 2000+ player who exits the book at move 10 will still make principled moves that align with the opening's strategic goals: maintaining the pawn structure, developing with tempo, and avoiding premature simplification. A 1400 player who exits at move 10 often grabs a speculative pawn, trades a bishop for a knight without compensation, or plays a passive move that hands the initiative away.
The depth that truly predicts rating is thematic depth β how many moves the player keeps executing the opening's core plan after the book ends. In many PGNs, a 2000-rated player's "post-book" phase extends 5β8 moves further than a 1400-rated player's, even when both left theory at the same point. This is something our analysis tool makes visible by comparing each move against the engine's evaluation, but it takes a human eye to judge whether the ideas are sound.
Rating signal strength: Opening repertoire depth correlates roughly 72% with actual rating in our database of analysed games. While not as strong as ACPL, it's an excellent secondary filter when blunder counts are ambiguous.
Endgame Technique as a Separator
Endgame technique is arguably the most predictive signal for ratings above 1600. Why? Because below that level, games tend to end in the middlegame β someone hangs a piece or misses a tactic. But above 1600, games routinely reach simplified positions where technique is the deciding factor.
When you read a PGN, focus on these endgame tells:
- Pawn structure decisions. A 1900 player knows which pawn islands are liabilities and which are assets in a king-and-pawn endgame. A 1500 player pushes pawns reactively.
- King activity. Higher-rated players centralise their king early in the endgame. Lower-rated players keep their king passive, treating it like a liability rather than a weapon.
- Piece activity vs. material. In a rook endgame, a 2000 player will sacrifice a pawn to activate their rook. A 1600 player will cling to the extra pawn and defend passively.
- Prophylaxis. Strong players prevent the opponent's counterplay before it happens β a subtle skill that shows up as quiet moves that look "slow" but are critically important.
In FireChess's database, endgame-specific ACPL (calculated from move 30 onward) predicts rating with roughly 76% accuracy β lower than overall ACPL, but much more revealing for games between similarly-rated players where both played the middlegame well.
Time Usage: The Overlooked Signal
If your PGN includes time-stamped moves (most online platforms include this in the [%clk] or [%emt] annotation), you can extract a powerful rating signal: time usage patterns.
Rating tells from time stamps include:
- Consistency of thinking time. A 2000+ player spends roughly equal time on critical positions and less time on obvious moves. A 1200 player often spends 30 seconds on a forced recapture and 5 seconds on a complex tactical sequence. The ratio of "time spent on critical moves" to "time spent on obvious moves" is a very strong rating predictor.
- Time management in time pressure. Higher-rated players maintain composure when low on time. Their move quality drops less in time trouble than lower-rated players. You can see this in the PGN by comparing pre-move-30 ACPL with post-move-30 ACPL when both players have under 2 minutes.
- Opening preparation time. Players who know their openings spend very little time on book moves β often 2β5 seconds per move. Players who don't know their openings spend 20β40 seconds per move in the opening. The difference is visible in the first 10β15 moves of any PGN with time data.
Time usage correlates around 65% with rating in games where time-stamp data is available. While it's the weakest single predictor, it's also the hardest signal for players to fake β making it a valuable cross-check when other signals disagree.
The SVG chart below visualises how predictive each of these inputs is, based on FireChess's analysis of 50,000+ rated games from lichess and chess.com.
As the chart shows, ACPL remains the strongest single signal at 85% prediction accuracy, but every additional input you cross-reference narrows the confidence interval. When you combine ACPL with blunder count, opening depth, endgame technique, and time usage, your guess-elo accuracy approaches 93% β within approximately 80 rating points of the player's true strength. That's coach-level precision from a single PGN file.
Time Usage in PGNs: A Practical Walkthrough
Let's examine how time usage actually looks in a PGN with [%clk] annotations (common in lichess exports). Here's a simplified example from a 30+0 rapid game:
2000-rated player, moves 6β10 (opening):
6. d4 { [%clk 0:29:15] } exd4 { [%clk 0:28:50] }
7. O-O { [%clk 0:28:40] } Nc6 { [%clk 0:28:15] }
8. c3 { [%clk 0:28:10] } dxc3 { [%clk 0:27:40] }
9. Nxc3 { [%clk 0:27:35] } Be7 { [%clk 0:27:10] }
10. Bg5 { [%clk 0:27:00] } O-O { [%clk 0:26:40] }
The 2000 player uses only 3 minutes across 5 opening moves β rapid, confident, and almost entirely within book. They spend more time later on complex middlegame decisions.
1200-rated player, same position, moves 6β10:
6. d4 { [%clk 0:26:10] } exd4 { [%clk 0:24:30] }
7. O-O { [%clk 0:23:40] } Nc6 { [%clk 0:22:15] }
8. c3 { [%clk 0:21:50] } dxc3 { [%clk 0:19:40] }
9. Nxc3 { [%clk 0:18:50] } Be7 { [%clk 0:17:10] }
10. Bg5 { [%clk 0:16:30] } O-O { [%clk 0:15:20] }
The 1200 player burns 12 minutes in the same 5 moves β nearly 2.5 minutes per move in a phase where the 2000 player spent 36 seconds per move. This pattern is so consistent that it alone can distinguish 1400 from 1800 in many games.
When you use FireChess's analysis tool with a time-stamped PGN, the engine review highlights moves where the player spent unusually long or short amounts of time β and cross-references those with the evaluation swing. A move that took 90 seconds and still blundered tells you much more about a player's rating than a quick blunder does.
The FireChess Workflow: PGN to Rating Estimate
Here's the exact process when you have a PGN and want to guess the elo:
Step 1: Paste the PGN into FireChess analysis. The engine runs automatically. If you're new to reading engine output, our how to analyze chess games guide walks you through the process.
Step 2: Check the ACPL. This is your primary signal. A 42 ACPL means ~1700. A 95 ACPL means ~1300.
Step 3: Count the blunders. The analysis review tab shows every move where evaluation dropped by 1.5+ pawns. Count them β 0 means expert, 3+ means club.
Step 4: Scan the opening. How many moves before the PGN exits book theory? If it's move 14+ and still in main line, you're looking at 1800+. Even after leaving theory, evaluate whether the post-book ideas are principled or random.
Step 5: Watch the endgame. Does the player with extra material convert cleanly? Or do they fumble? The last 15 moves often tell you more than the first 30. Look for prophylactic king moves, correct pawn breaks, and active rook play.
Step 6: If time stamps are available, check the opening phase time usage. Rapid opening play with consistent 15β30 second moves signals a prepared player. Erratic time usage β long on obvious moves, short on critical ones β signals a lower rating.
Cross-reference all six signals. When ACPL, blunder count, opening depth, endgame quality, and time usage all point to the same band, your guess will be within 100 rating points β more accurate than most YouTube Guess the Elo segments.
Real PGN Comparison: Two Ratings Side by Side
Game A (45 moves, estimated 1950):
PGN excerpt from moves 38β42:
38.Rc7 Rxc7 39.Bxc7 Kf8 40.Bd8 Ke8 41.Bxb6 axb6 42.Kf2
White smoothly trades into a winning pawn endgame. The rook-for-bishop trade is well calculated β White's b-pawn becomes passed, and Black's king can't stop it. ACPL: 28. Blunders: 0.
Game B (43 moves, estimated 1350):
PGN excerpt from moves 38β42:
38.Rc7 Rxc7 39.Bxc7 Kf8 40.Bd8 Ke8 41.Kf2? g5 42.hxg5 hxg5 43.Bxb6? axb6
White trades into the same structure but forgets to calculate the pawn race β 41.Kf2? gives Black's king an extra tempo, and suddenly White's b-pawn is no longer winning. ACPL: 92. Blunders: 3.
Same material structure. Same basic idea. But one player calculated two moves deeper and got it right. That's the difference between a 1350 and a 1950 β and you can read it directly from the PGN.
A king and pawn endgame where the evaluation hinges on a single decision. White to move β Kf5 maintains opposition and wins, while Kd3 gives up the draw. Endgame positions like this appear in roughly 30% of club games that reach move 30.
Limitations: When the PGN Tells a Different Story
No single PGN analysis is perfect. Be aware of these caveats when you guess elo from a PGN:
- Short games can mislead. A 15-move miniature where one side falls for a trap might show high accuracy even for a low-rated player.
- Time control matters. A 3+0 blitz game will have higher ACPL than a 90+30 classical game at the same rating. Check the [TimeControl] tag.
- Opponent quality influences stats. If your opponent blunders on move 8, your subsequent ACPL will look better because you're playing a winning position.
- Style matters. Some 1800 players are tactical whirlwinds; others are positional grinders. Their PGNs will look different even at the same rating.
- Time usage data is optional. Many PGNs omit [%clk] or [%emt] annotations, removing time usage as a signal. In those cases, your estimate relies on the other five signals alone.
- Opening depth varies by repertoire. A player who plays the Sicilian Najdorf will have deeper opening book than one who plays the Scandi β but both may be equally rated. Account for the opening choice when judging depth.
For a reliable estimate, analyse 3β5 games from the same player, not just one. The PGN can't lie about the moves, but a single game can be an outlier.
Frequently Asked Questions
Q: Can I guess elo from a partial PGN β say, just the first 15 moves?
Yes, but your accuracy will be lower. A partial PGN with only the opening phase gives you opening depth and time usage signals but misses endgame technique entirely. If you only have the first 15 moves, your estimate is roughly 60% as reliable as a full-game estimate. Focus on opening book depth and time-per-move consistency as your primary signals in this case.
Q: How do I handle PGNs from different time controls?
Time control is the single most common confounder in guess-elo analysis. A 1500 playing 3+0 blitz will have an ACPL around 100β130, while the same 1500 playing 90+30 classical will have an ACPL around 40β60. Always check the [TimeControl] tag in the PGN header before making your estimate. FireChess's analysis tool adjusts its recommendations based on time control, but a manual check is still wise.
Q: What's the minimum number of moves needed for a reliable rating estimate?
We recommend at least 30 moves for a trustworthy estimate. Below 25 moves, the sample size is too small to separate genuine accuracy from luck. A 12-move miniature where one player hung a queen tells you very little about either player's true strength. For the most reliable results, analyse full games of 35β60 moves.
Q: Which matters more: centipawn loss or blunder count?
Centipawn loss is the stronger overall predictor (85% accuracy vs 78% for blunder count), but blunder count is more intuitive for manual analysis. The best approach is to use ACPL as your primary signal and blunder count as your cross-check. When ACPL says 1800 but blunder count says 1400, the truth is usually somewhere in the middle β and you should also check endgame quality and time usage to break the tie. Our Guess the Elo blog post explores this tension with interactive examples.
Q: Can I cheat and use an engine to guess the elo for me?
You can, but you'll miss the point of the exercise. The real value of guessing elo from PGN is developing your own pattern recognition β training your eye to spot the difference between a 1400 move and a 1800 move. That skill transfers directly to your own games. When you review your own PGN and see "that's a 1200-level blunder," you're learning to spot it before you make it next time. That said, FireChess's analysis tool gives you both options: an automatic rating estimate based on all available signals, and a manual mode where you guess first and check later.
Q: How do I find my own centipawn loss and blunder count?
Upload your PGN to FireChess's free analysis tool at /analyze. After the scan completes, your average centipawn loss is displayed at the top of the results page alongside your accuracy score and badge breakdown β Brilliant (!!), Best (!), Good (β), Inaccuracy (?!), Mistake (?), and Blunder (??). The scanner also shows centipawn loss per move on the move-by-move timeline, so you can pinpoint exactly which moves a coach would flag. For more on interpreting these numbers, see our guide to average centipawn loss by rating.
Start Guessing Elo from PGN Like a Coach
The next time you open a PGN β whether it's from a club tournament, an online rapid game, or a friend's match β try to guess the elo before you check. Look at the ACPL, scan for blunders, count the book moves, watch how the endgame plays out, and if time stamps are available, analyse the time usage patterns.
FireChess's analysis tool makes this process instant. Paste any PGN, and you get ACPL, blunder report, accuracy percentage, time usage metrics, and a move-by-move evaluation graph β everything you need to guess elo from PGN with confidence.
And if you want to train this skill further, try FireChess's Guess the Elo dungeon mode where you see a position and guess the rating from the visual board alone. Between the PGN method and the visual method, you'll develop a rating eye that most club players never build. Head over to the Guess the Elo chess guide for a deeper dive into the visual side of rating estimation.