Skip to content
Notation, Recording & Chess DataGuide

Chess Algebraic Notation: How to Read & Write Moves

Learn how algebraic chess notation represents moves, captures, checks, castling, promotion, en passant and results, including the important differences between FIDE scoresheet notation and PGN SAN.

Chess notation is a representation layer placed on top of the board.

The board contains:

  • pieces;
  • squares;
  • legal moves;
  • game states.

Notation gives those events a durable written form.

It lets a position or game survive after the physical pieces have been moved away.

Key idea

The board is the event. Notation is a representation of the event.

That distinction matters because several representation systems coexist:

  • FIDE algebraic recording;
  • canonical PGN SAN;
  • FEN;
  • PGN;
  • EPD;
  • UCI coordinate move strings;
  • ECO metadata.

They are related, but they are not one universal notation.

Why chess needs notation

A written move record supports several different tasks.

Recording

A player or observer can preserve what happened.

Replay

Another reader can reconstruct the sequence on a board.

Analysis

Comments, alternatives, and evaluations can be attached to specific moves.

Publishing

Books, articles, websites, and databases can communicate games compactly.

Communication

A move such as Nf3 can identify the same chess event for readers who share the notation conventions.

Databases

Games can be stored, searched, exchanged, and indexed.

Reproducibility

A published analysis can identify the exact game or position from which a conclusion was drawn.

Key idea

Notation turns transient play into reproducible chess information.

Coordinates are the prerequisite

Algebraic notation assumes you can identify files a through h, ranks 1 through 8, and square coordinates such as e4 and c6.

Every ordinary algebraic move ultimately points to:

  • a destination square;
  • and enough additional information to identify the move.

Human algebraic notation vs canonical PGN SAN

Keeping these two contexts separate prevents many transcription and localization errors.

FIDE Appendix C algebraic system

FIDE recognizes the algebraic system for its competitions.

In human scoresheet notation:

  • pieces are abbreviated;
  • pawns omit a piece letter;
  • local customary piece abbreviations are permitted;
  • figurine notation is recommended in printed periodicals;
  • FIDE examples use 0-0 and 0-0-0 with zeroes for castling;
  • promotion examples such as d8Q append the promoted piece abbreviation;
  • marks such as x, +, mate indication, and e.p. are optional under Appendix C.

Canonical PGN SAN

PGN export movetext uses a stricter Standard Algebraic Notation form:

  • English piece letters K Q R B N;
  • pawn letter omitted;
  • x for captures;
  • O-O / O-O-O with capital letter O;
  • =Q, =R, =B, =N for promotion;
  • + for check;
  • # for mate;
  • exact disambiguation rules;
  • no special en-passant suffix.
Warning

FIDE scoresheet algebraic notation and canonical PGN SAN are closely related, but they are not byte-for-byte identical specifications.

Piece abbreviations in human algebraic notation

In English:

  • king = K;
  • queen = Q;
  • rook = R;
  • bishop = B;
  • knight = N.

The knight uses N because K is already king.

Pawns

Pawns do not receive a piece letter in ordinary algebraic move notation.

So:

  • pawn e2-e4 → e4;

not:

  • Pe4.

Local abbreviations

FIDE allows customary local abbreviations in human algebraic recording.

That matters for localization.

A Spanish, French, German, Italian, or Portuguese scoresheet may use locally customary piece initials.

Raw PGN SAN uses English piece letters, so actual PGN/SAN data examples should retain them.

Terminology

Human localized notation

May use customary local piece letters where the context is human scoresheet notation.

Canonical PGN SAN

Keep English K Q R B N unchanged inside actual PGN/SAN data examples.

Figurine Algebraic Notation — FAN

Printed chess material may replace piece letters with figurine symbols.

Conceptually:

  • Nf3 may be rendered with a knight figurine followed by f3.

FAN changes presentation, not the underlying move.

Pawn moves

A non-capturing pawn move is ordinarily represented by its destination square.

Examples:

  • e4;
  • d5;
  • a6.

