全部文章
    记谱法

    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-0、0-1、1/2-1/2 或 *(未结束)

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

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

    着法正文

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

    人们说“PGN 记谱”时,通常指的就是这部分:SAN 着法,白方着法前面带回合号。回合号后面跟一个点表示白方走子(1. e4);黑方的着法如果跟在评注或变着之后,就写成三个点接续,比如 12... Nf6,这样读的人永远不会搞不清轮到谁走。只给出局部片段时也用这种写法。

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

    为什么是 PGN 赢了

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

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

    怎么打开一个 .pgn 文件

    想直接在棋盘上回放,可以使用免费的 ScanChess PGN 查看器,内容只在浏览器本地解析。

    Windows 可用记事本查看原文;macOS 可用文本编辑打开;iPhone / iPad 可先把附件存入“文件”,再复制到支持 PGN 的棋类 App 或网页;Android 可用文本编辑器查看,或粘贴到支持 PGN 的网页和 App。

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

    Chess.com:打开分析页 chess.com/analysis,找到“载入 PGN(Load PGN)”面板粘贴。Chess.com 界面经常改版,面板位置以实际为准。

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

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

    PGN 文件加载不了怎么办

    绝大多数导入失败都出在少数几个问题上,知道往哪儿看,一眼就能发现:

    • 一步非法着法。 只要打错一步,比如写了 Nf6,而根本没有哪个马能走到 f6,所有解析器都会停在这里。这步改好之前,后面的着法全部丢失。
    • 标签里用了弯引号(智能引号)。 标签值必须放在直双引号之间。从 Word 或微信里粘出来的 " 会变成 “ ”,标签区就坏了。
    • 花括号或括号没配对。 用 { 开了一段评注却没关上,或者变着少了 ),后面整盘棋都会被吞掉。
    • 少了空行或结果。 解析器要求标签区和着法之间有一个空行,着法正文末尾要有结果标记(1-0、0-1、1/2-1/2 或 *)。
    • 易位写成了数字 0。 严格的 SAN 用字母 O 写易位(O-O)。很多软件也接受 0-0,但不是全部。
    • 日期写成 2026-03-14。 PGN 用点分隔:2026.03.14。

    另外,一个文件里放多盘棋是合法的,两盘之间空一行即可。

    免费的 PGN 校验工具会逐步重放对局,指出第一步不合法的着法,并顺手清理常见的格式小错,棋谱不需要上传。想进一步了解怎么把纸上的对局变成这种格式,见手写记谱单转 PGN和我们的记谱单转 PGN 解决方案。

    PGN 和 FEN:整盘对局 vs 单个局面

    PGN 记录的是从开局一路下完的整盘棋。它的对照物是 FEN(Forsyth-Edwards Notation):用一行文本描述一个局面——棋子位置、轮到谁走、易位权等等。可以把 PGN 想成整部电影,FEN 想成一张定格画面。两者经常一起用:PGN 可以带一个 [FEN "..."] 标签,表示这盘棋不是从标准开局开始的(习题、残局研究常用)。六个 FEN 字段的细节见 FEN 是什么。

    能直接处理 PGN 的免费工具

    有了 .pgn 之后,可以继续用 ScanChess 浏览器里的这些工具,棋谱不会上传:

    • PGN 查看器 — 逐步回放,任意局面可复制成 FEN。
    • PGN 校验 — 指出第一步非法着法,并下载清理后的七标签文件。
    • PGN 转 PDF — 排成可打印的棋谱页,可按需插入示意图。
    • PGN 转 GIF — 把亮点做成短动图,方便发聊天或社交。

    从纸质记谱单到 PGN

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

    几秒内把你的棋谱变成 PGN

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

    开始扫描记谱单

    继续阅读