可移植式棋局記號法

可移植式棋局記號法（，PGN），是一種用於紀錄國際象棋棋局的純文字檔案格式。PGN適合人類閱讀，多數的國際象棋軟體都有支援。

歷史
Steven J. Edwards在1993年左右發明了PGN格式，PGN後來在Usenet的新聞群組「rec.games.chess」中受到詳細制定及推廣。

使用
PGN的副檔名是.pgn。PGN的規範風格是為了「使人類能簡易地閱讀和書寫，也讓電腦能簡易地解析和產生」，PGN中的棋譜以代數記譜法表示。

PGN對程式規範了輸入和輸出兩種格式。輸入格式被刻意規定得比較寬鬆，方便人類手動輸入，支援PGN的程式需具備一些容錯能力；輸出格式被定義得相對嚴格，程式需美化輸出文字以便閱讀。對於相同的輸入，不同程式所輸出的PGN應完全相同。

PGN文件以數個「標籤對」（包含標籤名稱和對應參數）開頭，之後是棋局的棋譜區塊「movetext」（包含代數棋譜和可選填的註解）。

標籤對
一個標籤對（tag pair）以[開頭，之後是標籤名稱，然後是以雙引號（"）框起的對應參數，最後以]結尾。若要在參數中使用引號和反斜線，需在前面加上反斜線作為跳脫字元，此跳脫字元不作其他的控制用途。

七個必填的標籤對
為了歸檔保存，一個PGN文件必須要有七種標籤對，此七種標籤對被人合稱為「Seven Tag Roster」。在輸出格式中，這七個標籤對需擺在所有的標籤對前面，並遵照以下順序出現：

選填的標籤對
以下為一些較常見的可選標籤對：

棋譜區塊
棋譜區塊（movetext）紀錄的是棋手對弈的過程。其包括步數編號、行棋方指示（以一個句點「.」表示此步為白方行棋；三個句點表示黑方），以及用代數記譜法描述的棋子移動。

代數棋譜

註解
在一行文字的前方加上分號（;），可使其成為單行註解；跨行的註解需以花括號（{、}）包圍兩側。

範例
以下PGN檔案記錄著在南斯拉夫舉行的的第29場棋局。由鮑比·菲舍爾執白，對決鮑里斯·斯帕斯基：

應用於國際象棋變體
許多國際象棋變體都能以PGN格式記錄，但是要把每種棋子的簡稱都限制在一個字內。這種PGN中通常會包含一個變體（variant）標籤，用來描述變體的名稱。FEN標籤可用於設定各棋子的起始位置，有些變體如菲舍爾任意制象棋會有特別的起始位置。

參見
 福斯夫－愛德華茲記號法（FEN）
 
 （PDN）
 （一種圍棋的記錄格式）

參考文獻

国际象棋
文件格式
1993年面世