Stockfish.js is a WASM implementation of Stockfish chess engine.
Stockfish.js is currently updated to Stockfish 15.
NOTE: Stockfish.js 15 reqiures some of the latest features and does not work in every browser.
This is a multi-threaded engine, and will only run in newer browsers and node.js versions. For an older JS and WASM version, see the Stockfish.js 11 branch.
You can run Stockfish.js directly from the command line with Node.js 14.4+. You may need to add some command line flags to get it to run:
node --experimental-wasm-threads --experimental-wasm-simd stockfish.js
Stockfish.js can be found in the npm repository and installed like this: npm install stockfish
.
If you want to use it from the command line, you may want to simply install it globally: npm install -g stockfish
. Then you can simply run stockfishjs
.
In Node.js, you can either run it directly from the command line (i.e., node src/stockfish.js
) or require() it as a module (i.e., var stockfish = require("stockfish");
).
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.
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.
- The Stockfish team
- exoticorn
- ddugovic
- niklasf stockfish.js & stockfish.wasm
- hi-ogawa (faster WASM NNUE evaluation)
GPLv3 (see license.txt)