Skip to content
🔲 Chessboard built for React
Branch: master
Clone or download

lucena position Carlsen 2016 Championship sicilian defense

A chessboard for React inspired by chessboard.js

Build Status Code Coverage PRs Welcome version MIT License Commitizen friendly semantic-release


This module is distributed via npm which is bundled with node and should be installed as one of your project's dependencies:

npm install --save chessboardjsx

The package also depends on React. Make sure you have that installed as well.



Please take a look at to find out how to contribute.

What is Chessboard.jsx?

Chessboard.jsx is a React component with a flexible "just a board" API modeled from chessboard.js. It's compatible with touch as well as standard HTML5 drag and drop.

What can Chessboard.jsx not do?

The scope of Chessboard.jsx is limited to "just a board." This is intentional and makes Chessboard.jsx flexible for handling a multitude of chess-related problems.

Specifically, Chessboard.jsx does not understand anything about how the game of chess is played: how a knight moves, who's turn is it, is White in check?, etc.

Fortunately, the powerful chess.js library deals with exactly this sort of problem domain and plays nicely with Chessboard.jsx's flexible API.

Here is a list of things that Chessboard.jsx is not:

  • A chess engine
  • A legal move validator
  • A PGN parser

Chessboard.jsx is designed to work well with any of those software components, but the idea behind the library is that the logic that controls the board should be independent of those other domains.


Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!


💻 📖 💡 ⚠️

Andrew Bashelor




Roger Knapp


Tiago Serafim

💻 📖

Kef Schecter


Nils-Helge Garli Hegvik


Levi Durfee

💻 📖



You can’t perform that action at this time.