Game Save Editor for RPG Maker & Ren'Py
Most games store a save as structured data, only the wrapper differs. RPG Maker MV and MZ compress .rpgsave and .rmmzsave files with zlib, some engines use gzip, and Ren'Py writes the whole game state as a Python pickle. This tool strips those layers so you get a readable tree of keys instead of an unreadable blob. Drop the file in, the format is detected automatically, and every value becomes an editable text field; an edit lands in the data immediately and the value type (number, boolean, string, null) is preserved. The search box filters branches by key name or by value, + creates a new key, and ✕ removes a key or a whole branch. When you want the whole document instead, the raw JSON mode shows it with an apply button. Export re-encodes the data with the original wrapper, zlib, gzip or base64, so the game can read it back. One limit is worth knowing up front: a Python pickle and a Godot .cfg cannot be rebuilt byte for byte in a browser, so those two are handed back as JSON (the pickle under an .edited.json name) and your original save is left untouched. Everything runs in the browser, the file is never uploaded, and a pickle is parsed, never executed.
This tool runs entirely in your browser. No data is sent to any server.
How to use it
- 1
Back up your save file first, then drop it into the box (or click to pick it from your computer).
- 2
Check the detected format at the top and edit values in the tree; use search to jump straight to the key you want.
- 3
Press export, download the new file and put it back into the game’s save folder under the original name.
Frequently asked questions
Which formats are detected?
Plain JSON, zlib-compressed JSON (RPG Maker MV and MZ saves), gzip, a Ren'Py pickle either raw or inside zlib, a Unity Easy Save 3 file (whose value/type wrapper is unwrapped), a Godot .cfg, and any of those wrapped in base64. JSON that appears after a few lines of engine header is found too.
Why did my Ren'Py save come back as JSON instead of the original file?
Because a pickle is Python’s serialization format and cannot be rebuilt exactly in a browser without the Python runtime. Rather than hand you a file the game would refuse to load, the edited data is exported as JSON with a .edited.json name, so your original save stays intact.
Is editing a save file risky?
Two risks. If you change the wrong value you can break your progress, so always keep a backup. And in online games, or games that sync saves with a server, tampering with a save breaks the rules and can get the account banned. Encrypted saves are not detected at all and show the unrecognized-format message.