
How to Embed Mid-Game Chess Positions on Chess.com (and Fix the Off-by-One FEN Bug)
Adding a custom position or move-by-move animation to your Chess.com blog post makes your analysis clear and engaging. But if you’ve ever tried to paste a FEN or PGN into the editor and seen:
Please enter a valid FEN or PGN
…you’re not alone. There’s a subtle quirk in Chess.com’s parser: it mishandles the full-move counter in FEN strings, rejecting perfectly legal positions. This guide walks you through every step—from setting up your position in the Analysis Board, to pasting into the blog editor, to the final workaround—complete with screenshots so even non-techies can follow along.
1. Prepare Your Position in the Analysis Board
-
Open the standalone Analysis Board in a new tab.
-
Recreate your mid-game position by entering moves or pasting a move list into the input field. For example, after playing the Najdorf, Opočenský Variation, through 6…e5, you’ll see:

3. Copy the FEN
-
-
Click Share → PGN tab → copy the FEN string displayed (top line).
-

2. Insert Into Your Blog Editor
-
Open the Chess.com blog editor and navigate to the post you’re writing.
-
Click the chess-board icon in the toolbar to open the embed dialog.
-
Select “Load from FEN” (or “Load from PGN”) in the popup.
-
Paste the FEN you copied into the text box.
- Click Load, then Insert.

3. Encountering the “Invalid FEN or PGN” Error
If you see:
Please enter a valid FEN or PGN
even though you copied directly from the Analysis Board, it’s not your typo. It’s the full-move counter in the last field of the FEN:
… <Half-move> <Full-move>
By FEN standard, the Full-move field equals the next move number when it’s White’s turn. So after Black’s 6th move, it reads 7:
rnbqkb1r/1pp2ppp/p2p1n2/4p3/3NP3/2N5/PPP2PPP/R1BQK2R w KQkq e6 0 7
But Chess.com’s blog parser still expects the older convention—it wants the full-move to equal the last move played. In other words, it wants 6, not 7.
4. Workaround: Subtract One from the Full-Move
-
Edit the FEN: change the final number from 7 → 6:
-
Re-load it in the blog editor (Load → Insert).
- rnbqkb1r/1pp2ppp/p2p1n2/4p3/3NP3/2N5/PPP2PPP/R1BQK2R w KQkq e6 0 7
+ rnbqkb1r/1pp2ppp/p2p1n2/4p3/3NP3/2N5/PPP2PPP/R1BQK2R w KQkq e6 0 6
This simple off-by-one fix clears the “invalid FEN” error every time.
5. Embedding a Full PGN Move-Player
If you want an interactive move list instead of a static diagram, combine the corrected FEN with your move sequence:
[SetUp "1"]
[FEN "rnbqkb1r/1pp2ppp/p2p1n2/4p3/3NP3/2N5/PPP2PPP/R1BQK2R w KQkq e6 0 6"]
7.Nb3 Be7 8.Be3 Be6 9.Qd3 O-O 10.O-O h6 11.Bd2 Nc6
12.a3 Rc8 13.Rad1 Nd7 14.Bc1 b5 15.Nd5 Bg5 16.Bxg5 Qxg5
17.Qd2 Qxd2 18.Rxd2 Rfd8 19.c4 bxc4 20.Bxc4 Rb8
21.Rfd1 Bxd5 22.Rxd5 Nf6 23.Rxd6
6. Why Document This Bug?
-
Save Time: No more frustration over “invalid FEN” when the string is correct.
-
Educate Readers: Teach the real FEN standard and the current Chess.com quirk.
-
Help the Community: Post links to this guide wherever bloggers share tips—everyone benefits.
Embed mid-game positions in any opening with confidence—now you know the secret off-by-one FEN fix!