SyncSave automatically syncs your game saves between devices โ no Steam required, no accounts, no subscriptions. Point it at a folder, pair your devices, and your saves follow you everywhere.
Most games don't have cloud saves. Some are DRM-free. Some are emulated. Some are on a cracked copy your friend gave you ten years ago. Some just use a random folder buried deep in AppData.
None of them talk to each other. None of them travel between your gaming PC and your Steam Deck. None of them keep a history so you can undo a corrupted save.
SyncSave fixes that. It watches any folder, versions what it finds, and syncs it peer-to-peer with your other devices โ over local Wi-Fi or across the internet. No cloud account. No monthly fee. No data leaves your hands.
| Pain point | What SyncSave does |
|---|---|
| Game has no cloud save | Watches any folder and syncs it automatically |
| Playing on Windows + Linux | Translates paths across platforms transparently |
| Steam Deck mid-playthrough | Sync over local Wi-Fi with zero configuration |
| Emulator saves scattered everywhere | Presets for RetroArch, Dolphin, PPSSPP, Ryujinx, Yuzu, PCSX2, and more |
| Corrupt save ruined your run | Snapshot history lets you roll back to any point |
| Moving to a new PC | Restore everything from a local or cloud backup |
| No internet at the venue | Works 100% offline over LAN |
| Want control over your own data | Fully self-hosted, no accounts, no telemetry |
- Scans your system for games from Steam (including Goldberg, CODEX, PLAZA, Tenoke, and other Steam emulators)
- Recognizes emulator save directories: RetroArch, Dolphin, Ryujinx, Yuzu, Citra, PCSX2, RPCS3, PPSSPP, Cemu, Xenia, and more
- Instant library view with cover art fetched automatically
- Track any folder โ Steam saves, emulator states, GOG games, DRM-free titles, anything
- File-level change detection via SHA-256 block hashing
- Delta sync: only changed 64KB blocks are transferred, not entire files
- LAN sync: direct connection over local network, no internet needed
- WAN sync: relay-based sync across the internet โ no port forwarding, no static IP
- Paired device model โ only your approved devices can receive your saves
- Bandwidth throttling for WAN syncs
- Automatic reconnection and retry
- Public relay hosted at
wss://syncsave-relay.onrender.comโ free, no account required - Self-host your own relay with a single
node src/relay-server.jscommand - One-click deploy to Render via
render.yamlincluded in the repo - Room-code based: share a code, both devices join, sync begins
- Every change triggers an automatic versioned ZIP snapshot
- Branch support โ maintain separate save timelines per game
- Restore individual files from any snapshot (granular restore)
- Snapshots compressed with Brotli where supported
- Mirror snapshots to Google Drive, Dropbox, OneDrive
- Or use WebDAV, a webhook, or a local folder
- Cloud backup runs silently in the background on every save change
- Browse and restore from cloud directly inside the app
- Windows
%APPDATA%paths automatically translated to Linux equivalents - Configurable custom path translation rules in Settings
- Lets Windows โ Linux pairs sync the same game without manual path editing
- No accounts, no registration, no email
- No telemetry, no crash reporting, no analytics
- All data stays on your own machines
- Relay server only brokers the WebSocket connection โ it never sees your save files
- System tray icon with quick status
- Start on boot support (Windows startup registry, Linux autostart
.desktop) - Daemon-based architecture โ the UI is optional, the sync keeps running
| Feature | SyncSave | Syncthing | LocalSend | Manual backup |
|---|---|---|---|---|
| Automatic sync on file change | โ | โ | โ | โ |
| Versioned snapshot history | โ | โ | โ | โ |
| Conflict detection & resolution | โ | โ | โ | โ |
| WAN sync (no port forwarding) | โ | โ | โ | โ |
| Emulator presets | โ | โ | โ | โ |
| Cross-platform path translation | โ | โ | โ | โ |
| Auto-detect game saves | โ | โ | โ | โ |
| Cloud backup (GDrive/Dropbox/OneDrive) | โ | โ | โ | โ |
| Granular file restore | โ | โ | โ | โ |
| Self-hosted relay | โ | N/A | N/A | N/A |
| No account required | โ | โ | โ | โ |
| Open source | โ | โ | โ | N/A |
Install SyncSave on both machines, pair them over LAN or WAN. Your saves transfer automatically whenever you switch devices โ no USB drives, no manual copying.
Running the same game on Windows and a Linux machine? SyncSave translates save paths between operating systems so both sides stay in sync even when the folder structure differs.
Run SyncSave on your desktop and your Deck. Sync over local Wi-Fi when you're home. Switch to WAN relay when you're on the road. The Deck's Linux paths are handled automatically.
RetroArch, Dolphin, PCSX2, Ryujinx โ SyncSave knows where each emulator stores saves. One scan, everything tracked. Your entire emulator library backed up and in sync.
Accidentally overwrote a 60-hour save? Snapshot history has your back. Roll back to any previous version or restore individual files from a specific point in time.
Don't want to rely on the public relay? Host your own with one command. The relay is a small, stateless Node.js WebSocket server with no database and a /health endpoint.
1. Install SyncSave on your first device (see Installation).
2. Track a game. Click + Track Folder, browse to your save directory, give it a name.
3. Pair your second device.
- On the same Wi-Fi? Go to Devices โ it'll appear automatically.
- Over the internet? Go to Internet Sync, generate a room code, enter it on the other device.
4. Done. SyncSave watches the folder and syncs whenever it changes.
Installer (recommended)
https://github.com/sivadaboi/SyncSave/releases/download/v1.1.3/SyncSave.Setup.1.1.3.exe
Run the installer. SyncSave starts in the system tray.
Portable ZIP
https://github.com/sivadaboi/SyncSave/releases/download/v1.1.3/SyncSave-1.1.3-win.zip
Extract and run SyncSave.exe. No installation required.
# Download the release
wget https://github.com/sivadaboi/SyncSave/releases/download/v1.1.3/syncsave-1.1.3.tar.gz
# Extract
tar -xzf syncsave-1.1.3.tar.gz
# Run
cd syncsave-1.1.3
./syncsaveOn Steam Deck, download and extract via the browser in Desktop Mode, then run from the file manager or terminal.
# Clone
git clone https://github.com/sivadaboi/SyncSave.git
cd SyncSave
# Install dependencies
npm install
# Run in development mode
npm run start:app
# Build distributables
npm run dist:appRequires Node.js 18+ and npm.
# Clone the repo
git clone https://github.com/sivadaboi/SyncSave.git
cd SyncSave
# Install relay-only dependencies
cp package-relay.json package.json
npm install --omit=dev
# Start the relay
node src/relay-server.jsOr deploy to Render for free in two clicks โ render.yaml is already included.
Does this require Steam? No. SyncSave works with any folder on your filesystem. Steam, GOG, Epic, emulators, DRM-free โ if it saves to a folder, SyncSave can track it.
Is it cloud-based? No. Your saves stay on your devices. The optional relay server only brokers the WebSocket connection โ it never sees your save data. Cloud backup (Google Drive, Dropbox, OneDrive) is opt-in and configured by you.
Can I self-host everything? Yes. The relay is a single Node.js file with no external dependencies. You can also point cloud backup at a WebDAV server you control.
Does it work offline? Yes. LAN sync works entirely offline. Snapshot history and local backups are always available without any network.
Can I restore old saves? Yes. Every detected change creates a snapshot. You can browse the full history and restore any version โ or restore individual files from a specific snapshot.
Is it open source? Yes. MIT license. Full source on GitHub.
Does it support emulators? Yes. SyncSave has built-in presets for RetroArch, Dolphin, Ryujinx, Yuzu, Citra, PCSX2, RPCS3, PPSSPP, Cemu, and Xenia. It also detects Goldberg, CODEX, PLAZA, and other Steam emulators used by repacks.
How are conflicts handled? When two devices have diverged saves, SyncSave detects the conflict, takes a safety snapshot of both versions, and notifies you. You can choose which version to keep.
How is my data protected in transit? LAN transfers are direct device-to-device. WAN transfers go through the relay over WSS (TLS-encrypted WebSockets). The relay never decrypts or stores your save data โ it only routes packets between your paired devices.
Does it phone home? Never. There is no telemetry, no analytics, no usage reporting of any kind.
SyncSave has a daemon/UI split. The daemon runs as a local HTTP server (localhost:8383) and handles all sync logic. The UI is an Electron shell that talks to the daemon via REST. You can run the daemon headlessly and control it via API if you want.
SyncSave
โโโ src/daemon/ # Core sync engine (Node.js)
โ โโโ index.js # Express API server
โ โโโ watcher.js # chokidar file watcher
โ โโโ delta.js # Block-level diff & patch (64KB blocks, SHA-256)
โ โโโ snapshot.js # ZIP snapshot creation & restore
โ โโโ cloud.js # Cloud backup providers
โ โโโ cloud-auth.js # OAuth flows (Google Drive, Dropbox, OneDrive)
โ โโโ presets.js # Emulator & repack save path presets
โ โโโ relay-manager.js # Local relay server (self-host mode)
โ โโโ p2p/
โ โโโ p2p.js # Peer discovery & pairing
โ โโโ sync-engine.js # Sync state machine & conflict resolution
โ โโโ wan-client.js # WebSocket relay client
โโโ src/frontend/ # Electron UI (HTML/CSS/JS)
โโโ src/relay-server.js # Standalone relay server (deploy to Render)
โโโ src/main.js # Electron entry point
The sync protocol is block-level: files are split into 64KB chunks, each hashed with SHA-256. Only chunks that differ are transferred, keeping bandwidth usage minimal even for large save directories.
Issues, PRs, and feature requests are all welcome.
- Bug reports: Open an issue with your OS, steps to reproduce, and any relevant logs from the Activity Log panel.
- Feature requests: Open a discussion or issue describing the use case.
- Code contributions: Fork, branch, and open a PR. Keep PRs focused โ one feature or fix per PR.
- New emulator presets: Add entries to
src/daemon/presets.jsand open a PR.
There's no formal contribution guide yet. Use common sense, keep code readable, and add a test if you can.
MIT ยฉ 2026 Siva Prakash
See LICENSE for the full text.

