When you read a chess book, study a master game, or run engine analysis, you will see little marks tacked onto the moves: an exclamation point here, a question mark there, a +/- floating after a position. These are annotation symbols, and they are a compact language for sharing judgment about a game. They tell you what a commentator thought of a move and who stands better, all without a sentence of prose.
The key thing to understand up front: these symbols are not part of the move itself. A move like Nf3 describes what happened on the board. An annotation like Nf3! adds an opinion about it. You add these marks after the game, during analysis, once you have had time to think. They are commentary, not bookkeeping. If you are still learning to record the moves themselves, start with chess notation explained.
Move Evaluation Symbols
Move symbols attach to a single move and rate how good or bad it was. There are six you will see constantly.
| Symbol | Name | Meaning |
|---|---|---|
! |
Good move | A strong, well-judged move worth noting |
!! |
Brilliant move | An excellent, often surprising or hard-to-find move |
? |
Mistake | A weak move that worsens the position |
?? |
Blunder | A serious error, often losing material or the game |
!? |
Interesting move | A move worth considering, possibly risky but reasonable |
?! |
Dubious move | A questionable move that is probably not best |
The pattern is easy once you see it. Exclamation points are praise; question marks are criticism. Double them up for emphasis: !! is the highest praise, ?? is the worst condemnation.
The mixed pair trips people up. !? means an interesting move — the exclamation comes first, so the leaning is positive. It often marks an enterprising or double-edged choice that a commentator respects even if it is not clearly best. ?! means a dubious move — the question mark comes first, so the leaning is negative. It flags something that looks suspect but is not an outright mistake.
Examples
25. Rxh7+!!marks a rook sacrifice that wins by force, so it earns the brilliant-move sign.18... Qd7??hangs a piece on the next move, which is a blunder.12. g4!?is a sharp pawn thrust that loosens the king but creates real chances: interesting, not clearly good.9. h3?!is a slow move that wastes a tempo without a clear purpose, so the commentator calls it dubious.
Position Assessment Symbols
Move symbols judge a move. Position symbols judge the whole position at a given moment — who is doing better and by how much. These usually appear at the end of a line of analysis to summarize where things stand.
| Symbol | Meaning |
|---|---|
= |
The position is equal |
+/= |
White is slightly better |
=/+ |
Black is slightly better |
+/- |
White is clearly better |
-/+ |
Black is clearly better |
+- |
White is winning |
-+ |
Black is winning |
∞ |
The position is unclear |
In print these are often shown as single typeset glyphs (for example, a small plus-over-equals sign for a slight edge), but the ASCII versions above are what you will type and what most software understands. Read them as a sliding scale: = in the middle, a small edge with the slash forms, a clear advantage with +/- or -/+, and a decisive, essentially won position with +- or -+. The infinity sign ∞ is the commentator's honest shrug — sharp and genuinely double-edged, with no clear verdict.
So a line might end like this:
14. Bd3 Nxe4 15. Bxe4 d5 +/=
meaning that after Black's 15th move, White holds a slight pull. That is how it looks in a book; in a PGN file the same verdict is written 15... d5 $14, for reasons covered below.
How Symbols Are Stored in PGN
Annotation symbols are commentary, so they need a home in the file format that stores chess games. That format is PGN. If PGN is new to you, see what is PGN.
PGN handles annotations two ways:
- Move suffixes. The six move symbols can be written directly after the move, exactly as in a book:
Nf3!,Qd7??,g4!?. These are the only annotation symbols the PGN standard allows inline in the movetext. Position symbols such as+/-,=or∞are not valid movetext, soe5 +/-will be rejected by a strict parser; they go in a NAG or inside a{comment}instead. - NAGs (Numeric Annotation Glyphs). PGN defines a numbered code for every symbol, move and position alike, written with a dollar sign after the move:
Nf3 $1forNf3!, ore5 $16to say White is clearly better after e5. The numbers are standardized, so software can display them as the right symbol in any language.
A few common NAG codes:
$1= good move (!)$2= mistake (?)$3= brilliant move (!!)$4= blunder (??)$5= interesting move (!?)$6= dubious move (?!)$10= equal position (=)$14= White slightly better (+/=),$16= White clearly better (+/-),$18= White winning (+-)$15= Black slightly better (=/+),$17= Black clearly better (-/+),$19= Black winning (-+)
You rarely type NAGs yourself. They matter because when you import or export a game, the symbols you wrote may be saved as $-codes under the hood, and good tools translate them back to readable glyphs automatically.
Putting It to Work
Annotation is most useful when you do it on your own games. Play through a game, mark the turning points with ? and ??, flag the moves you are proud of with !, and note how the assessment shifts with +/- or =. That habit turns a pile of moves into a lesson you can actually learn from. Our guide on how to analyze chess games from scoresheets walks through the full process.
You cannot annotate a game that only exists on a paper scoresheet, which is where ScanChess fits in: it reads a photo of the handwritten sheet into a legality-checked PGN, and that PGN is what you load into a study to add your own ! and ? marks.

