Scan Chess Notation: How Handwriting Becomes SAN

    How ScanChess reads handwritten chess notation — shorthand like "dc", look-alike letters — and why every move is replayed on a board and rule-checked.

    ScanChess workflow for Scan Chess Notation: How Handwriting Becomes SAN

    Generic text recognition reads shapes. Reading chess notation needs something more: the letters are ambiguous, the handwriting is fast, and — crucially — there is a rule set that says which readings are possible at all. This page is about that step, between the photo and the file.

    Why chess handwriting is its own problem

    The alphabet in play is tiny and badly conditioned. b against 6. Q against 9. 0 against O. f against t. A general text model has no reason to prefer one over the other; in a move list, one wrong character silently produces a different, still-plausible game.

    Then there is what people actually write. Real scoresheets contain shorthand (dc for a pawn capture), crossings-out, arrows meaning "same as above", ep and =Q scattered in the margins, and the occasional move recorded in the wrong column.

    The board is the disambiguator

    The move that makes this tractable is refusing to read the sheet as text. Each move is played onto a board as it is recognized, and the position constrains what the next token can be.

    • Nbd2 versus Nfd2 — usually only one of them is legal, and the other is ruled out before you see it.
    • dc cannot stay dc: from the position there is usually exactly one pawn on the d-file that can capture, so it expands to dxc5.
    • A castle written 0-0 is read as O-O, because zero-zero is not a move.
    • A move that could not have happened at all — a knight that cannot reach that square, a capture of a piece that is not there — is marked red instead of being written into your game.

    That last point is the difference that matters. A misreading that produces an illegal move announces itself. You review a handful of colored entries rather than proofreading forty moves against a sheet you may not be able to read either.

    What the colors mean

    Red is an illegal move: the reading cannot be played in that position, so something upstream is wrong — the move itself, or an earlier one that put the board in the wrong state.

    Amber is a low-confidence move: the model read something, but not with enough certainty to commit. The editor shows the moves that are legal in that position, so if Nbd2 and Nfd2 are both possible you choose between them rather than typing. There is no separate "ambiguous" category; an unsure reading is amber, whatever the reason for the doubt.

    What still needs you

    Two cases the rules cannot settle:

    A confident, legal misreading. If both Nbd2 and Nfd2 are legal and the model was sure of the wrong one, no validation will tell you which you played. The replay board catches it: step through the game and the position stops matching your memory.

    A sheet that is wrong. If the original recorder skipped a move, the game diverges from that point and validation marks the divergence, not the cause. Fixing it means going back to the position — or to your opponent's copy.

    Editing uses the pencil button beside each move, and it costs nothing: only the recognition itself uses credits. Correct a move and the rest of the game re-validates from there.

    Notation this understands

    Standard Algebraic Notation, as FIDE requires it: piece letters KQRBN, pawns unlettered, x for captures, O-O and O-O-O, + and #, =Q for promotion, and disambiguation by file or rank. If you want a refresher, Chess notation explained covers the whole system, and 7 common notation mistakes covers what goes wrong when people write it in a hurry.

    Descriptive notation (P-K4, N-KB3) is not supported. Moves written that way are shown as scanned, but they are not converted to algebraic, not replayed and not checked, so an old sheet needs translating before it is scanned. Descriptive vs algebraic notation shows how.

    Related

    Frequently asked questions

    Does it understand shorthand?
    Yes. Forms like "dc" for a pawn capture are expanded to standard SAN such as "dxc5" using the position on the board.
    What about old descriptive notation?
    It is not supported. P-K4 style moves are shown as scanned but not converted, replayed or checked, so translate the sheet to algebraic notation before scanning it.
    How is a misreading caught?
    Every move is replayed on a board as it is read. A move that is illegal in that position is marked red; a move the model is unsure of is marked amber, with the legal alternatives offered in the editor.
    Scan a scoresheet

    10 free credits on sign-up. Volume pricing: Pricing

    Other ways people use ScanChess