(Update 2025/09/26: Downloads for Windows and Linux are now officially available)
Download link: https://codeberg.org/ramenu/pkedit-qt/releases
Hi everyone,
I've been working on a Pokemon save file editor particularly for ROM hacks, but it supports all the vanilla gen 3 Pokemon games at the moment. I plan on adding more. It also supports Unbound. And I plan to add more ROM hacks once I finish playing Unbound and add tests for the library.
You can find the source code and some examples on usage on the Git repository:
https://codeberg.org/ramenu/pkedit
It's written in C++ but has bindings for Python which makes it very very simple and a lot more different than typical save file editors. Basically, you can easily read and write compatible save files with very few lines of Python code. So, for example, say you're trying to hunt for Pokemon with good IVs, you can make a Python script, open up a terminal on UNIX in a split screen and use the watch command on UNIX to instantly check the Pokemon's stats (or whatever the alternative on Windows is) rather than manually opening the save in a GUI and such. This is just one example and you can do a lot more with it, of course.
An example of this in Python:
import pkedit
sav = pkedit.Save.load('Pokemon Unbound.sav')
pkmn = sav.trainer.party()[2]
print(f'HP IV: {pkmn.hp_iv()}')
print(f'Attack IV: {pkmn.attack_iv()}')
print(f'Defense IV: {pkmn.defense_iv()}')
# ...
If you're less interested in the scripting/programming stuff, there is also a GUI I wrote in QT so it is cross-platform and works on Windows, MacOS, Linux, and probably other *Nix operating systems. It's a little buggy but it works well enough, the bugs usually come up when you open another save file:
https://codeberg.org/ramenu/pkedit-qt
No downloads available atm. But if you're knowledgable enough you should be able to build and compile it yourself. Again, I hope to expand the documentation later on and provide binaries if people request it. I plan on writing a 3DS homebrew app as well. Here are a few screenshots:
You can edit the greyed out boxes by enabling the 'Allow Potentially Illegal Modifications' in the options menu. It's disabled by default.
Current Limitations
You cannot inject events, transfer Pokemon between different Games, or view Pokemon in your box. I plan to add viewing box Pokemon at some point as well though. But PKHeX and PKSM work well enough for these purposes for most users.
If you have any ROM hacks you want me to add feel free to ask. Though NDS rom hacks are going to be dismissed for now as I don't even have any abstractions setup in place, let alone the regular gen 4 games as of right now.