poka.sh

Docs

PGN

Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.

PGN Chess Preview.

At a glance

Purpose A Portable Game Notation file: one or more chess games, each with header tags and move text.
Extensions .pgn
Poka parser poka-pgn
Viewer poka-table-viewer
Depth tier Parser with a shared viewer (see Depth tiers)
Breadth tier B4 Summary (see Breadth tiers)

How much Poka reads

B4 Summary. The container and metadata are read and summarised (counts, properties, structure), but the main content is not rendered.

Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-26: read parsers/poka-pgn/src/main.rs (264 lines) and plugin.json. No unit tests or tests/samples.rs, and the corpus has no .pgn sample. Covers .pgn. The table gives one row per game with date, event, White, Black, result, move count and opening (or ECO), and a summary of results. Judgement: B4: the games are listed and counted but the moves are not shown.

What Poka does not read

  • The moves are not shown and no board is drawn
  • Comments, variations and annotations are skipped
  • Only Event, Site, Date, White, Black, Result, ECO and Opening are read; other tags (Round, ratings, TimeControl, FEN) are not, and Site is not shown
  • The move count is the highest move number, not checked against the moves
  • Only the first 1,000 games are listed; files over 64 MiB are cut without a flag

Libraries

Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.

  • pgn-reader (reference; GPL-3.0; Rust; https://github.com/niklasf/rust-pgn-reader) — copyleft; Fast streaming visitor-based PGN reader, no move validation; repo archived and merged into shakmaty. Copyleft licence.
  • python-chess (reference; GPL-3.0; Python; https://github.com/niklasf/python-chess) — copyleft; Reads and writes PGN including comments, NAGs and variations; copyleft licence.
  • pgn-to-aix (reference; GPL-3.0+; Rust; https://github.com/thomas-daniels/aix) — copyleft; Generates Aix-compatible Parquet file from PGN files of chess games; v0.1.1, updated 2026-02-04; matched on lib.rs, not tested
  • cgn (candidate; MIT; Rust; https://github.com/JadenStrudwick/cgn/) — A library for optimally compressing chess games in PGN format.; v0.1.5, updated 2024-09-28; matched on lib.rs, not tested
  • cgn-cli (candidate; MIT; Rust; https://github.com/JadenStrudwick/cgn-cli/) — A command-line tool for optimally compressing chess games in PGN format.; v0.1.3, updated 2024-09-28; matched on lib.rs, not tested
  • c2g (reference; GPL-3.0+; Rust; https://github.com/tomasfarias/c2g) — copyleft; Turn your chess PGN files into GIFs!; v0.9.0, updated 2024-05-09; matched on lib.rs, not tested

Sources

  • parsers/poka-pgn/src/main.rs
  • parsers/poka-pgn/plugin.json