stockfish
v16.0.0
Published
The Stockfish chess engine in Web Assembly (WASM)
Downloads
1,114
Readme
Stockfish.js
Stockfish.js is a WASM implementation of Stockfish chess engine.
Stockfish.js is currently updated to Stockfish 16.
This edition of Stockfish.js comes in four flavors.
- The full mult-threaded engine:
- This is best version of the engine but will only run in new browsers with the proper CORS headers applied.
- Files: stockfish-nnue-16.js & stockfish-nnue-16.wasm
- The single-threaded engine:
- This will run in most browsers but is not as responsive as the multi-threaded version.
- Files: stockfish-nnue-16-single.js & stockfish-nnue-16-single.wasm
- The mult-threaded non-SIMD engine:
- Requires CORS headers but will run on older browsers that do not support SIMD (such as older Safari):
- Files: stockfish-nnue-16-no-simd.js & stockfish-nnue-16-no-simd.wasm
- The mult-threaded non-nested worker:
- Designed specifically to workaround a bug in Chrome 109. Requires CORS headers.
- Files: stockfish-nnue-16-no-Worker.js & stockfish-nnue-16-no-Worker.wasm
For older WASM engines or a pure ASM.JS engine, see the Stockfish.js 11 branch.
Compiling
You need to have the emscripten compiler installed and in your path (tested with 2.0.26
). Then you can compile Stockfish.js with the build script: ./build.js
. See ./build.js --help
for details.
Example
There are examples in the example folder. You will need to run the example/server.js server to view the client-side examples.
There are also example using Node.js.
Thanks
- The Stockfish team
- exoticorn
- ddugovic
- niklasf stockfish.js & stockfish.wasm
- hi-ogawa (faster WASM NNUE evaluation)
License
GPLv3 (see license.txt)