Skip to content
Notation, Recording & Chess DataGuide

Chess Move Numbers, Variations & Annotation Symbols

Learn how chess notation represents move numbers, Black-to-move fragments, main lines, nested variations, comments, move annotations, evaluation symbols and PGN NAGs.

A move token such as Nf3 describes one move.

Annotated chess must represent more:

  • whose move it is;
  • where a fragment begins;
  • which line is the main continuation;
  • which moves are alternatives;
  • what the annotator thinks;
  • what comments explain.

This creates a variation tree.

Full moves and ply

Chess uses two related counting units.

Full move

A move number normally groups:

  • White's move;
  • Black's reply.

Example:

1. e4 e5

Ply / half-move

One individual move by one side.

So:

  • 1.e4 = one ply;
  • 1...e5 = another ply.

Two plies ordinarily complete one full move number.

Key idea

Move number and ply are not synonyms.

This distinction reappears in:

  • FEN halfmove clock;
  • PGN PlyCount metadata;
  • engine analysis.

Standard move numbering

A conventional sequence:

1. e4 e5
2. Nf3 Nc6
3. Bb5 a6

The integer marks the fullmove number.

A single period is associated with a White move in PGN export numbering.

Starting a fragment with Black to move

Sometimes an analysis fragment begins with Black's move.

Human prose may show:

  • 1... c5

or if continuing an existing game:

  • 12...Nf6.

PGN export uses three periods before a Black move when a move-number indication is required:

  • 12... Nf6.
Key idea

`12.` points to White's move. `12...` points to Black's move.

Main line and variation

Main line

The primary sequence currently being presented.

Variation

An alternative continuation branching from an earlier position.

Branch point

The position where the alternative diverges.

Example prose:

1. e4 e5 2. Nf3 Nc6

Alternative after 1.e4:

1... c5

The alternative does not happen after 1...e5. It replaces it from the branch point.

Parenthesized variations

PGN uses Recursive Annotation Variations — RAVs — in parentheses.

Example:

1. e4 e5 (1... c5 2. Nf3) 2. Nf3

The parenthesized line is an alternative to the move immediately before the RAV after backing up to the correct branch position under PGN's rule.

Key idea

Parentheses represent a branch, not an extra move played in the main game.

Reading a variation safely

When entering a variation:

  1. identify which main-line move it replaces;
  2. mentally restore the branch-point position;
  3. follow the moves inside parentheses;
  4. when the variation ends, return to the main-line position outside it.
Concept mapMove Numbers, Variations & Annotated Chess · Concept map 1
Main
1E4 e5 2.Nf3e4e5
Branch after 1.e4e4
(1...c5 2.Nf3)c5
Return
Main line resumes after the parenthesis.

Nested variations

RAVs can be nested.

Example structure:

1. e4 e5
(1... c5 2. Nf3 (2. Nc3 Nc6) 2... d6)
2. Nf3

The inner variation branches from a position inside the outer variation.

Reading hierarchy

Use levels:

  • Level 0 → main line;
  • Level 1 → first alternative;
  • Level 2 → alternative inside that alternative.

Comments

Comments explain information that SAN alone cannot encode.

Possible content:

  • move idea;
  • factual context;
  • alternative plan;
  • warning;
  • historical note;
  • evaluation explanation.

PGN brace comments

PGN allows comments enclosed in braces:

1. e4 {White occupies the center.} e5

Semicolon comments

PGN also defines a rest-of-line comment beginning with:

  • ;

This is more technical and less common in published human-facing PGN.

Editorial prose vs machine data

A webpage may display:

White chooses a forcing continuation.

That sentence is editorial presentation.

Inside actual PGN data, the portable comment form would be:

{White chooses a forcing continuation.}

Do not confuse:

  • rendered prose;
  • raw PGN syntax.

Traditional move annotations

Common suffixes:

  • ! good move;
  • ? poor move;
  • !! especially strong/brilliant move;
  • ?? serious blunder;
  • !? interesting/enterprising move;
  • ?! dubious/questionable move.

These are subjective/editorial evaluations.

Their meaning is conventional rather than mathematically exact.

Warning

Do not teach a universal engine threshold for !, ?, !!, etc.

Publishers and annotators differ.

Position evaluation symbols

Chess annotations also use symbols for a position, not only a move.

Common families express:

  • equality;
  • slight advantage;
  • clear advantage;
  • decisive advantage;
  • unclear position;
  • compensation.

Examples in print traditions can include glyphs such as:

  • =;
  • ±;
  • ;
  • +−;
  • −+;
  • ;
  • compensation symbols.

Numeric Annotation Glyphs — NAGs

PGN provides language-independent numeric annotations.

Form:

  • $ + non-negative integer.

Examples:

  • $1;
  • $2;
  • $3.

The original PGN specification defines the NAG number range:

  • 0–255.

Important common move NAGs include:

  • $1 good move !;
  • $2 poor move ?;
  • $3 very good move !!;
  • $4 very poor move ??;
  • $5 speculative/interesting !?;
  • $6 questionable ?!.