These strings do not explicitly state:

  • source square;
  • whether the pawn moved one or two squares.

The current position determines that information.

Example

From the initial position:

  • e4

means the White e-pawn has legally reached e4.

The notation does not need to say:

  • e2-e4

in SAN.

Key idea

SAN is position-dependent. The same text cannot be decoded correctly without a board state.

Piece moves

A basic non-capturing piece move uses:

piece letter + destination square

Examples:

  • Nf3;
  • Bb5;
  • Re1;
  • Qd2;
  • Kg1.

These examples are simple only when no disambiguation is required.

The position must establish that the move is legal and uniquely identifiable.

Captures

Canonical PGN SAN uses:

  • x

for capture.

Piece capture

Structure:

piece letter + x + destination

Example:

  • Bxc6.

Pawn capture

A pawn capture includes the pawn's originating file.

Structure:

origin file + x + destination

Example:

  • exd5.

Why origin file?

Because pawns have no piece letter, and the file tells the reader which pawn moved.

Capture notation does not encode captured piece type

Bxc6 does not say whether the bishop captured:

  • knight;
  • rook;
  • pawn;
  • queen.

The position determines the captured piece.

Key idea

SAN records the moving piece and destination; the board supplies much of the omitted context.

Check and checkmate

In canonical PGN SAN:

  • + = check;
  • # = checkmate.

Examples:

  • Qh5+;
  • Rxe8+;
  • Qh7#.

These suffixes describe the resulting game state.

They are not subjective comments.

Objective vs subjective

Compare:

  • + → objective check state;
  • # → objective checkmate state;
  • ! → human/editorial judgement;
  • ? → human/editorial judgement.
Key idea

`+` and `#` describe what the move does. `!` and `?` assess how good the move is.

Move annotations and evaluation symbols are covered separately from the objective check and mate suffixes.

Castling notation

Castling exposes one of the clearest FIDE-vs-PGN differences.

FIDE Appendix C

  • kingside: 0-0;
  • queenside: 0-0-0.

These use the digit zero.

Canonical PGN SAN

  • kingside: O-O;
  • queenside: O-O-O.

These use capital letter O.

ContextKingsideQueenside
FIDE Appendix C examples0-00-0-0
PGN canonical SANO-OO-O-O
Warning

Do not silently normalize the distinction away when teaching the specifications themselves.

Check after castling

If castling gives check in canonical SAN:

  • append +.

If it gives mate:

  • append #.

Whether castling is legal in a given position is a chess-rules question; notation only records the legal move.

Promotion notation

Promotion produces another important FIDE-vs-PGN difference.

FIDE Appendix C examples

Examples include:

  • d8Q;
  • exf8N;
  • b1B;
  • g1R.

Canonical PGN SAN

Promotion uses:

  • =;
  • followed by the promoted piece letter.

Examples:

  • d8=Q;
  • exf8=N;
  • b1=B;
  • g1=R.

Capture promotion

Example:

  • fxg8=Q.

Promotion with check

  • fxg8=Q+.

Promotion with mate

  • exd8=N# if the verified position produces mate.

En passant in notation

The en-passant move is written like the corresponding pawn capture.

Example:

  • White pawn e5 captures Black pawn d5 en passant and lands d6.

Canonical PGN SAN:

  • exd6.

No special en-passant suffix is added in canonical SAN.

FIDE human notation

Appendix C lists e.p. as an optional notation mark.

So a human scoresheet or explanatory text may show:

  • exd6 e.p.

But the canonical PGN SAN token remains:

  • exd6.
Key idea

The special rule changes the move, not canonical PGN SAN syntax beyond the ordinary pawn-capture form.

Results

Human chess writing commonly uses:

  • 1-0 → White wins;
  • 0-1 → Black wins;
  • ½-½ → draw.

PGN uses ASCII-compatible termination values:

  • 1-0;
  • 0-1;
  • 1/2-1/2;
  • *.

Asterisk

In PGN:

  • *

