PKVault is a Pokémon storage & save manipulation tool based on PKHeX. Similar to Pokémon Home, offline as online.
| PKVault.exe | pkvault.flatpak pkvault.AppImage pkvault.deb pkvault.linux |
pkvault.flatpak | ghcr.io/chnapy/pkvault |
- Storage & save manipulation
- compatible with all pokémon games, from first generation to Pokémon Legends: Z-A
- move pokémons between saves
- convert pokémon to any generation (ex. G7 to G2)
- store pokémons outside saves using banks & boxes
- allow use of multiple "variants" for stored pokémons
- move/delete actions
- edit pokémon moves, EVs & nickname
- evolve pokémons requiring trade or trade + held-item (ex. Kadabra -> Alakazam)
- link a save pokémon with all his variants, sharing data like exp & EVs
- use of external PKM files, outside PKVault environment
- backup all saves & storage before any save action
- backups listing
- backups restore always possible
- Centralized Pokédex based on all listed saves
- views with forms & genders
- multiple filters: species name, seen/caught/owned/shiny/alpha, types, ...
- possible living dex
- possible shiny dex
- Dynamic saves listing based on paths & globs
- Dark mode & sprite sizing
You can find all executables in releases page.
On Windows, just use PKVault.exe.
On Linux & SteamDeck, it's recommanded to get PKVault from Flathub:
Otherwise there is plenty of Linux executables in releases page.
PKVault can be added to Steam as a non-steam game. This is especially useful for SteamDeck, allowing to run the app in gaming mode.
Here are the steps to add the app in Steam, and customize with icons, covers etc:
- SteamDeck only: first ensure to be in desktop mode
- Add PKVault as non-Steam game
- Add icon, logo, covers, background:
- Download & extract steam-customize.zip
- Find PKVault in your library, right-click -> "Properties"
- In "Shortcut" tab:
- Click on empty icon at the very start, then select
steam-customize/icon.png
- Click on empty icon at the very start, then select
- In "Customization" tab, select for each form step:
- Cover ->
steam-customize/cover.png - Background ->
steam-customize/background.png - Logo ->
steam-customize/logo.png - Wide cover ->
steam-customize/cover-big.png
- Cover ->
Check below.
You can use a plug'n'play docker image, compatible Linux x86_64 and Linux ARM (like Raspberry Pis).
docker-compose.yml example:
services:
pkvault:
image: ghcr.io/chnapy/pkvault:latest # or specific version, like 1.5.1
restart: unless-stopped
ports:
- "3000:3000"
environment:
- LOG_FILE_COUNT_LIMIT=10 # removes extra log files, default: 10
- BACKUP_FILE_COUNT_LIMIT=30 # removes extra backup files, default: no limit
volumes:
- ./path/to/pkvault/data:/pkvault
# save paths sample
- ./path/to/saves:/data/saves
- ./path/to/other/saves:/data/other-saves
# external-pkms path sample (optional)
- ./path/to/external-pkms:/data/external-pkmsNote: with this config sample, you can use in PKVault settings:
- Saves files locations:
- /data/saves/ (or any subpath)
- /data/other-saves/ (or any subpath)
- External PKM files locations:
- /data/external-pkms/ (or any subpath)
Perfect for homelab context.
Or using basic docker run:
docker run \
-p 3000:3000 \
-v ./path/to/pkvault/data:/pkvault \
-v ./path/to/saves:/data/saves \
ghcr.io/chnapy/pkvault:latest
You may want to synchronize PKVault data between your devices, keeping your saves up-to-date everywhere, avoiding need of copy/paste and others manual actions.
PKVault is made to work 100% offline, and online features are considered out of project scope. It is recommanded to use instead third-party solutions.
syncthing works really well, whether for desktop or Docker. Other known solutions may be adapted too, like Dropbox, Onedrive, etc. Choose following your needs.
Includes quick start.
This app (PKVault) is licensed under GPLv3 terms, as described in file LICENSE. Your can use this app for your own projects following license restrictions.
-
Backend / Desktop
- PKHeX (Core part) - License GPLv3
- Versions & all others dependencies can be found into
*.csprojfiles
-
Frontend
- Font "Pixel Operator" - from onlinewebfonts - License CC BY 4.0
- Icons "Input prompts" - from Kenney - License CC0
- Versions & all others dependencies can be found into frontend/package.json.
All image contents of game-icons, pokémons, types, items, move-categories are Copyright The Pokémon Company.






