One day I was feeling pretty bored, so I started making a chess library. I had originally named it ChessBored, but then I decided against publishing that name as the final project.

The project was originally going to be a small chess game you can play in the console, but it evolved to become a full-fledged chess library. I’ve made it public, so you can download the chess library and use it in your own projects.

What does it do?

ChessBoard can do a number of things. You can simulate a chessboard in memory with the Board class, and place pieces wherever you want. ChessBoard will tell you whether you can move a piece to a given location given the state of the board.

For example, if your king was in check, the program will not allow you to move any piece except those that put your king out of check.

You can castle, kill pieces, print the chessboard to the console, check for checkmate, etc. You can find the full usage documentation on the GitHub repository.

What could you do?

Anyone can use this library to create their Java chess project. Here’s a non-exhaustive list of examples that I came up with on the spot:

  • A mobile chess app
  • A chess AI
  • A chess app in the console
  • A multiplayer chess game in the browser
  • A chess game server
  • A chess game analyzer

How can I use it?

The details about the API are located in the ChessBoard Github Repository. You can add the project as a dependency into your project using maven central:


If you want you can just download the jar file itself and include it manually in your classpath.

This library is still in development, so expect new features to be added to it. I also plan to make a few apps using this chess library, so be sure to follow me on GitHub to find about those apps soon.

Also, do you need more computer programming in your life? If you do, you should subscribe to my personal newsletter. You’ll get an email once a week about the newest computer programming article I’ve published! So what are you waiting for? Subscribe here.