Skip to content

    Scan Chess Notation: Which Handwritten Styles It Reads

    Which handwritten notation ScanChess reads — algebraic, shorthand like "dc", look-alike letters — which it does not (descriptive), and how moves are checked.

    Start here: Chess Scoresheet Scanner: Handwritten Scoresheets to PGN the overview of scanning handwritten scoresheets to PGN, what it costs and which guide to read next.

    Example resultA. Rivera – M. Okafor
    Handwritten scoresheet, moves 1 to 8
    1. 1e4e5Checked against the rules
    2. 2Nf3Nc6Checked against the rules
    3. 3Bb5a6Needs a look
    4. 4Ba4Nf6Checked against the rules

    8 moves read and checked against the rules.

    Prepared example, not a live scan.

    Check the marked move yourself
    On this page7
    1. 1Why chess handwriting is its own problem
    2. 2The board is the disambiguator
    3. 3What the colors mean
    4. 4What still needs you
    5. 5Notation this understands
    6. 6What we saw when we tested it
    7. 7Related

    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. How many entries that is on real handwriting is published move by move in our scoresheet scan accuracy results.

    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. How ScanChess reads unclear moves describes the check that now flags many of these, when a misread leaves a piece hanging that neither player takes.

    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 with English piece letters, as PGN uses it: KQRBN, pawns unlettered, x for captures, O-O and O-O-O, + and #, =Q for promotion, and disambiguation by file or rank. FIDE's own conventions differ slightly (castling written with zeros, 0-0; promotion as d8Q; the x optional; national piece letters allowed under Appendix C.3). 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.

    Tested by us

    What we saw when we tested it

    We checked notation handling signed out on 30 September 2026. Uploading an image at /dashboard/scan works without an account, but recognition needs sign-in ("Sign in to scan · 2 credits"; new accounts get 10 free credits). What follows is what the free validator does with the same notation.

    To inspect how ambiguous notation is handled, we examined a demo scoresheet we made ourselves with the 1858 Opera Game. It contains common visual pitfalls: 7...Qe7 written with a faint top bar reading as "Qe1", 9...b5 with a short stem reading as "65", 14.Rd1 with "Rd8" struck through, and castling written with digits as "0-0-0".

    Ambiguous rows on the demo scoresheet showing zero castling and ambiguous marks

    In the browser-based ScanChess PGN validator (which requires no account) states that shorthand such as 0-0, dc and e8Q is normalized automatically. When we entered the misread "7... Qe1", the validator flagged "Illegal move at 7... Qe1" ("13 moves were legal before this one"), presented a "LEGAL MOVES HERE" list including Qe7, and displayed a "Position where it stopped" board with its FEN string.

    ScanChess PGN validator flagging illegal move Qe1 with legal move suggestions

    We also checked notation variants using national piece letters. Under FIDE Laws of Chess rule C.3, players may record moves using piece letters in their own language (such as German S for knight, L for bishop, T for rook, D for queen, and K for king). When we typed German moves from a 1973 scoresheet into the PGN validator ("1. c4 Sf6 2. Sc3 ..."), it stopped at move 1 with "Illegal move at 1... Sf6". The validator expects English piece letters, so translate the moves first: the chess notation translator turns them into English SAN (1. c4 Nf6 2. Nc3 ...), which the validator and Lichess both accept. Lichess did worse: it reported "Can't play c3 at move 2, ply 3", one move after the real problem, apparently because it read Sf6 and Sc3 as pawn moves. We have not tested how the scanner itself handles German letters.

    ScanChess PGN validator flagging German piece letter Sf6 as an illegal move

    In our public test, the scanner read 141 of 143 moves right first time on 3 standard algebraic scoresheets (2 of them printed test sheets), and invented no moves on blank ones.

    See every move of the test

    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.

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

    Other ways people use ScanChess