Open Discussion: FEN, X-FEN or Shredder-FEN


This thread is for you to contribute with your opinion or knowledge about the subject in order to learn more about it or get into a constructive outcome together. Thanks in advance for your active participation!

Subject: FEN, X-FEN or Shredder-FEN, which one do you think adapts better to the chess960 notation needs,  and consequently should prevail on top of the other. How to find a solution for the current incompatibility between the different interfaces and online sites?


As you know, the position description is essential for Chess960, it must be included on the PGN notation in order to provide the required Starting Position information, besides it is always helpful, as for classic chess, to provide records for a particular position re-start.

  • FEN was created for classic chess to provide all the information required to re-start a game from any particular position. It cover most of the information you need to describe a chess960 game from any particular position, except when it comes to the special situation you find 2 rooks on the bank rank and same side of the king. It become ambiguous which rook is still available for castling. This cause an error in most of the old interfaces and engines. Some sites and interfaces improved the bug problems just giving the castling right to the outermost rook as default. Most of the play Online sites still uses classic FEN as keeping a complete moves notation already provides enough information to know about the castling rights (unless the site provided a game explorer or need to re-start a game from a given position including those 2 rooks on the same side). Also, there are some Free GUIs claiming Chess960 notation compatibility still using FEN as JOSE or ARENA.


  • X-FEN, introduced by Reinhard Scharnagl, covers the issue of encoding castling rights just adding the file letter to the rook still holding that right (using Upper case for white as in traditional FEN). It certainly covers all the chess960 possible positions, however it adds a certain complication to the notation (on the other hand, it still keep the original castling notation used in tradicional FEN). There is an interesting thread in Windboard Forum started by  Sharnagl himself talking about the need to use X-FEN above the other 2 solution. You can read it here:

Although Sharnagl introduced this solution by 2003, not many GUIs, applications nor sites are currently really using it. ARENA claims compatibility to use it, however in my personal ARENA interface I see it still uses classic FEN... I hope someone can bring some light on this.

  • Shredder-FEN, as the name itself exposes it was introduced by the Shredder creators. It changes significantly the original FEN notation to describe the castling rights (it loses any possible compatibility with classic chess notation and forces the GUI and engine to explicitly know we are managing a Chess960 game), however it is able to describe perfectly the castling right at any point with an easy-simple system. It adds from the very beginning the file letter where are placed the rooks still holding castling rights (so, for the Classic Chess starting position 518, the notation would reflect HAha instead the classic KQkq (for King-side and Queen-side castling rights). Currently, most of the commercial GUIs are already using S-FEN (all the ChessBase and most of the Rybka products only read S-FEN). From the free chess interfaces, I believe Windboard is able to read S-FEN, however I haven't tested it personally.


As far as I know, there are only a few GUIs claiming compatibility to read anything:


COMMERCIAL: Rybka Aquarium - I have run a test today and definitely it doesn't support X-FEN. When it comes to paste a given FEN position it doesn't support Shredder-FEN either. However, when pasting PGNs, it doesn't support X-FEN but still can read correctly Shredder-FEN as Chess960. When it comes to generate PGN from Rybka Aquarium, it uses Shredder-FEN for specific Chess960 games.




With this panorama, at the end it comes to the final users (ourselves) suffering of incompatibility when importing-exporting games from one support to another forcing continuous hand-made modifications. I am not sure if the best solution would come from making full-compatible products or go for just one of the options together. What do you think?



PS. There is a few threads discussing the same subject:


I have run a test with the example provided at the Wikipedia:

X-FEN = rn2k1r1/ppp1pp1p/3p2p1/5bn1/P7/2N2B2/1PPPPP2/2BNK1RR w Gkq - 4 11

[Event "SmirfGUI Computerchess Game"]
[Date "2005.06.19"]
[Time "10:22:29"]
[Round "Test"]
[White "White"]
[Black "Black"]
[Result "*"]
[Annotator "R. Scharnagl"]
[SetUp "1"]
[FEN "rnbnkqrb/pppppppp/8/8/8/8/PPPPPPPP/RNBNKQRB w KQkq - 0 1"]
1. h4 g6 2. g3 Bf6 3. a4 Qh6 4. Ra3 Bxh4 5. gxh4 Qxh4 6. Qh3 Qxh3 7. Rxh3 Ne6
8. Bf3 d6 9. Nbc3 Ng5 10. Rhh1 Bf5 11. O-O *


Rybka Aquarium NONE * S-FEN S-FEN S-FEN
Shredder 12 / Classic 4 S-FEN S-FEN S-FEN S-FEN
ChessBase 10 NONE * S-FEN S-FEN S-FEN
* (only FEN for classic Chess)
** (It cannot read in either format and return a "castling error")