What is chess OCR?

By the Kibitzz team · · 2 min read

The short answer

Chess OCR is optical character recognition specialized for chess notation: software that reads a photo of a handwritten or printed scoresheet and turns it into a list of moves. The best systems also check each move against the rules of chess to correct reading errors.

How is chess OCR different from ordinary OCR?

General OCR tries to read any text. Chess notation is a tiny, strict language: piece letters (K, Q, R, B, N), files a to h, ranks 1 to 8, and a few symbols such as x, +, # and O-O. Knowing that vocabulary lets a chess-specific reader reject impossible readings. A character that looks like a 9 cannot be a rank, so it is probably either a 4 or a g.

The bigger advantage is that chess has rules. Every move must be legal in the position it was played from, so a reader that tracks the board while it reads can resolve doubtful handwriting by asking which reading is a legal move.

How does the engine read a scoresheet?

  1. Find the sheet in the photo and straighten it.
  2. Locate the move columns and separate each row into the White move and the Black move.
  3. Recognize the handwriting in each cell and propose one or more candidate moves.
  4. Replay the game from the starting position and keep only the candidates that are legal.
  5. Flag any move it cannot resolve for a human to confirm.

What makes handwritten chess notation hard?

  • Look-alike characters: b and 6, 1 and l, 5 and S, 0 and O.
  • Different habits for the same move, such as 0-0 instead of O-O.
  • Notation in another language, where piece letters differ, such as S for the knight in German.
  • Crossed-out and rewritten moves on tournament sheets.
  • Missing or incomplete moves, common when a player is short of time.
  • Poor photos: shadows, curled paper, glare or a sheet cut off at the edge.

Where does chess OCR still need a human?

If a move is genuinely illegible, or if two readings are both legal, no software can be certain. Good tools show you the uncertain moves so you can fix them in seconds instead of hiding a guess. Treat the output as a fast first draft that you confirm, not as a guarantee.

Chess OCR in Kibitzz

Kibitzz reads standard handwritten scoresheets, including messy tournament notation, from a photo. It reconstructs the game move by move, validates every move against the rules, and then analyzes the game with Stockfish. The result is a playable game you can step through and export as PGN.

Keep reading