PGN is "Portable Game Notation", a standard designed for the representation of chess game. 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. A PGN game is composed of two sections. The first is the tag pair section and the second is the movetext section. The tag pair section provides information that identifies the game by defining the values associated with a set of standard parameters. The movetext section gives the usually enumerated and possibly annotated moves of the game along with the concluding game termination marker.

[Event "?"] the name of the tournament or match event
[Site "?"] the location of the event
[Date "YYYY.MM.TT"] the starting date of the game
[Round "?"] the playing round ordinal of the game
[White "Smith, J"] the player of the white pieces
[Black "Doe, J"] the player of the black pieces
[Result "*"] the result of the game
Supplemental tag names
[ECO "C70"] ECO-Opening-Key (ECO = "Encyclopaedia of Chess Openings") This uses a string of either the form "XDD" or the form "XDD/DD" where the "X" is a letter from
"A" to "E" and the "D" positions are digits; this is used for an opening designation from the five
volume _Encyclopedia of Chess Openings_. This tag pair is associated with the use of the EPD
opcode "eco" described in a later section of this document.
[Annotator "Peters, F"] This tag uses a name or names in the format of the player name tags; this identifies the annotator
or annotators of the game.
[WhiteNA "????@??.com"] These tags use string values; these are the e-mail or network addresses of the players. A value of
"-" is used for a player without an electronic address.
[BlackNA "????@??.com"]  
[WhiteTitle "GM"] These use string values such as "FM", "IM", and "GM"; these tags are used only for the standard
abbreviations for FIDE titles. A value of "-" is used for an untitled player.
[BlackTitle "GM"]  
[WhiteType "Human"] These tags use string values; these describe the player types. The value "human" should be used
for a person while the value "program" should be used for algorithmic (computer) players.
[BlackType "Human"]  
[Opening "Ruy Lopez"] This uses a string; this is used for the traditional opening name. This will vary by locale. This tag
pair is associated with the use of the EPD opcode "v0" described in a later section of this
document.
[Variation "Morphy defence"] This uses a string; this is used to further refine the Opening tag. This will vary by locale. This tag
pair is associated with the use of the EPD opcode "v1" described in a later section of this
document.
[Subvariation "?"] This uses a string; this is used to further refine the Variation tag. This will vary by locale. This ta
pair is associated with the use of the EPD opcode "v2" described in a later section of this
document.
[Nic "RL 12"] This uses a string; this is used for an opening designation from the _New in Chess_ database. This
tag pair is associated with the use of the EPD opcode "nic" described in a later section of this
document.
[Termination "abandoned"] This takes a string that describes the reason for the conclusion of the game. While the Result tag
gives the result of the game, it does not provide any extra information and so the Termination tag
is defined for this purpose.
Strings that may appear as Termination tag values: "abandoned": abandoned game.
"adjudication": result due to third party adjudication process.
"death": losing player called to greater things, one hopes.
"emergency": game concluded due to unforeseen circumstances.
"normal": game terminated in a normal fashion.
"rules infraction": administrative forfeit due to losing player’s failure to observe either the
Laws of Chess or the event regulations.
"time forfeit": loss due to losing player’s failure to meet time control requirements.
"unterminated": game not terminated.
[Mode "ICS"] This uses a string that gives the playing mode of the game. Examples: "OTB" (over the board),
"PM" (paper mail), "EM" (electronic mail), "ICS" (Internet Chess Server), and "TC" (general
telecommunication).
[EventSponsor "CC Company"] This uses a string value giving the name of the sponsor of the event.
[Section "Open"] This uses a string; this is used for the playing section of a tournament (e.g., "Open" or "Reserve").
[Stage "Preliminary"] This uses a string; this is used for the stage of a multistage event (e.g., "Preliminary" or
"Semifinal"
[Board "2"] This uses an integer; this identifies the board number in a team event and also in a simultaneous
exhibition.
[WhiteUSCF "2710"] These tags use integer values; these are used for USCF (United States Chess Federation) ratings.
Similar tag names can be constructed for other rating agencies.
[BlackUSCF "2700"]  
[WhiteElo "2725"] These tags use integer values; these are used for FIDE Elo ratings. A value of "-" is used for an
unrated player.
[BlackElo "2735"]  
[EventDate "2012.02.020"] This uses a date value, similar to the Date tag field, that gives the starting date of the Event.
1.e4 e5 2.Nf3 Nc6 3.Bb5 a6 4.Ba4 Nf6 *