全部文章
    记谱法

    PGN 是什么?国际象棋棋谱格式详解

    作者: ScanChess Editorial Team1 分钟阅读English
    PGN 是什么?国际象棋棋谱格式详解的流程示意图

    如果你下载过一盘棋、从某个 App 导出过对局,或者教练甩给你一个 .pgn 文件,那你已经和 Portable Game Notation 打过照面了。PGN 是数字象棋世界的通用语:一种纯文本格式,把一盘棋的全部信息——谁下的、在哪下的、走到第几步、结果如何——存成几乎所有象棋软件都能读懂的样子。本文讲清 PGN 里到底装了什么、它为什么成了事实标准,以及怎么打开或导入一个 PGN。

    一个 PGN 长什么样

    [Event "City Open"]
    [Site "Shanghai CHN"]
    [Date "2026.03.14"]
    [Round "5"]
    [White "Li, Wei"]
    [Black "Ivanova, Anna"]
    [Result "1-0"]
    
    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 1-0
    

    两部分:上面方括号里的是标签区,下面是着法正文。中间必须空一行,这一点比看上去重要——很多"PGN 打不开"的问题就出在这里。

    七项标准标签

    PGN 规范定义了七个必备标签,顺序也是固定的:

    标签 含义
    Event 赛事名称
    Site 比赛地点
    Date 日期,格式为 YYYY.MM.DD
    Round 轮次
    White 白方姓名,写作「姓, 名」
    Black 黑方姓名
    Result 结果:1-00-11/2-1/2*(未结束)

    不知道的信息用 ? 占位,日期里不确定的部分用 ????.??.??。空着不写,某些解析器会直接报错。

    除这七项之外还可以加任意标签,常见的有 ECO(开局编码)、WhiteElo / BlackEloTimeControlFEN(用于从非初始局面开始的对局)。

    着法正文

    着法用标准代数记谱法(SAN)书写:Nf3 表示马走到 f3,exd5 表示 e 线兵吃到 d5,O-O 是短易位,O-O-O 是长易位。将军写 +,将死写 #,兵升变写成 e8=Q

    回合号后面跟一个点表示白方走子(1. e4),跟三个点表示从黑方接续(1... e5),后者在只给出局部片段时会用到。

    正文里还可以带注释:花括号 {} 里是文字评注,圆括号 () 里是变着,$1$2 这类数字注解等价于 !? 这些符号。最后必须以结果收尾,且要与标签区的 Result 一致。

    为什么是 PGN 赢了

    PGN 在 1994 年由 Steven J. Edwards 提出,它胜出的原因不复杂:它是人能直接读的纯文本。你可以用记事本打开、用邮件发送、粘贴进论坛、存进 Git 仓库,二十年后依然能读。二进制格式做不到这一点。

    今天 Lichess、Chess.com、ChessBase、SCID、几乎所有引擎和数据库都原生支持 PGN。它也是你把对局从一个平台搬到另一个平台的唯一可靠通道。

    怎么打开一个 .pgn 文件

    Lichess:打开 lichess.org/paste,把 PGN 文本粘进去,点 Import game。得到的对局链接可以直接用引擎分析,也可以存进个人 Study。

    Chess.com:Learn → Analysis,点左下角的 PGN 标签,粘贴后回车。

    桌面软件:ChessBase、SCID vs PC、Arena 都可以直接用「打开文件」。

    纯文本编辑器.pgn 本质就是 .txt,记事本、VS Code 都能打开看内容——排查格式问题时这招最快。

    常见的坑

    • 标签区和着法之间少了空行——最常见的解析失败原因。
    • 智能引号。从 Word 里粘出来的 " 会变成 “ ”,解析器不认。
    • 日期写成 2026-03-14。PGN 用点分隔:2026.03.14
    • 结果缺失。着法正文末尾必须有 1-0 这类结果标记。
    • 一个文件里放了多盘棋是合法的,两盘之间空一行即可。

    从纸质记谱单到 PGN

    如果你的棋谱还在纸上,ScanChess 可以把记谱单照片直接转成 PGN:上传照片,AI 识别着法,非法着法会被标出来,点击旁边的铅笔按钮即可修改,然后一键导出。之后要导入 Lichess 或 Chess.com,参考 导入 PGN 到 Lichess导入 PGN 到 Chess.com

    几秒内把你的棋谱变成 PGN

    上传一张照片,让 ScanChess 完成转录。

    扫描你的棋谱

    继续阅读