Chess notation looks like code, but it is a compact description of a move. Once you can read it, every game, puzzle and engine line becomes accessible.

Squares and pieces

The board has files a to h and ranks 1 to 8. Each square is a file letter plus a rank number: e4, d5, g7. Pieces are written with capital letters: K for king, Q for queen, R for rook, B for bishop and N for knight. Pawns have no letter.

So Nf3 means a knight moves to f3. e4 means a pawn moves to e4.

Captures, checks and mates

  • x means capture: Bxe5 is a bishop capturing on e5.
  • + means check: Qh5+.
  • # means checkmate: Qh7#.
  • 0-0 is kingside castling; 0-0-0 is queenside castling.
  • =Q means promotion: e8=Q.
  • e.p. marks an en passant capture, though many files omit it.

Disambiguation

If two pieces of the same type can move to the same square, the notation adds the starting file, rank or both. Nbd2 means the knight from the b-file goes to d2. R1e2 means the rook from the first rank. This is rare in casual games but common in engine lines.

Annotations

Books and PGN files add symbols: ! good move, ? mistake, !? interesting, ?! dubious, +- white winning, -+ black winning. They are opinions, not part of the move.

Reading a full move pair

Chess games are written in move pairs: 1. e4 e5 2. Nf3 Nc6 3. Bb5. White's move comes first, Black's second. A PGN file wraps the same moves in headers such as Event, White, Black and Result.

Understanding notation makes it easy to import a game into the game library or follow an engine line on the analysis board. If you want the file format behind it, read PGN explained next.

Frequently asked

Why is knight written N instead of K?

K is already used for the king. N is the traditional abbreviation for knight, from the old name for the piece.

What does 0-0 mean?

It is kingside castling. Queenside castling is written 0-0-0. Some fonts display the zeros as letter O, but the meaning is the same.

Try it on a real game

See the whole game, not just the blunder.

Choose a review depth, see the maximum cost, and get move-by-move accuracy with blunder, mistake and inaccuracy markers.

Open the library