means the game is still in progress, abandoned, or the result is otherwise unknown/unavailable in the record.

MeaningHuman displayPGN termination
White wins1-01-0
Black wins0-10-1
Draw½-½1/2-1/2
Incomplete/unknowncontextual*

What algebraic notation leaves implicit

Algebraic notation is compact because the position supplies context that the move text omits.

For example, Nf3 tells you:

  • a knight moved;
  • the destination is f3;
  • the move was not a capture;
  • no check or mate suffix is present.

It does not, by itself, tell you the knight's starting square. In the initial position the answer is g1, but in another position a different knight may be able to reach f3. When more than one legal knight can do so, SAN adds just enough origin information to remove the ambiguity.

That position dependence explains why a move token should never be treated as a complete move object in isolation. Reliable decoding always combines:

current position + notation token → legal move

A practical move-reading algorithm

When you meet an unfamiliar SAN token, read it from left to right.

  1. Identify the mover. A capital piece letter means a piece; no piece letter means a pawn.
  2. Look for an origin clue. A file, rank, or full square before the capture marker may be disambiguating the mover.
  3. Check for `x`. If present, the move is a capture.
  4. Find the destination square. This is the board square the mover reaches.
  5. Check for promotion. =Q, =R, =B, or =N changes a pawn into another piece.
  6. Read the final state suffix. + means check and # means checkmate.
  7. Verify against the board. The position must contain one legal move matching the token.

This algorithm scales from e4 to strings such as Raxd1+ or fxg8=N#.

Common notation traps

Zero vs capital O in castling

In PGN SAN, use O-O and O-O-O, with the letter O. FIDE's human scoresheet examples use zeroes. When you are transcribing a human record into PGN, normalize to the PGN form.

Check is not an annotation of quality

+ and # are objective consequences of the move. !, ?, !? and related symbols are annotations made by an author or player.

A pawn capture needs its origin file

xd5 is incomplete SAN. A pawn capture is written with the origin file, such as exd5.

A well-shaped string can still fail in a particular position. If no legal move matches Nf3, the token is not valid SAN for that position.

Frequently asked questions

Is algebraic notation the same as SAN?

Not exactly. "Algebraic notation" is the broader human notation family. SAN is a standardized, machine-portable form used in PGN movetext with specific rules for captures, disambiguation, castling, promotion, check and mate.

Why are pawn moves written without P?

The absence of a piece letter identifies a pawn move. e4 therefore means a pawn moved to e4, not that a piece named "E" moved.

Can chess notation be translated?

Explanatory prose and human scoresheet piece initials may be localized. Raw PGN SAN uses the English piece letters K Q R B N, so those tokens should remain unchanged when translating a PGN example.

Key takeaways

Ordinary algebraic notation is compact because it relies on the current position.

Basic SAN-like components

  • piece letter when non-pawn;
  • pawn origin file on captures;
  • x for capture;
  • destination square;
  • promotion component;
  • + / # state suffix.

Critical spec distinctions

  • FIDE human notation can localize piece abbreviations;
  • PGN SAN uses English letters;
  • FIDE castling examples use zero;
  • PGN SAN uses capital O;
  • FIDE promotion examples omit mandatory =;
  • PGN SAN uses =Q etc.;
  • FIDE may show optional e.p.;
  • PGN SAN does not.
Checklist

Check your understanding

  • [ ] I understand why chess notation exists.
  • [ ] I can read square coordinates.
  • [ ] I know English K/Q/R/B/N abbreviations.
  • [ ] I know pawns omit a piece letter.
  • [ ] I read ordinary pawn and piece moves.
  • [ ] I read captures.
  • [ ] I distinguish +/# from !/?.
  • [ ] I know FIDE and PGN castling forms differ.
  • [ ] I know FIDE and PGN promotion forms differ.
  • [ ] I understand en-passant notation.
  • [ ] I understand human vs PGN result strings.

The next area builds complete canonical SAN, including the hardest part:

disambiguation.