Skip to content
Chessblood

Engine

Stockfish analysis, in your browser

The same Stockfish that wins computer chess championships, compiled to WebAssembly and running on your device. Paste a position, press analyse, and watch up to five lines unfold. Free, with nothing to install.

Free · runs in your browser

Stockfish 19 in your browser

  • Multi-threaded WebAssembly build, no install
  • Up to five lines with live depth and evaluation
  • Play through variations and copy the FEN at any point
Open the Stockfish board No account, no download.

Want a whole game graded move by move? Use the game review instead. It runs the same engine over every position and produces accuracy scores and classifications.

What you are looking at

Stockfish reports a score in pawns from White's point of view. +1.3 means White is better by roughly a pawn and a third of positional value; -0.4 means Black is a little more comfortable. When it finds a forced mate it shows M5 or -M3 instead: the number of moves until checkmate with best play.

Each line is a principal variation: the sequence the engine expects both sides to play. The first line is the engine's recommendation. The second and third lines show alternatives, and the gap between them tells you how critical the position is. If line one is +0.2 and line two is -2.1, there is exactly one good move.

Depth is how many half-moves ahead the main search has gone. Because Stockfish extends forcing sequences and prunes hopeless ones, a depth-20 search often sees tactics thirty or forty plies deep, while brushing past quiet moves it has judged irrelevant.

Reading the arrows

Green is the top choice, blue the second, yellow the third. Click any first move in the line list to play it on the board; the engine then analyses the new position immediately. Undo takes you back. This is the fastest way to check an idea: play your candidate move and see whether the evaluation holds.

What NNUE changed

Until 2020 Stockfish evaluated positions with hand-written rules: material, pawn structure, king safety, mobility, each with coefficients tuned over years. In August 2020 the team merged an “efficiently updatable neural network” (NNUE), originally developed for computer shogi, which learned its own evaluation from hundreds of millions of positions. The jump in strength was about 80 Elo overnight, larger than any single change in the engine's history.

The network is small by machine-learning standards, which is exactly why it works in a browser. The build here uses the compact network that the Stockfish project publishes for low-memory environments. It is a few dozen Elo weaker than the full network at fixed depth, a difference that matters in engine-versus-engine matches and not at all when the question is whether your knight sacrifice on move 23 was sound.

Limits worth knowing

  • No tablebases. Positions with seven or fewer pieces are solved by search, not looked up, so the engine may show +9 where a tablebase says mate in 40.
  • Mobile phones run the engine at a fraction of desktop speed. Depth 14 on a phone takes about as long as depth 18 on a laptop.
  • The engine judges positions, not plans. A +0.3 line can be a nightmare to play for a human. Use it to check moves, not to choose a style.

Free software

About the engine we ship

Stockfish is free software released under the GNU General Public License version 3. The WebAssembly build served from this site is unmodified Stockfish.js 19. Its source code, the licence text and the attribution for the piece set are on our licences page. Chessblood is not affiliated with the Stockfish project.

Questions people ask about Stockfish online

Is this the real Stockfish?
Yes. We serve the official Stockfish 19 source compiled to WebAssembly (the Stockfish.js build maintained by Nathan Rugg). It plays the same moves a desktop Stockfish 19 would find at the same depth; only the speed differs, because it runs on your device instead of a server.
Which network does it use, and how strong is it?
The browser build ships the smaller NNUE network, which keeps the download under two megabytes. It is a little weaker than the full 70 MB network at equal depth, but still far beyond any human player: comfortably over 3000 Elo on a modern laptop at the depths used here.
What depth should I use?
Depth 16 to 20 is plenty for finding mistakes in a human game. Below depth 12 the engine sometimes misjudges sacrifices and long endgames. Very high depths mostly refine numbers that were already correct. Let the live board run until the evaluation stops changing, then stop it.
Why does the evaluation jump around at first?
The engine searches iteratively: depth 1, then 2, then 3 and so on, reporting its best guess each time. Early guesses are shallow and can be wrong by a pawn or more. Trust the figure once it has been stable for a few depths.
Does anything get sent to a server?
No. The engine, the position and the analysis all stay on your device. Once the engine files are cached, position analysis even works offline. The only network requests we make are to fetch games you ask us to import from Chess.com or Lichess.
Can I use multiple CPU cores?
On browsers that allow SharedArrayBuffer (Chrome, Edge, Firefox and recent Safari), the engine runs several threads automatically and shows the thread count under the progress bar. Otherwise it falls back to a single thread, which is slower but produces the same moves.