A chess engine returns two things: a best move and a number. The number is centipawns, where 100 equals one pawn, and win probability is the more useful lens because a 10% drop in winning chances hurts the same whether the eval was level or lopsided. Depth 18 is enough for reviewing blitz and rapid games. Stockfish is free and strongest. The part no engine gives you is why you missed the move, and that is the part that decides what you should train.
Interactive lesson — The hanging piece: the question that saves games: Play it on the board below, and make the key move yourself. White to move. Run the cheapest check in chess before you touch anything, which black pieces have a defender, and which have none? Rxd5. Nothing guards the knight, so the rook simply takes it. No calculation, just counting. Now look for the recapture. The pawn on b6 covers a5 and c5, not d5, and the king is on the other side of the board. A whole piece, won by asking one question. Ask it every move, and ask it for your own pieces too.
Every chess analysis tool you have used, Lichess, Chess.com Game Review and Chess DNA included, wraps the same kind of program: an engine that scores positions. Chess DNA runs Stockfish 17 at depth 18 on every position and has analyzed a published dataset of 6,288 real amateur games that way. The pattern in that data is blunt: a single move usually decides the game. Its move labels are set in win probability, not centipawns, so a 10% loss of winning chances is an inaccuracy and a 20% loss is a mistake. This guide covers what the engine is actually computing, how much depth is worth paying for, and how to turn a wall of numbers into a training list.
A chess engine does two jobs. It searches, playing out sequences of moves, and it evaluates, scoring the positions at the end of those sequences. The number you see is not a judgement of the position on your screen in isolation, it is the score of the best position the engine believes it can reach from there with both sides playing well.
That distinction matters for reading engine output honestly. When the eval says +1.2, the engine is not saying "White has a nice game." It is saying "if both sides play the moves I found, we land in a position my evaluation function scores as 1.2 pawns better for White." Change the search horizon and that claim can change. Quiet positions are stable, because the endpoint barely shifts. Sharp positions are volatile, because one more ply can reveal the tactic that flips everything.
Engines report evaluations in centipawns: 100 centipawns equals one pawn of advantage. An eval of +1.5 means White is better by about a pawn and a half, and the sign always points the same way, positive for White and negative for Black, no matter whose turn it is. The units are pawns only by convention. An eval can be +1.5 with material dead level, because the engine is pricing a safer king, a dominant knight, or a pawn structure that will collapse in ten moves.
Rough bands worth memorising: inside plus or minus 0.3 is balanced, 0.5 to 1.0 means one side is meaningfully better, 1.5 to 2.5 is a serious advantage, and past 3.0 the position is usually winning against accurate play. The eval bar beside the board is the same number drawn as a proportion, which is why it swings dramatically near equality and barely moves once someone is already winning.
Forced mates get their own notation. Instead of a centipawn score the engine reports #5 or M5, meaning mate in five. Mate scores sit above every finite evaluation, so a mate in 12 outranks a +9.0 material advantage. If the eval jumps from +2 to mate in 6, the engine did not gain material, it found a forced finish.
Centipawns are a bad yardstick for judging your own mistakes, because the same loss means wildly different things at different points on the scale. Going from 0.0 to minus 1.0 turns a comfortable game into a bad one. Going from plus 8.0 to plus 7.0 changes nothing, you are still completely winning. Yet a naive centipawn-loss average treats both as a one-pawn error, which is how you end up with a "good accuracy" score in a game you lost.
The better lens is win probability: convert each evaluation into an estimated chance of winning, then measure how much of that chance the move gave away. This is how modern review tools classify moves, and how Chess DNA sets its thresholds. A move that costs about 10% of your winning chances is an inaccuracy, about 20% is a mistake, and anything worse is a blunder. The same framing explains why one bad move in a sharp position can matter more than twenty slightly imprecise ones in a quiet one. If you want the deeper argument for looking at decisive swings rather than averages, see how chess games are actually lost.
Depth is how many plies, or half-moves, deep the engine's main search goes. Depth 18 means the engine looked roughly eighteen half-moves ahead along its principal line, with extensions that push forcing sequences deeper and pruning that cuts hopeless branches short. Each extra ply costs meaningfully more time than the last, so depth is the main dial on the accuracy-versus-time trade-off.
Here is the honest version of the depth question. Extra depth changes evaluations mostly in sharp tactical positions, where the decisive line runs past the current horizon. In quiet positions, going from depth 18 to depth 30 typically moves the number by a fraction of a pawn and changes no conclusion you would draw about your play. That is why Chess DNA analyzes at Stockfish 17, depth 18, and treats 18 as a floor rather than a number to inflate: deep enough to find the tactics that decide club games, shallow enough to analyze a hundred games in a sitting.
Depth 30 and beyond has a real use, just not this one. It belongs to correspondence chess and opening preparation, where a single position deserves minutes of compute and the difference between 0.15 and 0.35 decides which line you play. For reviewing last night's blitz, spending ten times the compute to learn that your move-23 blunder was still a blunder is a bad trade.
Stockfish is the default answer. It is open source under the GPL, has been developed in the open for 18 years since its first release in 2008, and is the strongest engine available by a clear margin. Since 2020 its evaluation has been an NNUE neural network combined with a classical alpha-beta search, which is a big part of why it pulled ahead. It runs on a phone, in a browser via WebAssembly, or on a server, and it sits inside most of the tools you already use.
Leela Chess Zero (Lc0) is the serious alternative, and it is genuinely different rather than just weaker. Leela learned from self-play and uses a Monte Carlo style search guided by a large neural network, which gives it a reputation for more human, long-horizon positional judgement. It often reads closed positions and speculative sacrifices better, while Stockfish is sharper in concrete tactics. The catch is practical: Leela needs a GPU to reach top strength, so it is a poor fit for bulk game review and a good fit for studying one interesting position.
The built-in engines. Lichess runs Stockfish both in your browser and on its servers, and gives away unlimited analysis and game review for free, which is hard to beat on price. Chess.com's Game Review is also Stockfish underneath, with a friendlier presentation and coaching-style comments, but the free tier limits how much of it you get. Neither is a different or better engine than the Stockfish you could download yourself; what differs is the wrapper. We compared the outputs side by side in our breakdown of Lichess game review.
The evaluation graph is the most underused output of any analysis tool. Most players glance at the shape and move on. Used properly it answers the single most important question about a game: where was it decided?
Do not read the graph as an accuracy summary. Read it as a search for one cliff. Scan for the largest single vertical drop against you and note the move number. In the overwhelming majority of amateur games there is exactly one such cliff, and everything around it is noise by comparison. A game with thirty accurate moves and one catastrophe is not a 96% accurate game with a small flaw, it is a game you lost with one move, and that move is your entire lesson.
This is also why average centipawn loss and accuracy percentages mislead: they average the cliff away. Two players can post the same accuracy score when one drifted slowly and the other threw a piece, and those two need completely different training. A slow sag across many moves points at strategy or time management; a single vertical drop points at a tactical oversight. Our full routine is in how to analyze your chess games, and how to analyze a chess position covers the position-level work once you have found the cliff.
Here is why engine analysis feels unproductive even when the engine is right about everything. An engine answers "what was the best move?" You need the answer to "why didn't I find it?" Those are different questions, and no amount of depth turns the first answer into the second.
The engine has no model of you. It does not know whether you never looked at that bishop, saw the idea and calculated the line wrong, spent eleven seconds because you had eleven seconds left, or knew the plan and mistrusted it. All four produce the identical output: a red move and a better alternative. But they demand four different fixes, respectively a blunder-check habit, calculation training, time management, and confidence in your own evaluation. Memorising the engine's move fixes none of them, because that exact position will never occur again.
So add the missing half by hand. At every big drop, write one line: the reason. Do it for twenty games and the reasons start repeating, and usually two or three categories account for most of your losses. That list, not the engine's move list, is your training plan. If your recurring reason turns out to be plain oversight, why you keep blundering in chess covers the drill that reduces it.
To be straightforward about the category: Chess DNA is not an engine and does not compete with Stockfish. It wraps Stockfish 17 at depth 18 and adds the layer above it, the cross-game view. It imports your history, runs the engine on every position, then groups the mistakes across all of your games into 8 skill dimensions covering openings, tactics, defence, positional play, endgame, calculation, time management and resilience, so you see that your losses concentrate in two of them rather than seeing sixty individually red moves.
If you want raw engine power on one position, download Stockfish or use Lichess, both free and excellent, and do not pay anyone for it. If what you want is to know which recurring mistake to work on this month, that is the problem we built for. The honest comparison of that category, free options included, is in our chess analysis app comparison.
Run a free engine analysis of your last games →
Stockfish, for almost everyone. It is open source, free, the strongest engine in the world by a clear margin, and it is the engine running inside Lichess, Chess.com and most third-party review tools. Leela Chess Zero is the interesting alternative: a neural-network engine with a more human, positional style that sometimes explains a closed or sacrificial position better, but it needs a GPU to reach full strength. For reviewing your own blitz and rapid games, Stockfish at a fixed depth is the practical choice.
Depth 18 to 20 is enough to review a normal club game, and Chess DNA treats depth 18 as its quality floor for that reason. At that depth the engine reliably finds the tactics that decide amateur games and gives stable evaluations of quiet positions. Deeper search mostly changes the numbers in sharp tactical positions, where the critical line runs past the search horizon. Depth 30 and beyond belongs to correspondence play and opening preparation, where one evaluation is worth minutes of computation. For game review it costs a lot of time and changes almost no conclusions.
Yes. Stockfish is free and open source under the GNU General Public License, and it has been developed in the open since 2008. You can download it, read its source, and run it on your own machine at no cost, which is why so many free chess analysis tools are built on top of it. What people pay for is rarely the engine: it is the interface, the server time to analyze hundreds of games, the explanations layered on the raw numbers, and the tracking of your mistakes over time.
It means the engine judges White to be ahead by roughly the value of one and a half pawns. Positive numbers always favour White and negative numbers favour Black, regardless of whose turn it is. The figure is not always material, it can price a safer king, a dominant piece or an unstoppable pawn. As a rough guide, anything inside plus or minus 0.5 is balanced, around 1.5 is a serious advantage, and past 3.0 the position is usually winning with accurate play.
A chess engine is the calculator: one position in, a best move and an evaluation out. A chess analysis tool wraps an engine and does everything around it, importing your games, running the engine on every position, classifying moves as inaccuracies, mistakes and blunders, drawing the eval graph, and grouping recurring errors across games. Every serious analysis tool uses an engine underneath, usually Stockfish, so the engine is not the differentiator. What separates tools is how well they turn evaluations into something you can act on.
No. An engine tells you that a move lost evaluation and what it would have played instead, but it has no model of your thinking, so it cannot tell you whether you failed to see a resource, saw it and miscalculated, or simply moved too fast. That gap is why reviewing games with only an engine feels unproductive. The fix is to add the missing half yourself: at each big evaluation drop, write down the reason you missed the move, then train the reason instead of memorising the engine's move.