What the eval bar is actually telling you
Every chess engine reports its thinking in the same three numbers, and almost nobody explains what they mean. Here is the short course.
The number is in pawns, but it is not about pawns
An evaluation of +1.4 is usually read as “White is worth about a pawn and a half more”. That reading is useful enough to work with, and it is not what the engine means.
Since Stockfish moved to a neural evaluation, its score stopped being tied to the value of a pawn at all. It is normalised against how often the position is actually won instead: +1.0 is set at the point where Stockfish scores about half a win from that position in its own long time-control testing. What your screen prints is that figure dressed in pawn units, because a pawn is the only unit a chess player has an instinct for.
So the pawn here is a unit of presentation rather than a count, which is what makes the next part possible rather than contradictory.
You can be a full rook down and still show +2.0. You can be dead level on material and show −3.5. The number folds together everything the engine weighs — how exposed each king is, whether the pieces have squares to work with, whether a pawn structure has a permanent weakness in it — and expresses the total in the only unit a chess player has an instinct for.
A rough reading, and it really is rough:
- Under ±0.3 — level. Both sides have a game.
- ±0.5 to ±1.0 — one side is more comfortable. Nothing is decided.
- ±1.5 to ±2.5 — a serious advantage. Between strong players it usually tells.
- Beyond ±3 — winning, given accurate play.
That last clause carries all the weight. An engine’s +3.5 is “winning if you play like an engine.” Below master level, positions at +3 get thrown away regularly. The bar is describing the position, not predicting your result.
Mate scores are a different scale entirely
When the display switches from a decimal to something like M5, the engine has stopped estimating. It has found a forced mate in five moves and proved it — every defence has been checked and every defence loses.
This is worth internalising because it changes how much you should trust the screen. A decimal evaluation is a judgement that could change with more thinking. A mate score is not a judgement at all; it is a fact about the position. If your engine says M3 and you play the moves, mate arrives in three.
It also explains a quirk people find confusing: a position can go from +4.2 to M6 without anything dramatic happening. Nothing changed on the board. The engine simply searched far enough to see the end of the line, and switched from estimating to counting.
Depth is where the engine keeps its honesty
The third number — depth, sometimes shown as a percentage or a progress ring — is roughly how far ahead the engine has looked. A ply is a single move by one side, so depth 20 is loosely ten moves each.
Loosely, because no engine searches every line to the same distance. It prunes branches it has judged hopeless, spends less effort on quiet ones, and extends well past the stated depth down forcing sequences — checks, recaptures, anything that ends in mate. The number describes the main line, not a flat horizon across the whole tree.
Here is the part that matters: an evaluation is always the value of the position at the end of the line searched so far. It is not a verdict on the position in front of you. It is a verdict on where that position leads, as far as the engine has got.
Which is why engines change their minds. A sacrifice can look unsound at a shallow depth, because the compensation for it arrives further down the line than the engine has yet looked. Let the same search run deeper, it reaches the point where the compensation appears, and the sacrifice becomes the best move on the board. Nothing about the position changed; the horizon moved.
If you have ever watched an eval bar swing while the board sat still, that is what you were watching.
When more depth stops buying anything
Depth has sharply diminishing returns, and this is the single most useful thing to understand about engine analysis.
The first ten plies do most of the work — they catch the hanging pieces and the one-move tactics that decide the majority of amateur games. From there to about depth 20 the engine catches the deeper tactical ideas. Past that, in quiet positions, the evaluation keeps drifting while the recommended move often settles.
How far that holds depends entirely on the position and on the hardware doing the searching. In a quiet middlegame a phone given a couple of seconds and a server given minutes will frequently agree on the move and disagree only about the decimal. In a sharp one they may not agree at all, and no amount of depth makes that reliable in advance. Treat diminishing returns as a tendency worth knowing rather than a threshold you can lean on.
Positions where depth genuinely matters are the sharp ones — heavy tactics, opposite-side castling, long forcing sequences. In quiet positions the extra search is buying you decimal places.
Why the best move is sometimes a move you would never play
Engines optimise for the objectively strongest continuation against perfect defence. You are not playing perfect defence, and neither is your opponent.
So the engine will sometimes recommend a line that is worth +0.4 and requires eight accurate moves, over one worth +0.2 that is straightforward and safe. Against another engine, the first is correct. Against a human on a twenty-minute clock, the second wins more games.
This is not a flaw. It is what the tool is for. But it does mean that reading engine output well involves a step the engine cannot do for you: asking whether you can actually play the line it is proposing.
The related habit worth building — look at the second-best move. If the top two moves are +1.4 and +1.35, you have a choice and can take the one you understand. If they are +1.4 and −0.2, there is only one move and you need to find it. That gap tells you how sharp the position is, which is often more useful than the evaluation itself.
Reading a position honestly
Put together, the three numbers answer three different questions. The evaluation says who stands better and by roughly how much. The mate score, when it appears, says the calculation is over. The depth says how much you should trust the other two.
A shallow +2.0 is a hint. A deep +0.3 is a much steadier estimate. Neither of them is a fact — only a mate score is that. Knowing which of the three you are looking at is most of the skill.
Questions people ask
Why does my engine disagree with the game review on a chess site?
Usually different depth, sometimes a different engine version, and occasionally a different evaluation network. Two engines can rate the same position +0.8 and +1.3 and both be reasonable. If they disagree about the move rather than the number, the position is genuinely double-edged, which is itself worth knowing.
Is a bigger number always better?
No, and chasing it is a common mistake. Once you are clearly winning, the useful question is not which move maximises the evaluation but which move keeps things simple. +5 with a forced trade into an easy endgame is worth more to a human than +7 with complications.
Can an engine be wrong?
About a mate score, no — that is proved. About an evaluation, of course: it is an estimate produced by a finite search, and deeper search revises it.
Endgames are worth separating out, because they contain the one case that goes the other way. With few enough pieces on the board, an engine using endgame tablebases is not estimating at all — the result is looked up, and it is exact. Outside that range, or with tablebases switched off, fortresses and long manoeuvring endings are the classic places where engines misjudge, sometimes badly, because the idea that decides the position sits beyond any horizon the search can reach.