Chess engine evaluation explained: the eval bar shows the engine’s assessment of a position in centipawns, where 100 centipawns equal one pawn. Positive scores favour White, negative scores favour Black. The number combines material, piece activity, king safety, and pawn structure into a single figure. A mate score like #5 means forced checkmate in five moves.

You’ve seen it happen. A position looks roughly balanced, two sides trading pieces and jockeying for space, and then — suddenly — the eval bar swings. +1.4 becomes +3.8 in a single move. Someone in the post-game chat types “the game was over right there.” But what does +3.8 actually mean? What does it take to convert it? And what is the engine even measuring?

Almost every chess player who has used an engine has looked at the eval bar without fully understanding it. That number is easy to read incorrectly — treating it as a certainty when it’s a probability, or panicking at +2.0 when the practical conversion is far from guaranteed. This guide breaks down exactly what chess engine evaluation means, what it includes, and — crucially — what it leaves out.

What Is a Centipawn?

A centipawn is one hundredth of a pawn. The name comes from the base unit of chess evaluation: the pawn. Engines assign every piece a nominal value in pawns — bishops and knights around 3.0–3.25, rooks around 5.0, queens around 9.0 — and then measure positions in fractions of those values.

Expressing the evaluation in centipawns rather than pawns gives engines fine-grained precision. A position that is “slightly better for White” might be +0.23 pawns — almost invisible as a decimal, but expressed as +23 centipawns it’s a crisp integer. Most chess interfaces convert this back to a decimal for display (showing +0.23 rather than 23), but under the hood, centipawns are the unit.

The scale works like this. An evaluation of 0.00 means the engine considers the position completely equal. An advantage of ±0.30 is marginal — one side has a tiny edge that both sides can play around. From ±0.50 to ±0.80, there is a real but holdable advantage; the better side has something concrete, but the defending side can fight. Once the eval pushes past ±1.20, the advantage is considered clear and significant. Beyond ±3.00, the engine is effectively calling the game over.

These thresholds are guidelines, not laws. A +1.50 advantage in a rook endgame where one side has a protected passed pawn is very different from +1.50 in a closed position where neither side can make progress.

What the Number Actually Measures

The eval is not just a material count. If you subtract the black pieces from the white pieces and divide by 100, you get a material balance — but that is only one input into the engine’s assessment, not the assessment itself.

Modern engines weigh several factors simultaneously:

Material. The most obvious input. A queen for a rook and bishop is roughly material-even; a pawn up is +1.00 before anything else.

Piece activity and mobility. A knight locked behind its own pawns on the edge of the board is worth less than its nominal 3.00. A bishop sweeping across an open diagonal is worth more. The engine scores each piece partly by how many squares it can reach and how useful those squares are.

Pawn structure. Isolated pawns, doubled pawns, and backward pawns are liabilities — the engine subtracts for them. Passed pawns, especially advanced or protected ones, are assets. The pawn structure often determines the long-term character of a position, and modern engines weight it heavily.

King safety. An open king is a numerical liability. Engines score the number of attacking pieces near a king, the presence of a pawn shelter, and the availability of escape squares. A position where the material is roughly equal but one side has a shattered kingside might still show +1.50 to the attacker — the eval is reflecting the king safety deficit.

Control and coordination. Domination of the centre, rooks on open files, and harmonious piece placement all push the eval in one direction or another.

Neural-network–based engines like Stockfish 16 (using its NNUE architecture) have taken this further. Instead of summing handcrafted terms, they process the board position through a neural network trained on tens of millions of positions. The exact weighting is no longer a list of rules but a learned representation — which is why modern engines can spot positional compensation that older rule-based programs missed entirely.

Why +2.0 Might Not Be Winning

The most common misconception about the eval bar is treating it as a certainty. “+2.0 means White is winning” — except when it doesn’t.

Fortress positions are the clearest counterexample. A fortress is a defensive structure where the superior side genuinely cannot make progress, regardless of material. The classic case is a bishop versus a wrong-coloured rook pawn: if the promoting pawn can only become a queen on a corner square that the opponent’s bishop doesn’t control, the defending king can camp on that corner and draw forever. Engines correctly identify these as draws after sufficient depth — but at shallow depth, the +2.0 material count can mislead the bar before the fortress logic kicks in.

