Skip to main content

PKM Format Overview

PKHeX.Core supports all Pokémon data formats from Generation 1 through Generation 9. Each generation has specific format classes that handle the binary structure of Pokémon data.

Format Evolution

Pokémon data structures have evolved significantly across generations:
  • Gen 1-2: Simple structures with basic stats, moves, and trainer data
  • Gen 3-5: Introduction of abilities, natures, and expanded data
  • Gen 6-7: Added memories, affection, and Super Training
  • Gen 8: Introduced Dynamax, Gigantamax, and expanded ribbons
  • Gen 9: Added Terastallization and updated battle mechanics

Supported Formats

FormatGenerationGamesSize (Stored)Size (Party)
PK11RBY33 bytes44 bytes
PK22GSC32 bytes48 bytes
PK33RSE, FRLG80 bytes100 bytes
PK44DPPt, HGSS136 bytes236 bytes
PK55BW, B2W2136 bytes220 bytes
PK66XY, ORAS232 bytes (0xE8)260 bytes (0x104)
PK77SM, USUM232 bytes (0xE8)260 bytes (0x104)
PK88SwSh328 bytes (0x148)344 bytes (0x158)
PA88Legends: Arceus360 bytes (0x168)376 bytes (0x178)
PB88BDSP328 bytes (0x148)344 bytes (0x158)
PK99SV328 bytes (0x148)344 bytes (0x158)
PA99Z-A328 bytes (0x148)344 bytes (0x158)

Key Concepts

Stored vs Party Format

Each format has two sizes:
  • SIZE_STORED: Minimal data stored in PC boxes
  • SIZE_PARTY: Extended data including current stats for active party members

Data Encryption

Starting from Generation 3, Pokémon data is encrypted using various algorithms:
  • Gen 3-5: Block shuffle encryption based on PID
  • Gen 6+: Block shuffle encryption based on Encryption Constant

Format Conversion

PKHeX supports forward conversion between formats:
  • PK1 → PK2 → PK7 (via Virtual Console)
  • PK3 → PK4 → PK5 → PK6 → PK7 → PK8 → PK9
  • Conversion is generally one-way and may involve data transformation

Common Properties

All PKM formats share these base properties:
  • Species ID
  • Level and Experience
  • Stats (HP, Attack, Defense, etc.)
  • Moves and PP
  • Trainer ID (TID/SID)
  • Original Trainer Name
  • Nature/Characteristic

See Also

Build docs developers (and LLMs) love