Mobile/Web chess UI for lichess.org
See the code
Chessground is a free/libre open source chess UI developed for lichess.org. It targets modern browsers, as well as mobile development using Cordova.
Chessground is distributed under the GPL-3.0 license (or any later version, at your option). When you use Chessground for your website, your combined work may be distributed only under the GPL. You must release your source code to the users of your website.
Please read more about GPL for JavaScript on greendrake.info.
Chessground is designed to fulfill all lichess.org web and mobile apps needs, so it is pretty featureful.
npm install --save @lichess-org/chessground
import { Chessground } from '@lichess-org/chessground';
const config = {};
const ground = Chessground(document.body, config);
More? Please make a pull request to include it here.
Install build dependencies:
pnpm install
To build the node module:
pnpm run compile --watch
To build the standalone:
pnpm run dist
To run tests:
pnpm test
## or
pnpm test:watch
gh workflow run release --field version=vX.Y.Z
The release workflow will increment the package.json version, create the tag, the github release, and publish to npm
1,663 followers · starred Jun 2020
49,741 followers · starred Nov 2021
412 followers · starred Jul 2025
4,376 followers · starred Sep 2014
Mobile/Web chess UI for lichess.org
See the code
Chessground is a free/libre open source chess UI developed for lichess.org. It targets modern browsers, as well as mobile development using Cordova.
Chessground is distributed under the GPL-3.0 license (or any later version, at your option). When you use Chessground for your website, your combined work may be distributed only under the GPL. You must release your source code to the users of your website.
Please read more about GPL for JavaScript on greendrake.info.
Chessground is designed to fulfill all lichess.org web and mobile apps needs, so it is pretty featureful.
npm install --save @lichess-org/chessground
import { Chessground } from '@lichess-org/chessground';
const config = {};
const ground = Chessground(document.body, config);
More? Please make a pull request to include it here.
Install build dependencies:
pnpm install
To build the node module:
pnpm run compile --watch
To build the standalone:
pnpm run dist
To run tests:
pnpm test
## or
pnpm test:watch
gh workflow run release --field version=vX.Y.Z
The release workflow will increment the package.json version, create the tag, the github release, and publish to npm
1,663 followers · starred Jun 2020
49,741 followers · starred Nov 2021
412 followers · starred Jul 2025
4,376 followers · starred Sep 2014