Opposite-coloured bishop endgames are notorious for this. Two pawns up with opposite bishops often draws because the attacker cannot break through: the bishop attacks light squares while the passed pawns advance on dark squares, and the defender simply parks their bishop in the way. The eval bar may sit at +2.4 yet any grandmaster in the room knows the game is drawn.

Stalemate traps turn winning endgames into half-points. A queen versus an advanced rook pawn (on a or h file) is theoretically drawn when the defending king reaches the corner — the losing side engineers stalemate on the promotion square no matter what the queen does. Engines know this eventually, but inexperienced players following the eval bar have blundered into stalemate from positions showing +6.00.

Practical complexity is the subtler problem. An eval of +2.00 is the engine’s assessment at a given depth with a given time budget. The engine is not playing the position out to move 60 — it is evaluating the position through a search tree that terminates. If conversion requires precise technique over 30 moves, the eval bar is an estimate, not a proof.

The general rule is: trust the eval more in positions where progress is clear (open files, active pieces, a direct attack), and trust it less in closed or fortress-prone endgames where the claim must be worked out.

Mate Scores: What #5 Really Means

When an engine stops displaying centipawns and starts showing a mate score — #3, #7, M12 — the evaluation has left the probability space entirely and entered the realm of proof.

A mate score means the engine has found a forced sequence leading to checkmate, regardless of the opponent’s responses. The number is the number of half-moves (also called plies) until checkmate. One half-move is one side making a move. So #1 means checkmate on this move; #3 means: the moving side plays a move, the opponent has one response, the moving side delivers checkmate — three half-moves. A mate score of #9 is a nine-ply forced sequence: four moves by the winning side, four responses by the losing side, and the final checkmate.

Many interfaces display this differently. Lichess, for instance, shows #5 to mean checkmate in five half-moves (roughly three moves for the winning side). Chess.com often shows M3 to mean three full moves — six half-moves by the conventional counting. If you are comparing evaluations between interfaces, this distinction matters.

What separates a mate score from a large centipawn score is certainty. A centipawn evaluation is the engine’s estimate given its search depth; a higher-depth search sometimes revises it. A mate score, once found, does not change with deeper search — it only shrinks. If the engine says #17, a deeper search might find #15 or #13 (a faster sequence), but cannot refute the forced mate. The position is decided.

This is also why positions sometimes jump from +8.00 to #21 as the engine searches deeper: it has crossed from “very winning” into “here is the specific proof.”

How Depth Changes the Verdict

The same position can look different at depth 8 versus depth 30. This is one of the most important things to understand about engine evaluation.

Engines work by searching a game tree — considering moves, responses, responses to responses — to a given number of half-moves (the search depth). At depth 8, they have looked ahead four full moves. At depth 30, fifteen full moves. Modern tactical tactics that are only visible from a distance — a knight that is trapped in 12 moves, a passed pawn that promotes in 14 — simply do not exist at shallow depth. The eval will not reflect them.

This produces what chess programmers call the horizon effect: a threat or resource that sits just beyond the current search depth appears to not exist, so the engine over- or undervalues the position. A sacrifice that looks dubious at depth 10 may be clearly winning at depth 24 once the engine can see past the horizon.

In practice, this means single-digit depth evaluations are rough orientation, not conclusions. When you are reviewing a game and the eval bar shows an unexpected spike, check the depth before drawing conclusions. An unusual evaluation at depth 12 that holds at depth 25 is credible; one that flips at depth 18 was probably a horizon artefact.

Most desktop engines reach depth 25–30 for quiet positions within a few seconds on modern hardware. For tactical chaos — sacrifices, checks, captures — engines extend their search selectively using extensions and null-move pruning, so they effectively see further in sharp lines than the nominal depth suggests.

Reading the Bar on a Real Game

Theory is clearest when grounded in practice. Below is the Opera Game: Paul Morphy versus the Duke of Brunswick and Count Isouard, Paris, 1858. The game is only 17 moves long, but the eval bar tells a story.

