OpenSave syncs your game saves between devices, peer‑to‑peer. Emulators, GOG, Epic, mods, that one indie gem with no cloud support — point OpenSave at a save, pair your devices, and your progress follows you everywhere. No accounts. No subscriptions. No telemetry.
Steam Cloud only covers games bought on Steam — and only when the developer opts in. Everything else is a folder you have to remember to copy.
AppData folders over USB or chat appsBuilt by gamers tired of losing progress — every feature exists because a save was once lost without it.
Scans your system for saves from Steam, RetroArch, Dolphin, Ryujinx, Yuzu, Citra, PCSX2, RPCS3, PPSSPP, Cemu, Xenia, Goldberg-style repacks, Epic, GOG, Unity and Unreal Engine conventions — shown as cover-art tiles, one click to track.
Any folder or single file can be a "game". Watched live with safe-write-aware detection, so OpenSave never grabs a half-flushed save mid-write.
Saves are chunked and SHA-256 hashed (64 KB–2 MB adaptive blocks). Only the blocks that changed ever travel — a 4 GB save folder syncs in seconds.
Devices find each other automatically on your network. Remote? Share a relay room code — no port forwarding, no static IP. Every pairing is explicitly approved on both ends.
Every change becomes a versioned snapshot. Roll back a whole save or a single file. Branches keep parallel playthroughs — and conflict resolutions — safe forever.
Diverged saves are detected by sync lineage, not wall-clock time. Keep yours, keep theirs, or keep both on a new branch. Nothing is ever silently overwritten.
Mirror snapshots to Google Drive, Dropbox, OneDrive, WebDAV, a webhook, or a local/NAS folder. Optional, off by default — P2P needs no cloud at all.
One-click update from GitHub releases — or pull a newer build straight from a paired device. Your fleet stays current without touching a browser.
A Decky Loader plugin brings OpenSave into Game Mode. Play on the couch, continue on the desktop — the save beat you there.
A local-first pipeline that treats your saves like source code: hashed, versioned, and merged with intent.
A filesystem watcher notices the instant a game writes its save — lock-guarded and safe-write aware, so partial writes are never captured.
The save is chunked into content-defined blocks and SHA-256 hashed. A manifest diff pinpoints exactly which blocks changed.
The new state is recorded as an immutable, versioned snapshot on a branch — your undo button for every save, forever.
Only changed blocks travel to paired peers — direct over LAN, or through a stateless relay that routes encrypted frames and stores nothing.
Your Desktop Your Steam Deck
┌─────────────┐ LAN · auto-discovery ┌─────────────┐
│ watcher │◀───────────────────────▶│ watcher │
│ snapshots │ │ snapshots │
│ delta │ WAN · room code │ delta │
└──────┬──────┘ (encrypted frames) └──────┬──────┘
│ ┌───────────┐ │
└────────────▶│ relay │◀────────────┘
│ routes │
│ stores ∅ │
└───────────┘
The relay is a stateless room broker — it forwards encrypted WebSocket frames and never sees or stores a save. Don't want to trust ours? Self-host it with one binary or a Dockerfile.
Prefer a terminal? The headless daemon + opensave-cli runs on servers and Steam Deck alike, and everything the app does is scriptable over a local REST/WebSocket API.
OpenSave is MIT-licensed and developed in the open. v2.0 is a complete rewrite in Go — one small native binary with an embedded UI, no Electron, no runtime to install, and wire-compatible with earlier versions so old and new devices sync together during upgrades.
~/.opensave/ — your data in an open formatWindows, Linux, and Steam Deck. One small binary — install in seconds.
Installer or portable exe. Runs in the tray, starts with Windows if you want it to.
Download for Windows OpenSave.Setup.exe · or portable OpenSave.exeSingle tarball. Extract and run — no dependencies, no sandbox headaches.
Download for Linux opensave-linux-amd64.tar.gzUse the Linux build in Desktop Mode, plus the Decky plugin for Game Mode.
Decky plugin → works with Decky LoaderUpgrading from OpenSave 1.x? Your tracked games, snapshots, pairings, and settings migrate automatically on first launch — and 1.x and 2.x devices can pair and sync with each other during the transition.
No. Devices sync directly with each other. The optional relay only matters when syncing across the internet — and you can self-host it with a single binary.
Yes — free and MIT-licensed open source. No pro tier, no subscription, no ads, no telemetry. It exists because game saves shouldn't be hostage to a storefront.
OpenSave detects the divergence by sync lineage (not clock times, which lie) and asks what you want: keep yours, keep theirs, or keep both on a new branch. It never silently overwrites a playthrough.
Yes — that's the point. RetroArch, Dolphin, Ryujinx, Yuzu, Citra, PCSX2, RPCS3, PPSSPP, Cemu, Xenia, GOG, Epic, and Goldberg-style repacks are auto-detected. Anything else can be tracked by pointing at its folder or file.
WAN sync travels as encrypted WebSocket frames through a stateless relay that routes and stores nothing. On LAN, devices talk directly. Saves are only ever persisted on your devices (and, if you enable it, your own cloud storage).
v2.0 is a from-scratch rewrite in Go: one small native binary instead of an Electron app, faster and lighter, with the same wire protocol — old and new versions pair and sync together, and your data migrates automatically.
Yes. The headless daemon + opensave-cli covers scan, add, status, snapshot, rollback, branch, and checkout — ideal for servers, NAS boxes, and scripts. Everything is also drivable over a local REST/WebSocket API.