-
Authenticate with cloud service
Dropbox
Login with Dropboxadd_to_drive Google Drive
Leave blank to use the root of My Drive. To scope to a subfolder, open it in Google Drive and paste the URL or just the ID — drive.google.com/drive/folders/THIS_PARTadd_to_drive Login with Google Drive
In Google Cloud Console, create a project, enable the Drive API, and create an OAuth 2.0 Web application credential. Add https://vllni.github.io/3DSync/configurator.html as an authorized redirect URI. The refresh token is stored in the config so you won't need to log in again.
To get the JSON file:
- Open APIs & Services → Credentials
- Click the name of your OAuth 2.0 Client ID to open it
- In the Client secrets panel, click + Add secret
- The new secret row shows a ↓ download icon — click it immediately (it disappears after you leave the page)
- Import the downloaded file with the button above, then disable your old secret
-
Configure folders to sync
Presets
Custom Paths
Path — absolute path on the 3DS SD card to sync, POSIX style. Examples: /3ds/MyApp, /roms/nds
Name — destination folder on your cloud storage. Use / to create nested folders. Examples: Saves, roms/nds, 3DS/Checkpoint
Subdirs — when checked, all subdirectories are synced recursively and their structure is preserved on Drive (e.g. /saves/Game/001.sav becomes Name/saves/Game/001.sav). Uncheck to sync only the files directly inside the specified folder, ignoring subdirectories entirely.
Both ways — full bidirectional sync. The 3DS compares each file against a local manifest (
/3ds/3DSync/manifest.json) and against the Drive copy, then uploads, downloads, or prompts for conflict resolution as needed.
Upload only — one-way upload to Drive (no downloads, no manifest). Useful for backups or Dropbox paths.If Name is left empty the files go directly into the root Drive folder (or the Folder ID you configured).
-
Download config file