# GPSaveConverter: moving save files between the Xbox app and other storefronts

> GPSaveConverter is a C# tool for the awkward case where a game was bought through PC Game Pass or the Xbox app and you now own it elsewhere, and the two stores keep their saves in completely different layouts. It detects installed Microsoft Store packages, then copies and translates between the two save locations.

**Fr33dan/GPSaveConverter** — Utility to transfer save files between the games installed from the Xbox app and other storefronts. https://ko-fi.com/fr33dan

- Repository: https://github.com/Fr33dan/GPSaveConverter
- Stars: 633 · Forks: 55
- Language: C#
- License: GPL-3.0
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/fr33dan-gpsaveconverter

## The problem is that two stores lay out the same save data differently

The README's opening explains the motivation in a way that will be familiar to anyone who has hit this. Games available through PC Game Pass or purchased via the Xbox app keep their save files in an arbitrary file structure, which means that if you purchase a game on another storefront, moving your save files to or from the Xbox version is extremely difficult. The tool exists to make that process easy. That framing matters, because it is not a general backup utility and not a mod manager. It is a translator for one specific problem, and the whole design follows from that. The saves are not in the same place, they are not always in the same shape, and the two stores may disagree about how many save slots a player has. A file copy is not enough, and that is the gap the converter fills.

## Games are found by looking for the wgs folder

Discovery works by enumerating installed Microsoft Store packages rather than by querying the Xbox app. The README says the tool finds games by listing any Microsoft Store package that has a wgs folder, which is believed to stand for Windows Game Save. The word believed in that parenthetical is the tool's own uncertainty about what the folder means, and it comes with a caveat the author states plainly: this means some non-game applications may be shown in the list. That is a real annoyance for a user with a large installed library, since a package that keeps a wgs folder for something unrelated will appear alongside the games, and the user has to tell them apart. It also means the tool can find a game the author has never heard of, which is the more useful half of the behaviour, because the detection is structural rather than a hard-coded list of known titles.

## A small library of known save locations, and manual selection when it falls short

For the non-Xbox side, the tool carries what the README calls an extremely small, as of now, game library that contains the locations of non-Xbox save files. Small is the operative word, and it defines the boundary of the tool. The library maps known games to the folder where their saves live, so those can be transferred without configuration. Some other game storefronts and save systems support multiple profiles, and where that is the case the profiles are shown to you by the file name that identifies them, which is the mechanism for telling several profiles apart. If your game is not in the library, you are prompted to select the location manually when you pick a package. So the tool degrades to a guided manual copy for anything it does not know, which is a reasonable trade for a small library, and the alternative would be a config file per game that most users would never fill in.

## Backups arrived in 0.4.12, and older versions need your own

The version history of this tool matters more than usual because the tool writes to your save folders. From version 0.4.12, the application backs up what a transfer is about to change, and a File, then Backups menu item puts it back. With an older version, the README says it is strongly recommended that you back up both save file folders before using it. That recommendation is not a formality. A transfer overwrites the destination save, and if the conversion is wrong for your game, the original progress is gone. The backup feature was added in response to that. The release history shows the pace since: v.0.4.17 on 2026-10-18, v.0.4.16 on 2026-10-17 and v.0.4.15 on 2026-10-15, with the last push on 2026-10-21.

## Unknown games need a custom file translation

The README explains what happens when a game is not in the library and cannot simply be pointed at a folder. A custom file translation must be created. The documentation links a video that walks through the process of file translations and how to create them, and the author credits Garen Thomas with a video covering the same ground for Forza Horizon 5, noting that the version used there is older and buggier but may still help anyone who is struggling with how the tool works. A file translation is the mapping between the Xbox save structure and the other store's structure, so it encodes the knowledge of where the progress actually lives inside two different containers. That is why the tool links videos rather than documenting the format: the mapping is per game, and the fastest way to learn it is to watch someone build one.

## A Windows desktop application with a test project and a tools folder

The repository layout is that of a C# desktop application built in Visual Studio, with a GPSaveConverter.sln solution file and a matching .sln.DotSettings file for the shared editor settings, a GPSaveConverter project holding the application, a separate GPSaveConverter.Tests project, a global.json pinning the SDK version, and a tools directory. The tests project being present is worth noting in a project whose main risk is destructive file operations, and CODEOWNERS suggests the ownership of paths is tracked. There is also a CLAUDE.md file and a .claude directory, so the project carries instructions for coding assistants, plus an .editorconfig, .gitattributes and a .vscode directory for editor and VCS conventions. The licence is GPL-3.0, and the repository is not archived.

## Conclusion

GPSaveConverter fits a player who bought a game on PC Game Pass, bought it again on Steam or GOG, and wants to carry their progress across, especially when the other storefront supports multiple profiles. It does not fit a game that stores its progress in the cloud rather than in local files, and it will not help with a game it cannot locate without a manual translation. Verify first that the game appears in the tool's package list, check whether your other storefront uses named profiles, and read the backup instructions carefully, because with versions before 0.4.12 the tool does not undo its own changes and the README tells you to back up both save folders by hand.

## FAQ

### What does GPSaveConverter do?

It transfers save files between games installed from the Xbox app or PC Game Pass and the same game bought on another storefront, where the two keep their saves in different file structures. It finds games by listing Microsoft Store packages that contain a wgs folder and then copies between the Xbox location and the location of the other store's save.

### What happens if my game is not in the tool's library?

You are prompted to select the save location manually when you pick the package, and for a game that needs more than that a custom file translation must be created. The README links a video explaining file translations and how to create them, plus an older Forza Horizon 5 walkthrough.

### Can GPSaveConverter undo a transfer?

From version 0.4.12 it can. The application backs up what a transfer is about to change, and the File, Backups menu puts it back. With an older version the README strongly recommends backing up both save file folders yourself before using it.

### How does the tool handle multiple save profiles?

Some other game storefronts and save systems support multiple profiles, and in that case the profiles are shown by the file name that identifies them, so you pick the right one during the transfer.

## Sources

- [Fr33dan/GPSaveConverter on GitHub](https://github.com/Fr33dan/GPSaveConverter)
- [Issues](https://github.com/Fr33dan/GPSaveConverter/issues)
- [License: GPL-3.0](https://github.com/Fr33dan/GPSaveConverter/blob/master/LICENSE)
- [README](https://github.com/Fr33dan/GPSaveConverter/blob/master/README.md)
- [Releases](https://github.com/Fr33dan/GPSaveConverter/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/fr33dan-gpsaveconverter
