Made by the ChessHelper team. ChessHelper (chesshelper.ai) is our own product, and we rank it in our comparisons. How we handle that
Best Chess Move Calculator

How Chess Move Calculators Work: Depth, Evaluation and MultiPV

By the Best Chess Move Calculator team · Published November 12, 2026

A chess move calculator does two things over and over: it looks ahead through possible moves, and it scores the positions it reaches. Everything you see on screen, from the best move to the number beside it, comes out of those two steps.

This guide explains each step in plain words, using the free Stockfish 10 calculator on our home page for the examples. The same ideas apply to every engine-based tool, including the Lichess analysis board and ChessHelper (chesshelper.ai), which adds a strength setting from 800 to 3200 Elo on top of the engine so that suggestions can match your level.

The engine behind the calculator

Almost every move calculator is a user interface wrapped around a chess engine. The engine is a program with no board graphics at all: it receives a position as text, thinks, and replies with moves and scores. Stockfish is the best-known engine and is free and open source under the GPLv3 license, which is why so many websites and apps use it.

Our calculator runs Stockfish 10, released in 2018, compiled to WebAssembly so it can run inside a browser tab. When you press Calculate, the page sends the position to the engine in a background thread, asks for the three best moves, and draws the answers as they arrive. No server is involved.

Search: looking ahead move by move

The engine builds a tree of possible moves. From the current position it tries each legal move, then each reply, then each reply to that, and so on. Each half-move is called a ply. A full tree grows absurdly fast: there are 20 legal first moves for White, 400 positions after one move each, and millions after a few more.

Engines cope with this by pruning. The core method, alpha-beta search, stops looking at a move as soon as it is clear the opponent has a refutation that makes it worse than a move already found. Modern engines add many refinements on top: they search the most promising moves first, reduce the depth of moves that look poor, and extend the search when there are checks or captures still in the air. A final "quiescence" search plays out pending captures so the engine never stops counting in the middle of a trade.

What "depth" means

Depth is the nominal number of plies the engine searched in every line. Depth 16 means the engine has looked at least sixteen half-moves ahead in its main lines, and often much further in forcing lines because of the extensions. The engine searches depth 1, then 2, then 3 and so on, keeping the best answer from each finished pass. That is why you see the move and score update while it thinks.

More depth costs time. Each extra ply can multiply the work, so going from depth 16 to depth 20 typically takes several times longer. On a laptop, Stockfish 10 reaches depth 16 in a few seconds in a normal middlegame; on an older phone it can take much longer.

Why depth matters: a worked example

The position below arises after 1.e4 e5 2.Nf3 d6 3.Bc4 Bg4 4.Nc3 g6. Black's bishop pins the knight to the queen, and Black's last move, 4...g6, is a mistake. White has a tactic called Legal's trap: 5.Nxe5!, giving up the queen. If Black takes it with 5...Bxd1, then 6.Bxf7+ Ke7 7.Nd5# is checkmate. If Black declines, White has won a pawn.

After 1.e4 e5 2.Nf3 d6 3.Bc4 Bg4 4.Nc3 g6, White to move. The engine needs some depth to see that 5.Nxe5 works.

We ran this position through Stockfish 10 at different depths with three lines shown. At shallow depth the engine prefers ordinary moves and gives wildly inflated scores. From depth 10 onward it finds the queen offer and settles on a sensible score.

DepthBest move foundScore (White)
25.h3+4.61
45.d4+4.07
65.d4+4.56
105.Nxe5+2.67
185.Nxe5+2.04

The lesson is simple. A shallow search can miss a sacrifice entirely and can also be badly wrong about the size of an advantage. For a single position, let the engine reach depth 16 or more before you trust the answer. At depth 18 the engine's main line is 5.Nxe5 dxe5 6.Qxg4: Black sensibly gives back the bishop instead of taking the queen, and White is simply a pawn up with the better position.

Evaluation: turning a position into a number

At the end of each line, the engine has to judge the position without searching further. That judgment is the evaluation function, and its output is the score you see, measured in pawns from White's point of view. A score of +1.00 means the engine thinks White's position is worth about one extra pawn.

A good evaluation function does much more than count material. It weighs king safety, piece activity, pawn structure, passed pawns, control of open files and many other factors. The better the evaluation, the less the search has to work to find good moves, and the more the final numbers mean. Our evaluation guide covers how to read the scale in practice.

Classical versus NNUE evaluation

Stockfish 10 uses a classical evaluation. Its authors wrote the terms by hand, such as a bonus for a rook on an open file or a penalty for a weak king, and tuned their weights by playing millions of test games. It is fast and strong, but it only knows what someone thought to write down.

In 2020, Stockfish 12 introduced NNUE, short for "efficiently updatable neural network." Instead of hand-written rules, a small neural network trained on huge numbers of positions produces the score. It is designed to update cheaply as moves are made, so it can run on an ordinary CPU inside a deep search. NNUE made Stockfish clearly stronger, and in 2023 Stockfish 16 removed the classical evaluation altogether.

What this means for you: a current Stockfish on the Lichess analysis board will be stronger than the Stockfish 10 in our calculator, and the two will often print different numbers for the same position. For club-level questions, such as whether a move blunders a piece or which of two plans is safer, both give the same practical answer almost every time.

MultiPV: seeing more than one good move

By default an engine reports only its single best line, called the principal variation or PV. MultiPV asks it to keep several principal variations at once and report each with its own score. Our calculator uses MultiPV 3, so you see the three best moves.

The extra lines are often more useful than the top move. Here is the start position at depth 18 in Stockfish 10:

RankMoveScore (White)
11.e4+0.98
21.d4+0.56
31.Nf3+0.54

Two things stand out. First, these opening numbers are higher than the small edge for White that most current engines report, which shows that every engine has its own scale. Second, the same engine at different depths also drifts: in our runs it preferred 1.d4 at depth 4 with +1.37, 1.e4 at depth 8 with +0.60, and 1.e4 at depth 12 with +1.16. All three main openings are fully playable. When moves sit this close together, MultiPV tells you the choice is a matter of style, not accuracy.

MultiPV costs some speed, because the engine has to prove each line separately. For most positions three lines is a good balance.

What a calculator cannot tell you

A move calculator answers "which move scores highest after this much searching." It does not tell you why, it does not know your rating, and it assumes perfect play from both sides. A move that wins only after a twelve-move forcing line is the engine's best move, but it may not be the best move for a 1200 player to choose in a real game.

That is the gap tools like ChessHelper aim to fill by limiting the engine's strength to your level, and that explanation-first tools such as DecodeChess address with written reasoning. Our comparison of the best chess move calculators sets out which tool fits which job, and using a calculator to improve covers how to study engine lines without simply copying them.

Related guides

Continue with these if you want to go further.