Key idea

NAGs encode annotation semantics in a language-independent numeric form.

A reader does not need to memorize the entire namespace.

Traditional suffixes in PGN import/export

The original PGN specification allows the six traditional suffixes in import movetext.

Canonical export translates them to NAG tokens.

Example concept:

Import-friendly:

  • Qxa8?

Canonical export:

  • Qxa8 $2
Key idea

Human-friendly punctuation and canonical machine-portable annotation can be different representations of the same judgement.

Objective vs subjective symbols

This separation must survive every future layout.

Symbol familyExampleMeaning type
Game-state suffix+objective check
Game-state suffix#objective mate
Move annotation!subjective/editorial praise
Move annotation?subjective/editorial criticism
Position evaluation±assessment of resulting position
NAG$1portable annotation code
Key idea

Check/mate notation is not annotation. Annotation is not legality. Evaluation is not move syntax.

Reading an annotated variation tree

Consider a pedagogical structure:

1. e4 e5
2. Nf3 Nc6
3. Bb5 {The main line continues with pressure on c6.}
(3. Bc4 Nf6 (3... Bc5 4. c3) 4. d3)
3... a6 $1
4. Ba4 Nf6

Read it in layers.

Main line

  • 1.e4 e5
  • 2.Nf3 Nc6
  • 3.Bb5 a6
  • 4.Ba4 Nf6

Comment

After 3.Bb5:

  • prose explanation.

First variation

Instead of 3.Bb5:

  • 3.Bc4 Nf6 4.d3.

Nested variation

Inside that alternative:

  • Black can instead play 3...Bc5 4.c3.

Annotation

  • $1 evaluates ...a6 as a good move under the NAG convention.

Variation-tree mistakes

Common mistake

"Everything inside parentheses happened in the game."

Wrong. It is an alternative branch.

Common mistake

"A nested variation branches from the main line automatically."

Wrong. It branches from the position inside the enclosing variation.

Common mistake

"+ means good move."

Wrong. It means check.

Common mistake

"! is an objective rules symbol."

Wrong. It is an annotation judgement.

Three annotation layers to keep separate

Annotated chess often puts several kinds of information next to the same move. They should not be treated as one vocabulary.

Move-state information

Examples:

  • + check;
  • # checkmate.

These describe objective consequences of the move.

Move-quality judgement

Examples:

  • !;
  • ?;
  • !?;
  • NAG equivalents such as $1 and $2.

These express an annotator's judgement. Their thresholds are conventional, not universal engine laws.

Position evaluation

Symbols such as equality, slight advantage or decisive advantage evaluate the position reached, not merely whether the last move was "good" or "bad".

Keeping these layers separate prevents a common reading error: interpreting every symbol after a move as if it described the same thing.

How to navigate a dense variation tree

For long analysis, use the board position as your anchor.

Before entering a parenthesis:

  1. identify the move the variation is replacing;
  2. restore the branch-point position;
  3. play only the moves inside that variation;
  4. if a nested variation begins, repeat the process from its local branch point;
  5. when a variation closes, return to the position of its parent line.

If you lose the position, stop and reconstruct it. Guessing from move text is especially dangerous when the same piece can reach several squares or when captures have changed the board materially.

Human annotations and portable data

Printed books and websites often favor familiar punctuation because it is immediately readable. PGN can encode many of those judgements as Numeric Annotation Glyphs, which are more language-independent for interchange.

That does not mean every interface must display $1 to a reader. A database can store a portable annotation and render it as !, a symbol, or explanatory prose.

Representation and presentation are separate choices.

Frequently asked questions

What does ... mean after a move number?

It marks that the move shown is Black's move for that fullmove number, as in 17...Nf6.

Does a parenthesized PGN variation happen after the main-line move before it?

Not in the simple "continue from here" sense. A Recursive Annotation Variation is an alternative branch and must be read from the correct branch-point position.

Are ! and ? objective engine scores?

No. They are conventional annotations. Engines may inform the judgement, but there is no universal centipawn threshold that makes ! or ? objectively mandatory.

Key takeaways

Annotated chess combines:

  • move numbers;
  • SAN;
  • variations;
  • comments;
  • subjective move symbols;
  • position evaluations;
  • NAGs.

Critical distinctions:

  • fullmove ≠ ply;
  • n.n...;
  • main line ≠ variation;
  • nested branch inherits its local position;
  • +/#!/?;
  • evaluation glyphs ≠ move syntax;
  • NAGs provide portable annotation codes.
Checklist

Check your understanding

  • [ ] I distinguish fullmoves and plies.
  • [ ] I read White and Black move numbering.
  • [ ] I can follow parenthesized RAVs.
  • [ ] I can follow one nested RAV.
  • [ ] I understand brace comments.
  • [ ] I know the six traditional move annotations.
  • [ ] I distinguish move annotation from position evaluation.
  • [ ] I understand NAG purpose.
  • [ ] I can read a short annotated variation tree.