Chess PGN Translator › Lichess null move fixer
Fix Lichess Null Move Error
A null move is a placeholder meaning this side does nothing. ChessBase, Chessable and engine analysis use them constantly; Lichess refuses them, because "do nothing" is not a legal chess move and has no notation. The fix is to turn the null move into a comment so the surrounding line still imports. Chess PGN Translator does that in one pass with Convert null moves.
Null move formats, and what happens to each
| Token | Where it comes from | Converted automatically? |
|---|---|---|
-- | The common PGN null move marker | Yes |
Z0, Z1 | ChessBase-style markers | Yes |
@@ | Some third-party exports | Yes |
0000 | UCI-style null move | Yes |
The PGN parser rejects @@ and 0000 as move tokens, which used to leave a game containing
them untouched and still unimportable. They are now rewritten to Z0 before parsing, so the whole game
is read normally and the null move is converted like any other. Nothing has to be edited by hand.
What the conversion produces
The null move is replaced by a PGN comment, and the moves around it are untouched:
Before: 9. e4 Z0 10. h6 Bxh6
After: 9. e4 {[Null move: Z0]} 10. h6 Bxh6
Both -- and Z0 produce the text [Null move: Z0], because the PGN parser
normalises -- to Z0 as it reads the file. If the move already carried commentary or
annotations, everything is folded into that single comment — Lichess keeps only one of a run of adjacent
comments, so merging them is what stops your notes from disappearing.
Two side effects worth knowing about
Converting a null move deletes a ply, and that has consequences no tool can fully avoid while the line remains a clickable variation:
- The line is re-anchored. A variation that branched off the null move now hangs from the previous real move, with the opposite side to move. Lichess therefore displays it as an alternative to that move. The moves are all present and correct; only the branch point shifts.
- A comment that opened the variation may be dropped by Lichess. Lichess discards a comment placed before the first move of a variation, so introductory prose on such a line is not imported.
Variations on ordinary moves are completely unaffected. These trade-offs exist only where a line hung off a null move, and they are the price of keeping that line clickable rather than flattening it into plain text.
How to convert, step by step
- Open Chess PGN Translator.
- Paste the PGN, or upload the
.pgnfile. - Enable Convert null moves. No translation provider is involved, so there is no character limit.
- Download the converted PGN and import it into your Lichess study.
Converting null moves combines with the other repairs, so a Chessable export with null moves and malformed comments can be fixed in the same pass.
Frequently asked questions
Can I just delete the null moves instead?
You can, and Lichess will then accept the file — but you lose the training information the null move marked, and any comment attached to it. Converting keeps that text visible in the study.
Does this need AI translation or an account?
Neither. Null move conversion is a PGN-only operation: no provider, no quota, no sign-in.
My file has null moves in hundreds of games. Is that a problem?
No. Whole course collections are processed in one pass, and files with more than 64 games can be split into study-sized parts at the same time.
Related guides
Fix Lichess PGN parse error — look up your exact error message.
Online PGN parse error fixer — clean, split and repair PGN files.
Last updated 10 September 2026.