Skip to content
    Notation

    SAN (Standard Algebraic Notation): Chess Notation Explained

    ScanChess

    18 min read

    On this page13
    1. 1Chess Notation at a Glance
    2. 2The Coordinate Grid: Files and Ranks
    3. 3Piece Letters and Move Construction
    4. 4Captures and En Passant
    5. 5Castling, Check, Mate, and Promotion
    6. 6Disambiguation: When Two Pieces Can Reach the Same Square
    7. 7Practice Exercises: Test Your Notation
    8. 8Scoresheet Handwriting Pitfalls and Legality-Based Correction
    9. 9Notation on a Real Sheet: A 1973 German Scoresheet
    10. 10SAN vs. LAN vs. UCI vs. Descriptive
    11. 11A Worked Example: The Ruy Lopez Opening
    12. 12More on Chess Notation
    13. 13Notation Is Also What the Scanner Reads

    1. e4 e5 2. Nf3 Nc6 3. Bb5 records three full moves of chess in standard algebraic notation (SAN), the universal chess notation used across FIDE tournaments, scoresheets, and digital databases. Chess notation maps every move on the 64-square board into a concise string: an uppercase letter for the moving piece (K, Q, R, B, N; pawns carry no letter) followed by the coordinate of the destination square (files a–h, ranks 1–8). Special events modify the string: x for captures, + for check, # for checkmate, O-O or O-O-O for castling, and = for promotion.

    Once you know this coordinate syntax, you can read any tournament scoresheet, transcribe historic games, or import moves into an analysis engine without ambiguity.

    Chess Notation at a Glance

    NotationMeaningExampleContext
    a–h, 1–8File (column) and rank (row) coordinatese4Pawn advances to the e4 square
    K, Q, R, B, NKing, Queen, Rook, Bishop, KnightNf3Knight moves to f3 (K is reserved for King)
    (no piece letter)Pawn moved4Bare coordinates always designate a pawn move
    xCaptureBxe5, exd5Piece or pawn captures an opposing unit
    +CheckQh5+Opposing king is directly attacked
    #CheckmateQxf7#King is attacked with no legal escape; game ends
    O-OKingside castling (short)O-OKing moves two squares toward h-file; rook jumps over
    O-O-OQueenside castling (long)O-O-OKing moves two squares toward a-file; rook jumps over
    =Q, =NPawn promotione8=QPawn reaching 8th rank promotes (here to a queen)
    e.p.En passant captureexd6 (or exd6 e.p.)Pawn captures opposing pawn that just leaped two squares
    1-0, 0-1, 1/2-1/2Game outcome1-0White win (1-0), Black win (0-1), or draw (1/2-1/2)

    The Coordinate Grid: Files and Ranks

    Every square on a chess board possesses a unique two-character coordinate combining a vertical column (file) and a horizontal row (rank).

    • Files run vertically from a to h, read from left to right from White's perspective.
    • Ranks run horizontally from 1 to 8, starting with rank 1 on White's baseline and ending with rank 8 on Black's baseline.

    White's bottom-left corner square is a1, and the top-right corner square is h8. When a player moves a pawn forward two squares on the king's file, the recorded move is simply e4.

    A chessboard in the starting position with files a to h along the bottom and ranks 1 to 8 up the side

    Board coordinates remain static regardless of which color you play: square e4 is always the fourth rank of the e-file. To ensure coordinates match the board, verify the setup rule defined in Article 2.1 of the FIDE Laws of Chess: each player must have a light square in their near right-hand corner ("light on the right"). How to set up a chess board walks through piece placement square by square, and you can test coordinate layouts on the chess board editor.

    Piece Letters and Move Construction

    Every non-pawn piece is identified by a single uppercase letter:

    PieceLetterExample MoveDescription
    KingKKf1King steps to f1
    QueenQQd2Queen moves to d2
    RookRRe1Rook slides to e1
    BishopBBb5Bishop develops to b5
    KnightNNf3Knight jumps to f3 (N is used because K belongs to King)
    Pawn(none)e4Pawns carry no piece prefix

    Basic moves combine the piece letter and the destination square: Nf3 reads "Knight moves to f3," and Bb5 reads "Bishop moves to b5." Because pawns lack an initial letter, any move starting with a lowercase file letter (c4, d5, e4) is immediately recognized as a pawn advance.

    While Article C.2 of the FIDE Laws allows national federations to print scoresheets using localized piece letters (such as S for Springer in German or C for Cavalier in French), international tournament play and digital PGN files strictly require the standard English letters: K, Q, R, B, and N.

    Captures and En Passant

    When a piece captures an opponent's unit, an x is placed between the piece letter and the destination square:

    • Bxe5: A bishop captures the piece sitting on e5.
    • Qxe7: A queen captures on e7.

    Pawn captures require an origin identifier because pawns have no piece letter. You write the departure file of the capturing pawn, followed by x, followed by the landing square:

    • exd5: The pawn on the e-file captures an opposing piece on d5.
    • cxb4: The pawn on the c-file captures an opposing piece on b4.

    En Passant

    An en passant capture is recorded identically to a standard pawn capture, naming the destination square where the pawn lands—not the square of the captured pawn:

    • exd6: A white pawn on e5 captures a black pawn that just advanced two squares from d7 to d5, landing on d6.

    Some players write exd6 e.p. on scoresheets for personal clarity, but strict SAN and PGN parsers omit the suffix.

    Castling, Check, Mate, and Promotion

    Special events modify the core notation string:

    Castling

    Under FIDE Appendix C.13.1 and C.13.2, FIDE writes castling on paper scoresheets with numeric zeros (0-0 and 0-0-0). In digital PGN files, however, the standard algebraic notation specification requires uppercase letter O:

    • Kingside (short) castling: O-O (written 0-0 on paper)
    • Queenside (long) castling: O-O-O (written 0-0-0 on paper)

    Check and Checkmate

    • Check appends a plus sign: Qh5+ indicates the move delivers check.
    • Checkmate appends a hash mark: Qxf7# indicates checkmate and concludes the game.
    • In vintage scoresheets, players occasionally wrote ch for check or ++ for double check/mate, but modern SAN standardizes on + and #.

    Pawn Promotion

    When a pawn reaches the eighth rank (first rank for Black), it immediately promotes. In SAN, write the destination square, an equals sign =, and the uppercase letter of the chosen piece:

    • e8=Q: Pawn promotes to a Queen.
    • bxa1=N+: Pawn captures on a1, underpromotes to a Knight, and gives check.
    • e8=Q#: Pawn promotes to a Queen and delivers checkmate.

    Disambiguation: When Two Pieces Can Reach the Same Square

    When two identical pieces can legally move to the same destination square, SAN adds an origin identifier directly after the piece letter. Under FIDE Appendix C.10 and the PGN standard, disambiguation follows a strict three-step priority:

    1. Departure file first: If the pieces stand on different files, name the departure file.
    2. Departure rank second: If the pieces share the same file, name the departure rank.
    3. File and rank together: Required only in rare multi-piece positions where neither file nor rank alone resolves the ambiguity.

    Case 1: Disambiguation by File (Nbd2 vs Nfd2)

    In the opening position after 1. e4 e5 2. Nf3 Nc6 3. d3 d6, White has knights on b1 and f3. Both can legally jump to d2. Because they occupy different files (b and f), the departure file resolves the ambiguity:

    8  .  .  .  .  .  .  .  .
    7  .  .  .  .  .  .  .  .
    6  .  .  .  .  .  .  .  .
    5  .  .  .  .  .  .  .  .
    4  .  .  .  .  .  .  .  .
    3  .  .  .  .  .  N  .  .  <-- Knight on f3 (moves to d2: Nfd2)
    2  .  .  . [X] .  .  .  .  <-- Target square d2
    1  .  N  .  .  .  .  .  .  <-- Knight on b1 (moves to d2: Nbd2)
       a  b  c  d  e  f  g  h
    
    • Knight on b1 moves to d2: Nbd2
    • Knight on f3 moves to d2: Nfd2

    A real example comes from move 11 of the 1858 Opera Game (Paul Morphy vs Duke Karl of Brunswick and Count Isouard):

    Board position from the 1858 Opera Game demonstrating disambiguation after 11. Bxb5 check with black knights.
    In the Opera Game, Black plays 11...Nbd7 because both knights on b8 and f6 can reach d7.

    After White plays 11. Bxb5+, Black's king is in check. Black can interpose with a knight on d7, but both the knight on b8 and the knight on f6 can legally reach that square. Because the knights stand on different files (b and f), FIDE Appendix C.10 requires naming the departure file: Black plays 11... Nbd7.

    Case 2: Disambiguation by Rank (R1e2 vs R7e2)

    When two identical pieces share a file, specifying the file (Ree2) would still leave both rooks unidentified. The rank number is used instead:

    8  .  .  .  .  .  .  .  .
    7  .  .  .  .  R  .  .  .  <-- Rook on e7 (moves to e2: R7e2)
    6  .  .  .  .  .  .  .  .
    5  .  .  .  .  .  .  .  .
    4  .  .  .  .  .  .  .  .
    3  .  .  .  .  .  .  .  .
    2  .  .  .  . [X] .  .  .  <-- Target square e2
    1  .  .  .  .  R  .  .  .  <-- Rook on e1 (moves to e2: R1e2)
       a  b  c  d  e  f  g  h
    
    • Rook on e1 moves to e2: R1e2
    • Rook on e7 moves to e2: R7e2

    Case 3: The Three-Piece Rule (Qa1e5)

    A common misconception is that two queens or two rooks on diagonal squares need both coordinates (like Qh4e1). Under SAN rules, whenever exactly two identical pieces contest a square, they will always differ by file or rank: if their files differ, the file is mandatory; if their files match, the rank is mandatory.

    Both file and rank are required only when three or more identical pieces (created via pawn promotion) converge on the same square such that single-coordinate identifiers remain ambiguous:

    8  .  .  .  .  .  .  .  .
    7  .  .  .  .  .  .  .  .
    6  .  .  .  .  .  .  .  .
    5  Q  .  .  . [X] .  .  .  <-- Queen on a5 (moves to e5: Q5e5)
    4  .  .  .  .  .  .  .  .
    3  .  .  .  .  .  .  .  .
    2  .  .  .  .  .  .  .  .
    1  Q  .  .  .  Q  .  .  .  <-- Queen on e1 (Qee5) / Queen on a1 (Qa1e5)
       a  b  c  d  e  f  g  h
    

    Suppose White has three queens on a1, a5, and e1, all with unobstructed paths to e5:

    • The queen on a5 moves along rank 5: writing Qae5 fails (Qa1 is also on file a), but writing Q5e5 uniquely identifies it because no other queen is on the 5th rank.
    • The queen on e1 moves along the e-file: writing Q1e5 fails (Qa1 is also on rank 1), but writing Qee5 uniquely identifies it because no other queen is on the e-file.
    • The queen on a1 moves diagonally to e5: writing Qae5 is ambiguous with Qa5, and writing Q1e5 is ambiguous with Qe1. Neither file nor rank alone resolves the move. Therefore, both origin coordinates must be given: Qa1e5.

    Practice Exercises: Test Your Notation

    Test your understanding of SAN notation and disambiguation with these three standard scenarios:

    Exercise 1: Developing Knights

    • Position: White knights stand on b1 and f3; pawns stand on d3 and e4. White moves the knight from f3 to d2.
    • Challenge: How is this move written in SAN?
    • Answer: Nfd2. Both knights can legally reach d2. Because they stand on different files (b and f), SAN requires the departure file.

    Exercise 2: Rooks on an Open File

    • Position: White rooks occupy e1 and e8 on the open e-file. White slides the rook on e1 forward to e4.
    • Challenge: How is this move written in SAN?
    • Answer: R1e4. Both rooks share the e-file. Writing Re4 is ambiguous and writing Ree4 fails because both rooks share file e. Specifying the departure rank resolves the move to R1e4.

    Exercise 3: En Passant Capture

    • Position: White has an advanced pawn on e5. Black plays d7-d5. White captures the pawn en passant on the next turn.
    • Challenge: How is White's capture written in strict SAN?
    • Answer: exd6. En passant captures record the departure file (e), the capture marker (x), and the final destination square where the pawn lands (d6).

    Scoresheet Handwriting Pitfalls and Legality-Based Correction

    Physical tournament scoresheets are filled out quickly under time pressure, leading to predictable recording errors. When importing a scoresheet into a digital database or replaying moves, software relies on chess-rule legality to catch and resolve ambiguous penmanship:

    Handwritten MarkCommon MisreadingTrue MoveHow Legality Engines Resolve the Error
    Bc4 (tight loop)8c4 or 13c4Bc4Digits cannot begin a move token in SAN. Tracking board state (FEN) reveals a White bishop on f1 capable of reaching c4, while no piece named "8" exists.
    b6 (extended ascender)h6 or 66b6Two rank digits (66) violate SAN syntax. If Black has a pawn on b7, b6 is legal; if h7 is empty or h6 is blocked, the engine discards h6 and validates b6.
    Ke2 (rushed leg)Re2Ke2 (or Re2)Under time pressure, a cursive K often resembles R. The engine checks whether e2 is attacked (which forbids a King move) or whether only one piece can legally reach the square.
    0-0 / 0-0-0 (on paper)Zeros in digital PGNO-O / O-O-OFIDE's official paper notation uses numeric zeros (0-0 and 0-0-0), but the digital PGN specification mandates capital letters O-O and O-O-O. In our 2026-09-30 test, Lichess, Chess.com and the ScanChess validator all accepted 0-0-0.
    xd4 or d4Plain pawn advanceexd4 (or cxd4)If d4 is occupied, a plain push d4 is illegal. The engine inspects adjacent files for friendly pawns on c5 or e5 to reconstruct the missing departure file.

    For a full breakdown of scoresheet errors and how to avoid them during tournament rounds, consult Common chess notation mistakes.

    Notation on a Real Sheet: A 1973 German Scoresheet

    To see these conventions on paper, we transcribed a real scoresheet from Round 1 of the Berliner Silvesterturnier 1973 between Juliane Hund and Finkenzeller:

    Moves 11 to 17 of the 1973 German scoresheet showing handwritten German notation and colon capture markers.
    Photo: GFHund, Wikimedia Commons, CC BY-SA 4.0.

    Under FIDE Appendix C.3, players are permitted to record moves on paper using the piece letters customary in their country. On this German scoresheet, the player used German piece letters:

    • S = Springer (Knight)
    • L = Läufer (Bishop)
    • T = Turm (Rook)
    • D = Dame (Queen)
    • K = König (King)

    Captures on this sheet are indicated by a colon (:) placed after the move rather than an x (for example, cd5: means cxd5, and Tc6: means Rxc6). Castling is recorded with zeros as 0-0. In addition, the handwriting features specific cursive quirks: the letter b has an ascender loop resembling an l or f (such as in Db3 and Lb7), and at move 15 (15... Ld6) a correction was written directly over the letter d. At move 23, Black's column holds a handwritten German abbreviation for "resigned" (aufgegeben) rather than a move, following White's 23. Tc7.

    Below is a move-by-move translation of rows 11 through 17 from that sheet into standard SAN:

    Move #German as WrittenSAN TranslationDetails
    11Sb5: / ab5:11. Nxb5 axb5Knight capture on b5 (Sb5:); pawn recapture with colon capture marker (ab5:)
    12Tc6: / Se812. Rxc6 Ne8Rook captures knight on c6 (Tc6:); Black retreats knight to e8 (Se8)
    13Db3 / Lb713. Qb3 Bb7Queen to b3 (Db3); bishop develops to b7 (Lb7); handwritten b shows looped ascender
    14Tc2 / Db614. Rc2 Qb6Rook to c2 (Tc2); queen develops to b6 (Db6)
    15Tfc1 / Ld615. Rfc1 Bd6Disambiguation by file with rooks (Tfc1); bishop develops to d6 with a letter written over d
    16Ld2 / Sf616. Bd2 Nf6Bishop retreats to d2 (Ld2); knight re-enters on f6 (Sf6)
    17Lb4 / Lb4:17. Bb4 Bxb4Bishop moves to b4 (Lb4); bishop captures with colon (Lb4:)

    We transcribed all 23 moves of the game into python-chess and confirmed every move is legal: 1. c4 Nf6 2. Nc3 c6 3. g3 d5 4. cxd5 cxd5 5. Bg2 e6 6. d4 Be7 7. Nf3 Nc6 8. O-O O-O 9. Bf4 a6 10. Rc1 b5 11. Nxb5 axb5 12. Rxc6 Ne8 13. Qb3 Bb7 14. Rc2 Qb6 15. Rfc1 Bd6 16. Bd2 Nf6 17. Bb4 Bxb4 18. Qxb4 Nd7 19. a3 Rfc8 20. Nd2 Rxc2 21. Rxc2 Ra4 22. Qe7 Nf8 23. Rc7 1-0

    How Parsers React to German Notation

    When untranslated German notation is imported into digital chess software, parsers fail because PGN specifications require English piece letters:

    • ScanChess PGN Validator: At the PGN validator, entering German notation literally (1. c4 Sf6 2. Sc3 ...) resulted in "Illegal move at 1... Sf6" because the validator does not translate German piece letters. (The message stated "1 moves were legal", a small grammatical slip.)
    • Lichess: Pasting 1. c4 Sf6 2. Sc3 c6 ... into Lichess returned: "PGN error: Can't play c3 at move 2, ply 3". Lichess did not complain about Sf6 itself. The error names c3 at move 2, which suggests it read 1... Sf6 as the pawn move f6 and 2. Sc3 as the pawn move c3, which is impossible because the c-pawn is already on c4. Untranslated foreign piece letters can therefore trigger an error one move later than the actual point of failure.

    SAN vs. LAN vs. UCI vs. Descriptive

    While SAN is the standard human-readable format, chess software and historic literature utilize other systems:

    • Standard Algebraic Notation (SAN): The concise format explained throughout this guide (Nf3, exd5, O-O). FIDE's official system and the standard move format in PGN files.
    • Long Algebraic Notation (LAN): Spells out origin and destination squares separated by a hyphen or capture marker (Ng1-f3, e2-e4, Bf1xe5). While bulkier, LAN eliminates disambiguation and remains common in beginner puzzle books.
    • Universal Chess Interface (UCI): The coordinate format used by chess engines (such as Stockfish) to communicate moves: g1f3, e2e4, e7e8q. UCI omits piece names, capture markers, check signs, and castling letters (e1g1).
    • Descriptive Notation: The dominant English-language notation prior to 1980, naming squares from each player's perspective based on piece files (1. P-K4 P-K4 2. N-KB3 N-QB3). Vintage books require translation to SAN before software can read them.

    If an imported move sequence fails to replay in your software, paste the text into the PGN validator to flag the first syntactically invalid or illegal move. To map vintage books into modern algebraic format, see descriptive vs. algebraic notation.

    A Worked Example: The Ruy Lopez Opening

    Here are the first five moves of a famous opening, the Ruy Lopez, written in SAN:

    1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O
    

    Reading it move by move: White plays the pawn to e4, Black mirrors with e5; White develops the knight to f3, Black answers with a knight to c6; White's bishop goes to b5 (the Ruy Lopez), Black nudges it with a6; the bishop retreats to a4, Black develops a knight to f6, and White castles kingside. With practice, your eyes will read these as fluidly as words.

    More on Chess Notation

    Each of these picks up one part of the topic in more depth:

    Notation Is Also What the Scanner Reads

    Standard algebraic notation is the language a scoresheet scanner expects, so a sheet written in clean SAN is a sheet that reads well. ScanChess takes a photo of the handwritten page and returns those same SAN moves as a PGN, with every move replayed on a board to check it is legal. Diagram readers such as Chessvision.ai solve a different problem, turning a printed or on-screen position into a FEN; the Chessvision.ai vs ScanChess comparison sets the two side by side. If you need fresh sheets for your upcoming tournament rounds, you can also download printable scoresheets.

    Frequently asked questions

    What does SAN mean in chess?

    SAN means Standard Algebraic Notation, the compact notation used to record chess moves in scoresheets and PGN files.

    How is SAN different from UCI notation?

    SAN describes a move for people, such as Nf3 or O-O. UCI notation always gives origin and destination squares, such as g1f3 or e1g1.

    Can software check whether SAN moves are legal?

    Yes. A PGN validator can replay the moves from the starting position and identify the first move that is malformed or illegal.

    Tools in this article

    Turn your scoresheet into PGN in seconds

    Upload a photo and let ScanChess do the transcription.

    Scan your scoresheet

    Keep reading