Skip to content

VaultBridge

VaultBridge is a free companion app that converts backups between SaveVault and two other save managers, in both directions:

  • GameSave Manager (.gsba backups) ⇄ SaveVault
  • Ludusavi (its per-game backup folders) ⇄ SaveVault

It is a separate download, not part of SaveVault, and it never touches your games or your live saves. It reads backups one tool made and writes backups another tool understands. Download it from the VaultBridge page.

Point the output at your SaveVault backup folder and the archives are adopted the next time SaveVault looks at the folder, exactly as if SaveVault had made them:

  • The original backup time is kept. Retention orders backups by date, so an import from 2019 sits where 2019 belongs instead of looking like it was made today.
  • Every file is hashed (BLAKE3) and keeps its modification time, so restores verify the way native backups do.
  • Save locations become SaveVault’s portable placeholders (appData, documents, gameInstall, and so on), so an imported backup restores on a different machine, not only to the path it came from.
  • Registry data comes along. GameSave Manager registry exports and Ludusavi registry data become SaveVault registry exports; Ludusavi backups from a Steam Deck keep their Proton prefix hives.
  • Ludusavi’s lock and comment become SaveVault’s pin and label. Each full backup and each differential backup becomes one self-contained archive.

Anything that cannot be carried over is listed in the conversion log for that archive. Nothing is dropped silently.

Convert GameSave Manager backups on the Windows PC that has the games installed when you can. Saves that GameSave Manager located through the game’s install folder or the registry are resolved while converting, so the game (or Steam) needs to be present. On macOS or Linux those roots are recorded unresolved with a warning, and SaveVault asks for the install folder when you restore. Registry exports restore on Windows only.

SaveVault keeps a limited number of backups per game (four by default) and prunes the oldest. Importing more than that for one game means the oldest imports are pruned on the next backup of that game. VaultBridge warns when more than four archives (SaveVault’s default cap) are imported for one game unless they are pinned; turn on Pin backup to keep every import, or raise the cap in SaveVault’s settings first.

Option What it does
Archive format zip (default), tar.gz, or tar.zst, the same choices SaveVault offers.
Parallel jobs How many backups convert at once. Auto, the default, uses half the CPU threads like SaveVault; 1 to 32 can be set.
Pin backup Mark every archive pinned; pinned backups skip automatic retention pruning.
Backup label A label shown next to each import on SaveVault’s Restore page. For Ludusavi backups the comment is used when no label is given.
Match game names to the Ludusavi manifest On by default in the app once a manifest copy is present (the CLI needs --normalize-names). GameSave Manager and Ludusavi name games their own way, and an import under a different name shows up in SaveVault as a second entry for the same game. With this on, a game is renamed to its manifest title only when its name is a known alias or differs from the title just in case or punctuation; anything else keeps its name, and every rename is listed in the conversion log. A matched game also gets the manifest’s save locations, Steam id and cloud flags, so it restores across platforms like a native backup. The manifest is SaveVault’s or Ludusavi’s copy when either is installed; otherwise the app offers to download its own copy (about 17 MB) and the CLI fetches one automatically; VaultBridge’s own copy is refreshed once it is a week old.
  • SaveVault → GameSave Manager writes a .gsba for each archive, registry included. GameSave Manager lists and restores them like its own backups.
  • SaveVault → Ludusavi adds each archive as a full backup of its game inside a Ludusavi backup folder, creating or updating the game’s mapping.yaml the way Ludusavi expects. Choose the folder layout or zip layout to match your Ludusavi settings. Archives are written one at a time so a game’s mapping is never updated twice at once, and a backup Ludusavi already has is skipped rather than duplicated.

Proton prefix hives have no equivalent in GameSave Manager and are reported as skipped in that direction.

Drop files or folders onto the page for the direction you want, or use the Browse buttons. Dropped items are staged; nothing runs until you click Convert. For Ludusavi, drop the whole backup folder and VaultBridge finds every game and every backup inside it, including one level of nested folders if you keep one folder per machine.

Each result shows where the archive was written and any warnings for it. You can switch between directions while a conversion runs; the header shows which one is busy.

Every direction is also a vaultbridge CLI command, useful for scripting a one-time migration:

Terminal window
vaultbridge gsm-to-sv --input "D:\GameSave Manager\Backups" --output-dir "D:\SaveVault Backups" --pin --normalize-names
vaultbridge ludusavi-to-sv --input "D:\Ludusavi Backups" --output-dir "D:\SaveVault Backups" --jobs 4
vaultbridge sv-to-gsm --input "D:\SaveVault Backups" --output-dir "D:\GSM Imports"
vaultbridge sv-to-ludusavi --input "D:\SaveVault Backups" --output-dir "D:\Ludusavi Backups" --layout simple

Run any command with --help for the full option list. The CLI prints a report per input with the same warnings the app shows. Folder inputs are scanned recursively (--recursive is still accepted and changes nothing). An archive that already exists in the output folder is never overwritten: it is skipped and reported. --jobs sets how many conversions run at once; 0 (the default) means auto, half the CPU threads, and any value is capped at 32. The exit code is 0 when something converted, 1 when any item failed, and 2 when there was nothing to do (every input skipped, or no matching archives), so a script notices a wrong path.

SaveVault can verify any archive VaultBridge wrote, the same way it verifies its own:

Terminal window
savevault-cli verify "D:\SaveVault Backups\Chex Quest HD_2026-05-12_03.00.45.zip"
savevault-cli explain "D:\SaveVault Backups\Chex Quest HD_2026-05-12_03.00.45.zip"

verify checks every file against its hash; explain shows where each root restores to on this machine and prints the README that ships inside the archive.

VaultBridge checks savevault.app for updates when it starts (you can turn that off on its About page) and installs them in place; every in-place update is verified against the signing key built into the app. A Linux copy installed from the .deb cannot be replaced in place: the About page still shows the new version, with a link to download the current .deb from savevault.app instead of an Install button. The Windows installer is not yet code-signed, so SmartScreen shows “unknown publisher” the first time you run it, and the macOS app is not notarized, so open it with right-click → Open the first time. VaultBridge is free software under the GPL-3.0, with source and release downloads on GitHub as well.