Python script to extract/backup savefiles out of Xbox Game Pass for PC games.
When run, the script produces a ZIP file for each supported game save found in the system.
In most cases the files in the ZIP can be copied to the save directory of the Steam/Epic version of the game. To find out the save file location, check PCGamingWiki.
Important
If you want the script to support another game, please open an issue here.
Check the incompatible game list below and search the issues for a duplicate before creating a new one.
If you migrate a save to Steam/Epic version that's listed with ❔ below, please open an issue and confirm whether it worked, so the table can be updated.
Legend: ✅ Confirmed working, ❔ Unconfirmed, - Not available in the store
Game | Tested w/ Steam | Tested w/ Epic |
---|---|---|
A Plague Tale: Requiem | ❔ | ❔ |
Arcade Paradise | ✅ | ❔ |
Atomic Heart | ✅ | - |
Celeste | ❔ | ❔ |
Chained Echoes | ❔ | ❔ |
Chorus | ✅ | ❔ |
Control | ❔ | ✅ |
Final Fantasy XV | ✅ | - |
Forza Horizon 5 | ✅ | - |
Fuga: Melodies of Steel 2 | ❔ | ❔ |
Hades | ❔ | ❔ |
High on Life | ✅ | ❔ |
Hi-Fi RUSH | ❔ | ❔ |
Just Cause 4 | ❔ | ❔ |
Lies of P | ✅ | - |
Like a Dragon Gaiden: The Man Who Erased His Name | ❔ | - |
Like a Dragon: Ishin! | ❔ | - |
Monster Train | ✅ | - |
Ninja Gaiden Sigma | ✅ | - |
Octopath Traveller | ❔ | ❔ |
Palworld | ✅ | - |
Persona 5 Royal | ✅ | - |
Persona 5 Tactica | ✅ | - |
Railway Empire 2 | ❔ | ❔ |
Remnant 2 | ✅ | ❔ |
Remnant: From the Ashes | ❔ | ❔ |
Starfield | ✅ | - |
State of Decay 2 | ❔ | ❔ |
Totally Accurate Battle Simulator | ✅ | - |
Wo Long: Fallen Dynasty | ❔ | - |
Yakuza 0 | ✅ | - |
Yakuza: Like a Dragon | ❔ | - |
These games use different save formats than the Steam/Epic version that can't be easily converted.
Game | Issue |
---|---|
Chivarly 2 | #39 |
Death's Door | #79 |
Forza Horizon 4 | #71 |
Persona 3 Reload | #114 |
Tinykin | #28 |
Important
If the save file extraction fails, wait for a bit and try again. The Xbox cloud save sync can take some time and produce invalid files while syncing is in progress.
Important
Some anti-virus/anti-malware software can flag the executable as malicious. The executable is produced with PyInstaller and contains the Python interpreter alongside with the same main.py
script as in this repo.
Download the latest release for an one-file executable: https://github.com/Z1ni/XGP-save-extractor/releases
Or
Run main.py
with Python 3.10+. The script produces ZIP files for each of the supported games that are installed for the current user.
Thanks to @snoozbuster for figuring out the container format at goatfungus/NMSSaveEditor#306.
Also thanks to everyone that has contributed by adding support for new games.