What is the PKM file format?
Files with the .pkm extension belong to the category of Pokemon save-editing files. They store data for a single individual Pokemon - not a full game save, but a self-contained record of one creature exported from Generation IV or V titles such as *Pokemon Diamond*, *Pearl*, *Platinum*, *HeartGold*, *SoulSilver*, *Black*, and *White*. Both Diamond and Pearl were released in 2006 for the Nintendo DS portable consoles. A .pkm file captures a Pokemon's species, level, moves, IVs, EVs, Original Trainer info, and held item in a compact fixed-size binary record.
.pkm files can be copied to the hard drives of computers running Windows. Dedicated software called Pokesav enabled editing of .pkm file contents. Enthusiasts of Pokemon Diamond and Pokemon Pearl could manually modify a Pokemon's stats, moves, and attributes, significantly affecting its performance in battle. Modified .pkm files were often shared on community sites, where game enthusiasts exchange their Pokemon - a tradition that continues with tools like PKHeX.
Pokesav is no longer actively developed. PKHeX, an open-source editor maintained by Kaphotics at projectpokemon.org, has been the community standard since around 2014. PKHeX uses generation-specific extensions - .pk4 for Gen IV and .pk5 for Gen V - to avoid ambiguity, but still reads and exports the legacy .pkm format for compatibility. A .pkm file represents exactly one Pokemon; for a complete game save, .sav files are the appropriate format.
Security & safety
RISK: LOW.pkm files are small passive binary data records - they cannot execute and pose no security risk. Caution: .pkm files distributed online may represent hacked/illegitimate Pokemon (invalid movesets, impossible stats, or wrong checksums that cause 'bad eggs'). Injecting bad data into a game save can corrupt the save file. Always verify .pkm files in PKHeX before injecting into a save.
Format details
in a nutshell- Pakken Package File (Norwegian archiver) - Obscure old archiver 'Pakken' used .pkm as its compressed archive extension; unrelated to Pokemon and extremely rare.
Programs that open PKM files
Technical details
deep spec| Record size | 136 bytes (Gen IV box), 220 bytes (Gen V box), 236 bytes (Gen IV/V party slot) |
| Data encryption | XOR-encrypted using the Pokemon's personality value (PID) and Trainer ID; blocks shuffled into one of 24 orderings based on PID % 24 |
| Block structure (Gen IV) | Four 32-byte blocks (A/B/C/D): A = species, item, OT, EXP; B = 4 moves + PP; C = OT name, met location; D = IVs, EVs, ribbons, markings |
| Integrity check | 16-bit checksum at offset 0x06 over decrypted block data; mismatch causes the Pokemon to become a 'bad egg' in-game |
| Byte order | Little-endian |
| Container | None - raw fixed-size binary struct with no wrapper or file header |
| Party vs. box layout | Box format stores species/metadata only; party format (236 bytes) appends calculated battle stats (HP, Atk, Def, Spe, SpA, SpD) and status condition |
| Identification method | Identified by fixed byte size (136, 220, or 236 bytes) and generation context; no magic bytes or header signature |
| Generation coverage | Gen IV (Diamond, Pearl, Platinum, HeartGold, SoulSilver) and Gen V (Black, White, Black 2, White 2) |
| Modern equivalents | .pk4 (Gen IV) and .pk5 (Gen V) - generation-specific extensions used by PKHeX for disambiguation |
| Platform | Nintendo DS/DSi hardware; Windows PC via PKHeX (.NET) or legacy Pokesav |
| Creator tools | Pokesav (~2008-2013, legacy); PKHeX by Kaphotics (2014-present, open-source community standard) |
| Released | ~2008 (Pokesav era, Gen IV - Pokemon Diamond/Pearl/Platinum) |
| Latest version | Superseded by generation-specific variants: .pk4, .pk5, .pk6, .pk7, .pk8, .pk9 (Gen IV-IX); .pkm is the legacy Gen IV/V generic extension |
| Specification | projectpokemon.org |
PKM conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about PKM files.