I use Stockfish for most of the computer-assisted analysis on this site. This page explains what that means, what the engine can and cannot tell us, and how I use it without letting a number replace the work of understanding a game.

This is an evergreen reference. Stockfish will keep changing; the basic ideas here should remain useful, and the page can grow as the analysis on this site becomes more sophisticated.

What is a chess engine?

A chess engine is a program that accepts a chess position, searches possible continuations, evaluates the resulting positions, and recommends moves. It is the calculation system—not necessarily the board, buttons, or analysis screen around it.

That distinction matters. Stockfish itself does not include a graphical chessboard. Websites and desktop applications provide the interface, pass positions to the engine, and display its answers. A standard protocol called UCI, or Universal Chess Interface, lets the interface and engine communicate.

Why Stockfish?

Stockfish is a free, open-source chess engine and one of the strongest engines in the world. Its source code is public, its development happens in the open, and a global community tests proposed changes at enormous scale.

Stockfish is distributed under the GNU General Public License version 3. In practical terms, people can inspect it, run it, modify it, and redistribute it under the conditions of that license. The engine is not a sealed product asking us to trust a hidden process.

Modern Stockfish combines an extremely efficient search with NNUE, an efficiently updatable neural network used to evaluate positions. Search asks, “What happens after these moves?” Evaluation asks, “How favorable is the resulting position?” The strength comes from the two working together.

Reading an evaluation

An engine score is usually shown from White’s point of view:

  • +1.0 favors White.
  • -1.0 favors Black.
  • 0.0 is approximately balanced.
  • M5 means the engine sees forced mate in five moves; -M5 means Black has the forced mate.

The number is often described in pawns, but it should not be read as a literal material count. Modern Stockfish evaluations are normalized around expected winning chances in engine play. A +1.0 evaluation does not simply mean “White owns one extra pawn,” and it does not guarantee that a human will win.

Evaluation is also conditional: it assumes strong replies. A position can be objectively equal and practically miserable, or objectively winning and extremely difficult to convert.

Depth, nodes, and lines

Three common pieces of engine output help describe how the answer was produced:

  • Depth is roughly how far the engine has searched, measured in half-moves or plies. Because Stockfish selectively extends, reduces, and prunes branches, depth is not a promise that every line was examined equally far.
  • Nodes are positions searched. More nodes usually mean more work, although engine version, hardware, and settings all affect the result.
  • Principal variation is the engine’s preferred continuation: the sequence of best moves it currently expects from both sides.

An evaluation can change while the engine searches. A quick answer is useful for scanning a game; a critical position deserves more time and more than one candidate line.

How I use Stockfish

My normal review has two passes.

First, I analyze without the engine. I mark the moments where I felt uncertain, write down what I thought was happening, and calculate alternatives. This preserves the only evidence of what I understood during the game.

Then I turn on Stockfish and use it to:

  1. Find tactical errors and missed forcing moves.
  2. Test the candidate moves I considered during the game.
  3. Locate major evaluation swings.
  4. Compare several plausible continuations instead of accepting only the top line.
  5. Return to the board and explain the result in chess language.

The last step is the point. “Stockfish says -3.2” is a report from a tool. “The knight cannot be saved because the back rank is weak and every retreat loses the queen” is an explanation I can use in another game.

What an engine does not know about my game

Stockfish does not know what I saw, what I feared, how much time remained, or which concepts I have not learned yet. It can identify the best move without identifying the best lesson.

It can also recommend moves that are technically strongest but difficult for a human to understand or reproduce. For practical study, a slightly weaker move with a clear plan may teach more than an opaque engine line.

Engine labels such as “inaccuracy,” “mistake,” and “blunder” are interface judgments based on evaluation changes. They are useful signposts, not moral verdicts and not explanations by themselves.

A reproducible analysis note

When an engine finding matters to an article, the analysis is more useful if it records enough context to revisit later:

  • the position or game link;
  • the engine name and version, when known;
  • the analysis platform or interface;
  • depth or node limit, when relevant;
  • the principal variation being discussed; and
  • a plain-language explanation of the chess idea.

That record matters because engines improve and interfaces use different settings. A future Stockfish build may refine an evaluation without making the earlier analysis dishonest; it simply gives us a reason to revisit the position.

Primary resources

Stockfish is extraordinarily good at chess. The continuing job here is to turn its answers into understanding.