/stockfish.js

The Stockfish chess engine in Javascript

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Stockfish.js

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.

API

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");).

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

License

GPLv3 (see license.txt)