Stockfish NNUE and Versions: What Changed and Which One You Are Using

Stockfish NNUE is the neural-network evaluation Stockfish has used since version 12. See every release from 12 to 19, what changed, and what the 17.1 lite engine on Chess Move Finder means for your analysis.

Stockfish NNUE is the neural-network evaluation inside the Stockfish chess engine. NNUE stands for efficiently updatable neural network: a network small and fast enough to run on an ordinary CPU, because when one move is played it updates its numbers instead of recomputing the whole position. Stockfish switched to NNUE in Stockfish 12 (September 2020). The project's own release post says the concept "was first introduced in shogi, and ported to Stockfish afterward," and that against Stockfish 11 the new version "will typically win at least ten times more game pairs than it loses" (Stockfish 12 announcement). Every Stockfish since then is an NNUE engine. What changes from version to version is the network, the search and the hardware support.

Which Stockfish is Chess Move Finder running?

Chess Move Finder runs Stockfish 17.1 lite, single-threaded, compiled to WebAssembly, inside your browser. The analysis board and Game Review run that engine on your own device, and the coach builds on the same analysis.

"Lite" is a specific build, not a nickname. The engine reports its network on startup, and the difference from the full 17.1 build is large:

Stockfish 17.1 lite vs full 17.1 WebAssembly build (as reported by the engines and the stockfish npm package)
BuildNetwork(s) loadedDownload sizeThreads
17.1 lite single (ours)nn-9067e33176e8, 11 MiB, 256-wide hidden layerabout 7 MB1
17.1 fullnn-1c0000000000, 133 MiB, 3072-wide, plus nn-37f18f62d772, 6 MiB small netabout 75 MBMultiple, needs cross-origin isolation

The stockfish npm package that ships these builds describes the lite engine as "much smaller (≈7MB) and quite a bit weaker," recommended for mobile browsers. That is the trade we made: the page loads fast on a phone and runs anywhere, and you give up some strength compared with the full network on a desktop. The package publishes no Elo figure for the gap, so we do not quote one. For checking your own games and finding tactics, the lite engine is far stronger than any human; for opening theory at the very top level or long engine-vs-engine matches, use the newest full desktop release.

Stockfish version timeline

Every date and headline below comes from the official release post on stockfishchess.org, as of October 2026. Elo gains are the project's own self-play figures against the previous release.

Stockfish releases since NNUE, from the official Stockfish blog
VersionReleasedHeadline change
Stockfish 122 Sep 2020NNUE evaluation introduced
Stockfish 1319 Feb 2021Release
Stockfish 142 Jul 2021Release
Stockfish 14.128 Oct 2021Point release
Stockfish 1518 Apr 2022Release
Stockfish 15.14 Dec 2022Point release
Stockfish 1630 Jun 2023SFNNv6 network architecture; up to +50 Elo vs 15
Stockfish 16.124 Feb 2024Adds a secondary network
Stockfish 176 Sep 2024Better mate and tablebase lines, NUMA speedups; up to +46 Elo vs 16
Stockfish 17.130 Mar 2025speedtest command, tablebase fixes; up to +20 Elo vs 17
Stockfish 1831 Jan 2026SFNNv10 network with "Threat Inputs"; up to +46 Elo vs 17
Stockfish 195 Sep 2026SFNNv16 network, pawn-pair features, universal binaries, secondary net retired; up to +44 Elo vs 18

"Release" means we list no headline because we only cite what each post says up front; open the link for the full change list. The secondary network added in 16.1 is the one the Stockfish 19 post says "is no longer used."

Stockfish 17 vs 18 (and 19)

The jump that matters for most users is in the network. Stockfish 18's input layer adds Threat Inputs, features that tell the network which pieces are attacked, and the project reports "an Elo gain of up to 46 points" against Stockfish 17 (Stockfish 18 post). Stockfish 19 replaces that with SFNNv16, removes redundant threat features to shrink the binary, adds pawn-pair features, and claims up to 44 more Elo against 18. It also ships one universal binary that picks the right CPU code itself, so you no longer choose between AVX2 and AVX-512 downloads.

