Download Chess blindfold trainer


Bookmark and Share


This script is distributed under the LGPL open source license.
Commercial licenses are also available. Some of these licenses also includes personal e-mail support for up to 1 year.

Download files

You can download the script from this Zip file.

Files in package:

  • chess-blindfold-trainer.html = Demo HTML file which illustrates how to use this script.
  • js/chess-blindfold-trainer.js = Main JS file for this script
  • images/* = Images used in this demo


Puzzle types:

Currently, this script supports four kinds of puzzles:

  • Find color of square - You will see the notation of a square(e.g.: e4) and have to click on either "White" or "Black"
  • On the same diagonal - You will see the notation of two squares and have to answer yes if they are on the same diagonal, or no otherwise
  • Find the right move - A list of the pieces on the board will be shown to you. You have to find the right move and type it into a text box
  • Find the right move from sequence - You will see the notation of the first moves in a game. Your goal is to visualize white's next move.
  • Knight moves - You will see the notation of two squares. You have to visualize how a knight could move between these squares in one or two moves.

How to add puzzles:

There are 3 methods for adding puzzles to a collection:

  • addFindRightColorSquare()
  • addFindSameDiagonal()
  • addFindTheMoveQuiz(whitePieces,blackPieces,correctMove,description,levelDiffulty)
  • addFindKnightMove(moves)

Example of use

addFindRightColorSquare(1); // 1 is the only supported argument at the moment
addFindKnightMove(2); // Argument: 1 or 2 knight moves addFindTheMoveQuiz('Kf4,Qg1','Kh5','Qg5#','Mate!',10); addFindNextMoveFromSequence('e4,e5,Qh5,Ke7','Qxe5#',10,'Checkmates the black king');

The addFindTheMoveQuiz gives you access to create some custom quiz.

Here's a description of the arguments to this function

  1. A commaseparated list of all the white pieces on the board.
  2. A commaseparated list of all the black pieces on the board.
  3. The correct move
  4. A textual description of the correct move
  5. How difficult the task is

The addFindNextMoveFromSequence function gives you the possibility of creating a custom quiz where you specify the first moves in a game. The student have to find the correct next move. This function takes the following argument:

  1. A commaseparated list of all the moves at the start of the game(example: e4,e5,Qh5,Ke7)
  2. The solution(example: Qxe5#)
  3. How difficult this excersize is. 10 is a typical value for an easy excersize, while 50 is difficult
  4. A textual description of the solution, example: "Checkmates the black king"
  5. Additional moves to explain the solution. The solution is animated on a chess board. Here, you can add further moves to the sequence in order to emphasize the solution. This argument is optional. If left blank, the animation will show the starting moves + the solution. If you have a value here, the animation will show the starting sequence + the moves specified here.

You can find examples how to use the addFindTheMoveQuiz and addFindNextMoveFromSequence functions at the bottom of chess-blindfold-trainer.html


Score is currently given in a very simple way:

  • Correct answer: As many points as you have seconds left on the task
  • Wrong answer: You will be subtracted 1/3 of total seconds available for the task

Javascript configuration

You can control if the script should shuffle the questions or not before displaying them. This is done by a javascript variable at the top of the chess-blindfold-trainer.js file:

var initShuffleQuestions = true;

You may also control speed of animations. This is done in the Javascript variable:

var quiz_moveSpeed = 1000; // Microseconds between moves when they are animated. (500 = 1/2 second)

Submit custom puzzles

Please, don't be afraid of submitting custom chess puzzles to me. Send an email with your puzzles in the following format:

  • List of white and black pieces on the board OR
  • List of the starting moves in a game
  • Correct move
  • Level of difficulty(10 = easy, 50 = difficult)
  • A description of why this is the best move (optional)

Rate this script at

If you like my script, please rate it at

Update log

  • April, 29th, 2006 - Added support for animations and support for excersizes where the user have to visualize the next move by looking at the starting moves in a game


In animation mode instead of 'bxc6' it takes 'dxc6' in the following Sequence:
Bendzra at 08:30AM, 2012/11/19.

Post your comment

Don't have an avatar? Create one at

Confirmation code:

Go to

About/Contact | A good idea? | Submit a script | Privacy notice
© 2005 - 2022