At move 9, after Morphy’s Bg5, the position looks roughly equal — White has more development but Black has not blundered anything. An engine at this point shows roughly +0.4, a slight edge for White.

Then Black plays 9...b5, hoping to push White’s bishop away. The engine’s eval immediately shifts to around +1.0. Why? Not because a pawn was lost, but because the move weakens Black’s queenside structure and opens lines Morphy can exploit. The material count has not changed; the positional assessment has.

After 10.Nxb5! — a piece sacrifice — the eval spikes to roughly +2.5 to +3.0, even though White has sacrificed a knight. The engine is weighing the lead in development, Black’s fragmented structure, and the open lines aimed at Black’s king against the nominal 3-pawn cost of a knight. Piece activity outweighs material in this evaluation.

By move 15, after Bxd7+, the position is effectively won for Morphy regardless of what Black plays. The engine shows forced mate within a few moves. The eval bar no longer shows centipawns — it shows #4, then #2, then checkmate.

Step through the game using the viewer below and watch the eval bar as Morphy’s pieces crowd in. The pattern — modest initial edge, spike on the sacrifice, mate score once the attack lands — is the same pattern you will see in every successful attacking game.

Paul Morphy vs Duke Karl / Count Isouard, Paris Opera 1858

8
7
6
5
4
3
2
a1
b
c
d
e
f
g
h
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
1-0 White wins
Start

Notice how the eval bar lags behind human intuition at move 10. To most observers, sacrificing a knight looks at best speculative. To the engine — even at moderate depth — the combination of open lines, Black’s uncastled king, and Morphy’s lead in development makes the position decisively better for White. This is what chess engine evaluation explained in terms of piece activity actually looks like: a position that appears equal to the eye but is deeply unequal in the engine’s accounting.

Using the Eval Bar for Improvement — Without Letting It Use You

The eval bar is a remarkable tool. It is also easy to misuse.

The most common mistake is replacing analysis with the eval bar. You play through your game, see the bar drop on move 22, and conclude: “I blundered on move 22.” But the bar only tells you that something went wrong, not what — and not why. Move 22 may have been the moment the advantage switched, but the real mistake might have been on move 17, when you made a decision that made move 22 inevitable.

A more productive workflow: play through your game without the eval bar first. Mark the moves where you were uncertain, where you had to make a difficult decision, or where you deviated from your plan. Write down what you thought at each of those moments. Then switch on the engine and compare.

The eval bar now does its real job: it shows you not just where you went wrong but how much it mattered. A position that was +0.3 before your move and +0.3 after is just a different way of being equal — the engine doesn’t care, and neither should you. A position that was +0.1 before your move and +1.8 after is the move worth studying.

This approach — diagnosis before verdict — is how engines actually improve your chess. The number on its own is just a score; the question behind the number is the lesson.

PGNBase is built around exactly this workflow. Import any game — your own, a grandmaster’s, a famous historical encounter — and step through it move by move with the engine evaluation visible. You can pause at any moment, explore the engine’s top lines, and understand not just that a move was a mistake but how the position changed. If you are studying the Sicilian Defense, for example, use PGNBase to explore the opening’s evaluation landscape and see which lines hold up at depth 30 and which collapse by depth 20.

For a broader view of how engines have changed the game, the article on how engines changed chess covers the shift from material-counting programs to the neural-network era that produced the evaluations we read today.

Conclusion

The eval bar compresses a complex, multi-dimensional assessment into a single number — and like all compressions, it loses information. A centipawn is a precise unit measuring a precise calculation; but what that calculation means in practice depends on the type of position, the depth of the search, and the specific techniques available to convert the advantage.

Read +0.3 as: one side has a small edge that requires precision to maintain. Read +1.5 as: one side has a meaningful advantage that should convert with accurate play in most positions, but not all. Read +3.5 as: the defending side needs a serious defensive resource or the game is effectively decided. Read a mate score as: the question is settled.

The eval bar is not a verdict. It is a highly informed estimate — and learning to read it as an estimate, not a sentence, is what separates players who improve from those who stare at the number and feel helpless.


Sources: Chess Programming Wiki — Evaluation; Wikipedia — Evaluation function (chess); Chess.com — Chess Engines