Use this tool to generate the config file for 3DSync. Add the places to sync with — Dropbox, Google Drive, SMB file servers, FTP or WebDAV, as many as you like — configure your sync folders, then download the config file and copy it to your 3DS SD card at: /3ds/3DSync/3DSync.ini (create folders if not existing)
  • Choose where to sync

    Add every place 3DSync should sync with. With more than one, a save changed in one place reaches all the others in the same sync.

    To change a file you made before: its remotes, folders and file types fill this page. The file is read here and never leaves your browser.
    Your remotes

    None yet — add one below.

    Add a remote
    Dropbox Log in with your Dropbox account
    add_to_drive Google Drive Log in with your own Google Cloud app
    storage SMB file server NAS or Windows share
    folder_shared FTP / FTPS Any FTP server, TLS where offered
    cloud_queue WebDAV Nextcloud, ownCloud, NAS

    Two-way sync, the same as the Google Drive backend. Please report problems at github.com/vllni/3DSync/issues.

    verified_userTo keep 3DSync away from the rest of your Dropbox, use expert mode with your own app of the App folder type: it then sees only its own folder. You can cut it off any time under Connected apps.

    Login with Dropbox

    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_PART
    add_to_drive Login with Google Drive

    verified_user3DSync is given access to your whole Drive. If the 3DS or its SD card goes missing, remove that access under Third-party apps & services — the token stops working at once, and nothing else changes.



    In Google Cloud Console, create a project, enable the Drive API, and create an OAuth 2.0 Web application credential. Add https://3dsync.vllni.dev/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:

    1. Open APIs & Services → Credentials
    2. Click the name of your OAuth 2.0 Client ID to open it
    3. In the Client secrets panel, click + Add secret
    4. The new secret row shows a ↓ download icon — click it immediately (it disappears after you leave the page)
    5. Import the downloaded file with the button above, then disable your old secret

    A NAS or a shared folder on a Windows PC, over SMB2/SMB3 — what modern NAS boxes and Windows accept by default. SMB1 does not need to be re-enabled.

    verified_userBest is a user of its own for 3DSync that can reach only this share, rather than your own or the admin account — then this password opens nothing else.

    IP address or host name, e.g. 192.168.1.10. A path like \\nas\saves is split up for you.
    The share name, without slashes
    Only for an account in a Windows domain
    e.g. 3DS; blank for the top of the share
    info_outline A web page cannot open SMB connections, so these settings can only be tried from the 3DS: copy the file over and press Y for a debug sync — it shows the connection step by step, and you can save it as a log.

    Any FTP server, with TLS where the server offers it. SFTP (over SSH) is a different protocol and is not supported: the 3DS build of libcurl cannot speak it.

    verified_userBest is an FTP user of its own for 3DSync, locked to the save folder, rather than an account that can log in to the server itself.

    IP address or host name. ftp://host:2121 works too.
    21, or 990 for implicit TLS
    Blank for anonymous
    e.g. /home/me/3ds; blank for the directory the server logs you into. Required for anonymous FTP: the folder uploads are allowed in, often pub

    info_outline A web page cannot open FTP connections, so these settings can only be tried from the 3DS: copy the file over and press Y for a debug sync — it shows the connection step by step, and you can save it as a log.

    Nextcloud, ownCloud, or any NAS with WebDAV switched on.

    verified_userUse an app password, not your account password: in Nextcloud, Settings → Security → Devices & sessions. It can be revoked on its own, and it does not unlock your account's settings.

    The folder 3DSync should work in. For Nextcloud: https://cloud.example/remote.php/dav/files/USERNAME/
    Use an app password where the server offers one

    lock_outline Everything here stays in this browser tab, and is forgotten when you close it. Nothing is sent anywhere except, when you press Test connection, straight to the service being tested.

    The downloaded 3DSync.ini holds your password or token in plain text. The first time 3DSync starts with it, it seals them to that console: the file then only works on that 3DS, and is useless to anyone who copies the SD card. Until then, treat the file like the password itself — copy it straight to the SD card and delete the download.
  • 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 the remote. 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 the remote (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 remote copy, then uploads, downloads, or prompts for conflict resolution as needed.
    Upload only — one-way: the 3DS copy is uploaded and nothing is ever downloaded. Useful for backups. A remote with the Source role is left out: 3DSync never writes to it.

    If Name is left empty the files go directly into the top of the remote (the Drive Folder ID, the SMB folder, the FTP base directory, the WebDAV URL).

    add

    Remotes per folder

    Every remote syncs every folder; untick one to leave it out there.

    File Types

    e.g. sav, bin; blank to sync all files. Applies in both directions.

    A folder can have its own list instead. Leave it blank to use the one above; * syncs every file in that folder.


  • Download config file

    This is the file that will be downloaded, with passwords and tokens hidden here. Copy it to /3ds/3DSync/3DSync.ini on the SD card.