0: Preface 1: Introduction 2: Chess data representation 2.1: Data interchange incompatibility 2.2: Specification goals 2.3: A sample PGN game 3: Formats: import and export 3.1: Import format allows for manually prepared data 3.2: Export format used for program generated output 4: Lexicographical issues 4.1: Character codes 4.2: Tab characters 4.3: Line lengths 5: Commentary 6: Escape mechanism 7: Tokens 8: Parsing games 8.1: Tag pair section 8.2: Movetext section 9: Supplemental tag names 9.1: Player related information 9.2: Event related information 9.3: Opening information (locale specific) 9.4: Opening information (third party vendors) 9.5: Time and date related information 9.6: Time control 9.7: Alternative starting positions 9.8: Game conclusion 9.9: Miscellaneous 10: Numeric Annotation Glyphs 11: File names and directories 11.1: File name suffix for PGN data 11.2: File name formation for PGN data for a specific player 11.3: File name formation for PGN data for a specific event 11.4: File name formation for PGN data for chronologically ordered games 11.5: Suggested directory tree organization 12: PGN collating sequence 13: PGN software 14: PGN data archives 15: International Olympic Committee country codes 16: Additional chess data standards 16.1: FEN 16.2: EPD 17: Alternative chesspiece identifier letters 18: Formal syntax 19: Canonical chess position hash coding 20: Binary representation (PGC) 21: E-mail correspondence usage