PGN is 'Portable Game Notation' a standard designed for the representation of
chess game data using ASCII text files. More details than those contained in
this help file can be found at the SAN Kit Homepage.
PGN is structured for easy reading and writing by human users and for easy
parsing and generation by computer programs. The intent of the definition and
propagation of PGN is to facilitate the sharing of public domain chess game
data among chessplayers (both organic and otherwise), publishers, and
computer chess researchers throughout the world.
PGN is not intended to be a general purpose standard that is suitable for
every possible use; no such standard could fill all conceivable requirements.
Instead, PGN is proposed as a universal portable representation for data
interchange. The idea is to allow the construction of a family of chess
applications that can quickly and easily process chess game data using PGN
for import and export among themselves.
A specification for a portable game notation must observe the lessons of
history and be able to handle probable needs of the future. The design
criteria for PGN were selected to meet these needs. These criteria include:
1. The details of the system must be publicly available and free of
unnecessary complexity. Ideally, if the documentation is not available
for some reason, typical chess software developers and users should be
able to understand most of the data without the need for third party
2. The details of the system must be non-proprietary so that users and
software developers are unrestricted by concerns about infringing on
intellectual property rights. The idea is to let chess programmers
compete in a free market where customers may choose software based on
their real needs and not based on artificial requirements created by a
secret data format.
3. The system must work for a variety of programs. The format should be such
that it can be used by chess database programs, chess publishing
programs, chess server programs, and chessplaying programs without being
unnecessarily specific to any particular application class.
4. The system must be easily expandable and scalable. The expansion ability
must include handling data items that may not exist currently but could
be expected to emerge in the future. (Examples: new opening
classifications and new country names.) The system should be scalable in
that it must not have any arbitrary restrictions concerning the quantity
of stored data. Also, planned modes of expansion should either preserve
earlier databases or at least allow for their automatic conversion.
5. The system must be international. Chess software users are found in many
countries and the system should be free of difficulties caused by
conventions local to a given region.
6. Finally, the system should handle the same kinds and amounts of data that
are already handled by existing chess software and by print media.
A SAMPLE PGN GAME
Although its description may seem rather lengthy, PGN is actually fairly
simple. A sample PGN game is:
[Event "F/S Return Match"]
[Site "Belgrade, Serbia JUG"]
[White "Fischer, Robert J."]
[Black "Spassky, Boris V."]
1. e4 e5 2. Nf3 Nc6 3. Bb5 a6 4. Ba4 Nf6 5. O-O Be7 6. Re1 b5 7. Bb3 d6 8. c3
O-O 9. h3 Nb8 10. d4 Nbd7 11. c4 c6 12. cxb5 axb5 13. Nc3 Bb7 14. Bg5 b4 15.
Nb1 h6 16. Bh4 c5 17. dxe5 Nxe4 18. Bxe7 Qxe7 19. exd6 Qf6 20. Nbd2 Nxd6 21.
Nc4 Nxc4 22. Bxc4 Nb6 23. Ne5 Rae8 24. Bxf7+ Rxf7 25. Nxf7 Rxe1+ 26. Qxe1 Kxf7
27. Qe3 Qg5 28. Qxg5 hxg5 29. b3 Ke6 30. a3 Kd6 31. axb4 cxb4 32. Ra5 Nd5 33.
f3 Bc8 34. Kf2 Bf5 35. Ra7 g6 36. Ra6+ Kc5 37. Ke1 Nf4 38. g3 Nxh3 39. Kd2 Kb5
40. Rd6 Kc5 41. Ra6 Nf2 42. g4 Bd3 43. Re6 1/2-1/2
This help file is extracted from the 'SAN Kit STANDARD' document.
Created: 7 February 2004 MAd