v2.0 — rewritten in Go · one tiny native binary

Steam Cloud for every game you own.

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.

Free & open source · MIT licensed · all releases →
$0
forever — free & open source
0
accounts, ads, or telemetry
1
small native binary, no runtime
games — if it saves to disk, it syncs
The problem

Your saves are trapped on one machine.

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.

Without OpenSave

  • Manually copying AppData folders over USB or chat apps
  • "Which device has the newest save?" roulette
  • Emulator & GOG progress stuck on one PC
  • One corrupted write and the playthrough is gone
  • Cloud services that want an account, a fee, and your data

With OpenSave

  • Saves sync automatically the moment a game writes them
  • Every device always has the latest — LAN or across the internet
  • Emulators, GOG, Epic, repacks, mods: all auto-detected
  • Every change snapshotted & reversible, forever
  • Peer-to-peer between your devices. Your data never leaves your control
Features

Everything a save deserves.

Built by gamers tired of losing progress — every feature exists because a save was once lost without it.

🔍

Auto-detection

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.

📁

Track anything

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.

Block-level delta sync

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.

🔗

P2P — LAN & internet

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.

🕘

Snapshot history

Every change becomes a versioned snapshot. Roll back a whole save or a single file. Branches keep parallel playthroughs — and conflict resolutions — safe forever.

🛡️

Smart conflict handling

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.

☁️

Optional cloud backup

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.

🔄

In-app updates

One-click update from GitHub releases — or pull a newer build straight from a paired device. Your fleet stays current without touching a browser.

🎮

Steam Deck native

A Decky Loader plugin brings OpenSave into Game Mode. Play on the couch, continue on the desktop — the save beat you there.

Under the hood

Watch → Delta → Snapshot → Sync.

A local-first pipeline that treats your saves like source code: hashed, versioned, and merged with intent.

1

Watch

A filesystem watcher notices the instant a game writes its save — lock-guarded and safe-write aware, so partial writes are never captured.

2

Delta

The save is chunked into content-defined blocks and SHA-256 hashed. A manifest diff pinpoints exactly which blocks changed.

3

Snapshot

The new state is recorded as an immutable, versioned snapshot on a branch — your undo button for every save, forever.

4

Sync

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 ∅  │
                      └───────────┘

Local-first by design

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.

Open source

Your saves. Your devices. Your code.

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.

  • Read every line before you trust it with your saves
  • SQLite storage in ~/.opensave/ — your data in an open format
  • Self-host the relay, script the CLI, build from source
  • Issues and pull requests welcome
Download

Get OpenSave.

Windows, Linux, and Steam Deck. One small binary — install in seconds.

🪟

Windows

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.exe
🐧

Linux

Single tarball. Extract and run — no dependencies, no sandbox headaches.

Download for Linux opensave-linux-amd64.tar.gz
🎮

Steam Deck

Use the Linux build in Desktop Mode, plus the Decky plugin for Game Mode.

Decky plugin → works with Decky Loader

Upgrading 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.

FAQ

Questions, answered.

Do I need a server or an account?

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.

Is it really free?

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.

What if two devices change the same save while offline?

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.

Does it work with emulators and non-Steam games?

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.

Is my data safe in transit?

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).

What happened to the old JavaScript version?

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.

Can I use it without a GUI?

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.