logo Canvas Chess


Canvas Chess was created by software developer Ryan Cook in 2009. Originally called Helium Chess, it was intended to be a lightweight UI written in JavaScript.

The board and pieces were built using nested HTML DIV elements, and a JavaScript library (jQuery) was added for dragging the pieces with a mouse. Variations of this method can still be seen today on Chess.com and ChessTempo.com. By 2012, most modern browsers supported the HTML5 canvas, and the UI was rewritten to replace the complicated nest of DIV elements with a single canvas element. As a result, jQuery was no longer needed and it was removed from the project, resulting in 100% pure JavaScript with zero dependencies.

Much of the code was rewritten and optimized in 2014. The name was changed to Canvas Chess, and a sample program was built to demonstrate its capabilities: Canvas Chess PGN Viewer. Adoption of the PGN Viewer on www.thechessworld.com led to rapid development and the BETA release. All of the code was released under the MIT license and uploaded to the community development website GitHub.com.


The following people have contributed to the project:

ryan photo
Ryan Cook
Ryan is the creator of Canvas Chess. He currently manages the development of the project.
yury photo
Yury Markushin
Yury provided extensive bug testing and was influential in the development of new features. His website TheChessWorld.com uses Canvas Chess to display games in articles and tutorials.
martin photo
Martin Bennedik
Martin helped to fix bugs and add new features, while using Canvas Chess to build ChessPuzzle.net.
Patrick photo
Patrick Horgan
The graphic commentary feature was made possible by Patrick's article: Drawing Lines and Arcs with Arrow Heads on HTML5 Canvas.