free site statistics
Documentation Hub

PKHeX Guides & Usage Manual

Comprehensive instructions for file format support, Showdown set imports, cross-generation transfers, database filtering, and Batch Editor scripting.

1. Supported File & Entity Formats

PKHeX automatically detects save files and individual Pokémon data based on header signatures. Reference the matrix below for compatible file extensions across all core generations.

Category Supported File Extensions Target Games / Consoles
Save Files main .sav .dsv .dat .gci Gen 1-9 (GB, GBA, NDS, 3DS, Switch, GC)
Gen 9 Entities .pk9 .pb9 Scarlet & Violet, Legends: Z-A
Gen 8 Entities .pk8 .pb8 .pa8 Sword & Shield, BDSP, Legends: Arceus
Gen 6-7 Entities .pk7 .pk6 .wc7 .wc6 X/Y, ORAS, Sun/Moon, Ultra Sun/Ultra Moon
Gen 1-5 Entities .pk5 .pk4 .pk3 .pkm .ck3 .xk3 Classic Game Boy, GBA, NDS, Colosseum, XD

2. Pokémon Showdown Text Sets

PKHeX natively converts text-formatted competitive sets into fully populated Pokémon structures and vice versa.

Action Keyboard Shortcut Function Description
Import Set CTRL + T Loads the Showdown set from clipboard into the active editor tab.
Export Set CTRL + C (on preview) Copies the loaded Pokémon data to clipboard in Showdown text format.
Import Full Team CTRL + SHIFT + T Imports multiple Showdown sets sequentially into empty box slots.
Set Legality Check ALT + Click (Checkmark) Opens a detailed breakdown of move, origin, and ball legality rules.

3. Cross-Generation Save Transfers

Transfer Pokémon forward across generations directly inside PKHeX without needing official transfer apps or hardware bridges.

1
Open Target Save: Launch PKHeX and open your destination save file (e.g., a Gen 9 Scarlet/Violet main save).
2
Drag-and-Drop Entities: Drag individual entity files (.pk3, .pk5, .pk8) or an entire older save file into the PC Box view.
3
Automatic Format Up-Conversion: PKHeX converts data structures into the target format, remapping movesets, adding default metadata, and assigning appropriate origin tracking markers.

4. Batch Editor Scripting

Modify dozens or hundreds of Pokémon simultaneously using script operations under Tools → Data → Batch Editor.

// Example 1: Set Trainer Name (OT) to “Ash” for all Box Pokémon
.OT_Name=Ash

// Example 2: Maximize IVs for Shiny Pokémon only
.IV_31=31 !IsShiny=true

// Example 3: Change Tera Type to Stellar on Gen 9 boxes
.TeraType=18 $Box=1..32