A PGN file is a plain-text record of a chess game: headers, moves, result, and usually the clock left after each move. Portable Game Notation has been the universal chess interchange format for more than 30 years, so every serious tool reads it. Good PGN analysis has three stages, in order: one engine pass over every move, then classify only the moves where the evaluation collapsed, then compare drop points across dozens of games to find the mistake that repeats. Stage three is the one almost everybody skips.
Interactive lesson — Discovered attack: one move, two threats: Play it on the board below, and make the key move yourself. The bishop on b2 aims at h8 — but its own knight on e5 blocks the check. Nc6! The knight leaps away with discovered check — and attacks the queen on b8. Black must answer the check and abandon the queen to its fate. Nxb8 — the discovery wins the queen. One move that made two threats.
Most people who search for chess PGN analysis want the same thing: they have a game they lost, a file or a block of text full of moves, and they want to know where it went wrong. The engine part of that is easy and free. The hard part is knowing what to do with the output, because a move-by-move engine printout of one game will happily bury the two moves that actually decided it under forty moves of harmless noise. In Chess DNA’s own analysis across 6,288 real amateur games, the pattern is consistent: a handful of positions per game carry almost the whole result. This guide covers what a PGN actually contains, how to export one from Chess.com and Lichess, how to analyze it in the right order, and which tool to use for which job.
PGN stands for Portable Game Notation, a plain-text format standardised in the mid-1990s so that chess programs could exchange games without a shared database. That is the whole reason it matters: a .pgn file is just text, so a game you export from one site opens in any engine, viewer, or database on any platform, years later.
A PGN has two parts. First a block of bracketed header tags — Event, Site, Date, White, Black, Result, ratings, time control, and the opening’s ECO code. Then the movetext: the moves in standard algebraic notation, numbered, with the result repeated at the end. Modern exports also carry comments in braces after moves, and the most useful of those is the clock, written as {[%clk 0:02:31]}.
[Event "Rated blitz game"]
[Site "https://lichess.org/xxxxxxxx"]
[Date "2026.07.28"]
[White "player_one"]
[Black "player_two"]
[Result "0-1"]
[WhiteElo "1412"]
[BlackElo "1435"]
[TimeControl "300+0"]
[ECO "B01"]
1. e4 {[%clk 0:05:00]} d5 {[%clk 0:05:00]} 2. exd5 {[%clk 0:04:57]}
Qxd5 {[%clk 0:04:56]} 3. Nc3 {[%clk 0:04:55]} Qa5 {[%clk 0:04:52]} 0-1
Three things follow from this structure. A PGN is human-readable, so you can check in any text editor that it is what you think it is. It is concatenable — a hundred games can sit in one file, one after another, which is what bulk exports give you. And it is lossy in one way that matters: it records the moves played and the time left, not what you were thinking. Everything a tool tells you is reconstructed from those moves.
For a single game: open the finished game, look under the board for the Download or Share control, and choose PGN. You get either a copyable block of text or a saved .pgn file. The export includes clock comments, which matters for the time-pressure analysis further down this page.
For many games at once: go to your games archive and use the bulk download, choosing a date range or a time control. That produces a single file with every game inside it, which is the input you want for pattern work rather than one-game review. Chess.com also exposes a public monthly archive API, which is what apps use when you connect an account by username instead of uploading files by hand.
One caveat before you plan a review workflow: exporting the PGN is free and unlimited, but Chess.com’s own Game Review — the annotated, coach-voiced version — is rate-limited for free accounts. The moves are yours; the polished review is the paid product. If that is what you are hitting, the free Chess.com Game Review alternatives guide covers the options honestly.
Lichess is the most permissive source of PGN data on the internet. On any game page, the download icon under the move list gives you the PGN with checkboxes for including clock times and engine evaluations. Because Lichess games are public by default, you can also export other players’ games, which makes it the standard way to prepare an opponent before a match.
For bulk export, Lichess offers a plain HTTP endpoint that needs no API key for public games. Requesting lichess.org/api/games/user/YOURNAME?clocks=true&max=200 streams back up to 200 games as PGN text you can save straight to a file. Query parameters cover time class, colour, date range, and rated-only, so you can pull exactly the slice you want. For what Lichess gives you once the PGN is loaded, see our breakdown of how Lichess game review works.
The mistake almost everyone makes is going move by move through one game, arguing with the engine about move 9 for twenty minutes. Here is the order that actually produces improvement.
If step three is where you get stuck — you can see the evaluation dropped but not why — the companion guide on how to analyze a chess position walks through reading a position by hand, and chess engine analysis explains how to interpret depth, centipawns, and engine lines without over-trusting them. For the full review routine end to end, how to analyze your chess games is the parent guide.
Move data alone tells you what you played. Clock data tells you the conditions you played it under, and that turns an ambiguous mistake into a diagnosable one.
With both, things become visible that no move list can show. Whether your errors cluster in the last minute, which is a time-management problem rather than a chess problem. Whether you spend thinking time on the wrong moves — long thinks on quiet positions, snap decisions in sharp ones. And which of the two causes of a hanging piece applies: not looking, versus looking and misjudging.
The practical rule is that the fix follows the clock. Errors under time pressure are fixed by changing how you spend the clock, not by solving more puzzles; our guide on how to avoid time trouble in chess covers that side. Errors made with plenty of time on the clock are genuine blind spots, and why you keep blundering in chess covers the checking habit that closes them.
There is no single best PGN analyzer, because the tools sit in different categories. Here is an honest map.
| Tool | Best for | Limitations |
|---|---|---|
| Lichess analysis board | Free single-game PGN analysis. Paste or upload a PGN, get server-side computer analysis, an evaluation graph, and mistake annotations. The best free option, and the default recommendation. | Built around one game at a time. No cross-game aggregation of recurring errors. |
| Chess.com Game Review | The friendliest presentation: move labels, coach commentary, an accuracy score. Good if you want your review explained rather than raw. | Free accounts get a limited number of reviews per day; depth and unlimited use are behind a membership. |
| Desktop engine GUIs (Arena, Scid vs. PC, Banksia) | Maximum control. Your own engine binary, depth and thread settings, local databases of thousands of PGNs, no rate limits, works offline. | Dated interfaces, real setup effort, and they give evaluations rather than conclusions. No opinion on what to train. |
| Chess DNA | Bulk import and cross-game pattern detection. Imports your games from Chess.com or Lichess by username, analyzes them with Stockfish 17 at depth 18, and reports the weaknesses that recur across 8 skill dimensions. | Works from your connected account history, not from arbitrary pasted positions. For deep single-game exploration a dedicated analysis board is still the better tool. |
If you only ever analyze one game a week, Lichess is enough and you should stop reading here. The category gap opens up when you have fifty games and a suspicion that you keep losing the same way.
Chess DNA is not a better PGN viewer and does not try to be. It is built for step five of the method above — the aggregation step. You connect a Chess.com or Lichess username, it pulls your game history, runs Stockfish 17 at depth 18 over the moves, and then does the part that is tedious by hand: grouping every drop point across all those games and scoring 8 skill dimensions so the repeating failure is visible as a shape rather than a hunch.
That is the honest positioning: for one game reviewed in depth, an analysis board beats it, and for “what is costing me rating across my last fifty games,” a single-game viewer cannot answer no matter how good its engine is. For the wider comparison, see what to look for in a chess analysis app.
PGN analysis means loading a game stored in Portable Game Notation into an engine-backed board and reviewing what the engine says about each position. A PGN file holds the moves, the result, the player names and ratings, the opening, and often the clock time remaining after every move. Analysis turns that record into feedback: which moves lost evaluation, how much they cost, and what the better move was. Done well, it also compares many PGN files at once so you can see which mistakes repeat instead of over-reading a single game.
Yes. Lichess lets anyone paste or upload a PGN into its analysis board and run a full server-side computer analysis at no cost. Desktop programs such as Scid vs. PC or Arena will open a PGN and run any UCI engine you install, also free. Chess.com allows a limited number of free Game Reviews per day and paywalls the rest. Free tools are genuinely strong for single games; what usually costs money is bulk analysis across a whole game history.
Open the finished game, then use the Download or Share menu below the board and choose PGN. You can copy the text or save a .pgn file. For many games at once, go to your archive page and use the bulk download option, which produces one file containing every game in the range you pick. Chess.com PGN exports include clock comments in the move list, which is what lets you see how much time you spent before each mistake.
On any Lichess game page, the download icon under the move list gives you the PGN, with a checkbox for including clock comments and evaluations. For your whole history, Lichess has a public export endpoint: fetching /api/games/user/YOURNAME?clocks=true returns every game as PGN text, which is the fastest way to get hundreds of games in one file. Lichess PGN exports are unrestricted and require no subscription.
A PGN viewer is any tool that reads a PGN file and lets you step through the game on a board instead of reading raw text. Some viewers are read-only, showing moves and comments; others attach an engine and become an analysis board. The practical difference matters: a viewer tells you what happened, an analyzer tells you where the game was decided. If your goal is improvement rather than replaying a famous game, pick a tool with an engine attached.
One game shows you mistakes; twenty to fifty games show you patterns. A single loss is dominated by chance, mood, and the specific opponent, so the lesson you draw from it is often wrong. Once you have a few dozen PGNs analyzed at the same depth, the same failure keeps appearing, and that repetition is the signal worth training. This is the main argument for bulk PGN import over hand-reviewing one game a week.