So the latest Stockfish version is Stockfish 19, released 5 September 2026. Version 17.1, which we run, is two major releases behind.

Our measurement: Stockfish 17.1 lite at fixed depths

To show what the lite engine actually does, we ran the exact engine file the site uses on five positions at depths 12, 16 and 20.

Stockfish 17.1 lite single-threaded: evaluation (White's view, pawns) and cost by depth
PositionDepth 12Depth 16Depth 20Best move (all depths)Nodes at depth 20Time at depth 20
Start position+0.40+0.45+0.381.e4392,4110.6–0.7 s
Italian Game after 3.Bc4 (Black to move)+0.14+0.26+0.273...Nf6467,3920.7–0.8 s
Knight fork, 1.Ne7++4.08+4.35+4.751.Ne7+506,0270.55–0.6 s
Fork trick after 5...d5−0.170.00−0.076.Bd3506,8730.76–0.8 s
King and pawn vs king, opposition+0.22+0.15+0.081.Kd3127,4600.1–0.16 s

Method: node_modules/stockfish/src/stockfish-17.1-lite-single-03e3232.js under Node 22, Threads 1, Hash 16 MB, ucinewgame and go depth N for each run, on one 2.1 GHz Xeon core. Every FEN was validated with chess.js. Single-threaded search is deterministic, so the evaluations, best moves and node counts reproduce exactly; the times are the range over two runs and will differ on your machine. The positions are linked here: start, Italian, knight fork, fork trick, king and pawn.

Three things to take from it:

  1. The best move was stable. In all five positions the engine picked the same move at depth 12 as at depth 20, in under a second.
  2. Numbers drift, verdicts don't. The start position moved between +0.38 and +0.45; the fork trick swung between −0.17 and 0.00. Read differences under about a quarter of a pawn as "equal," as explained in how to read engine evaluations.
  3. A small plus can still be a draw. The king-and-pawn ending is a textbook draw because Black holds the opposition, yet depth 20 still shows +0.08. The number is shrinking toward zero, which is the real signal. Endgame tablebases would show it as an exact draw.

Is the version difference visible in your games?

Mostly not. Newer versions win more engine-vs-engine games, which shows up in very balanced, deep positions. Your Game Review labels depend on swings in winning chances, and a blunder that drops a piece is a blunder to every Stockfish since version 12. Where the version and network matter is close calls: a move judged "Good" by one engine and "Inaccuracy" by another. See blunder, mistake and inaccuracy and chess accuracy for how those thresholds work, and how strong is Stockfish and Stockfish vs Leela for the wider picture.

Frequently asked questions

What does NNUE stand for?

Efficiently updatable neural network. The name describes its trick: after each move it updates only the parts of its input that changed, so it can evaluate millions of positions on a normal CPU. Stockfish has used it since version 12.

What is the latest Stockfish version?

Stockfish 19, released on 5 September 2026 according to the official Stockfish blog, as of October 2026. It follows Stockfish 18 (31 January 2026) and claims up to 44 Elo over it.

Is Stockfish 17.1 still strong?

Yes. It is only two releases behind, and the official posts put those two releases at up to 46 and up to 44 Elo of self-play gains on top of 17. Engine-vs-engine that is a clear gap; against a human, even the lite build finds every tactic in a normal game. Use the newest desktop build for deep preparation, and the browser engine for reviewing games.

What is the difference between Stockfish and Stockfish NNUE?

Today there is none. NNUE replaced the evaluation in Stockfish 12, and every release since, including the 17.1 build on this site, is an NNUE engine.

Test it yourself: paste a position into the analysis board, or run a full Game Review. For more on reading engine output, see the chess move calculator guide and how to analyze a chess game.