This guide shows you how to sync Zotero's PDF attachments and files between two computers (macOS or Windows) using SyncThing while keeping the database sync through Zotero's built-in service.
- Two computers (macOS/Windows) on the same local network
- Zotero installed on both machines
- SyncThing installed on both machines
We'll use a hybrid approach:
- SyncThing: Syncs PDF files and attachments (
storage/
folder) - Zotero Sync: Syncs database, references, collections, and metadata
This prevents database corruption while providing fast local file sync.
- Download from zotero.org
- Install on both Macs
- Create a Zotero account if you don't have one
macOS:
-
Download from syncthing.net
-
Or install via Homebrew:
brew install syncthing
Windows:
-
Download from syncthing.net
-
Or install via Chocolatey:
choco install syncthing
-
Or install via Scoop:
scoop install syncthing
-
Install on both computers
Do this on both computers:
- Open Zotero
- Go to
Zotero
→Preferences
(orZotero
→Settings
) - Click the
Sync
tab - Enter your Zotero username and password
- IMPORTANT: Under "File Syncing", UNCHECK BOTH:
- "Sync attachment files in My Library using Zotero" (or WebDAV)
- "Sync attachment files in group libraries using Zotero Storage"
- Click
OK
On both computers, find your Zotero data directory:
- In Zotero, go to
Zotero
→Preferences
→Advanced
→Files and Folders
- Note the "Data Directory Location"
Default locations:
macOS:
~/Zotero
# Full path: /Users/[username]/Zotero
Windows:
%USERPROFILE%\Zotero
# Full path: C:\Users\[username]\Zotero
Note: This is different from browser profiles:
- macOS:
~/Library/Application Support/Zotero
- Windows:
%APPDATA%\Zotero
- Start SyncThing:
macOS/Linux:
syncthing
Windows:
syncthing.exe
- Open your browser and go to:
http://localhost:8384
- Note your Device ID (displayed on the main page)
- Start SyncThing (same commands as above)
- Open your browser and go to:
http://localhost:8384
- Click "Add Remote Device"
- Enter the Device ID from the first computer
- Give it a name (e.g., "Work Laptop" or "Home Desktop")
- Click "Save"
- You'll see a notification about a new device
- Click "Add" to accept the connection
- Give the second computer a name
- Click "Save"
- In SyncThing web interface, click "Add Folder"
- Set the following:
- Folder Label: "Zotero Storage"
- Folder ID: "zotero-storage" (or any unique ID)
- Folder Path:
- macOS:
/Users/[your-username]/Zotero/storage
- Windows:
C:\Users\[your-username]\Zotero\storage
- macOS:
- Or browse to your Zotero data directory and select the
storage
folder
- Under "Sharing", select your second computer
- Click "Save"
- You'll receive a notification about a shared folder
- Click "Add" to accept
- IMPORTANT: Set the folder path to your local Zotero storage directory:
macOS:
/Users/[your-username]/Zotero/storage
Windows:
C:\Users\[your-username]\Zotero\storage
- Click "Save"
To keep citation styles consistent across both machines:
Repeat Step 5 but for the styles
folder:
- Folder Path:
- macOS:
/Users/[your-username]/Zotero/styles
- Windows:
C:\Users\[your-username]\Zotero\styles
- macOS:
- Folder ID: "zotero-styles"
If you need to start with a completely clean slate on the destination computer:
Remove just the Zotero data directory:
macOS:
rm -rf ~/Zotero
Windows:
rmdir /s "%USERPROFILE%\Zotero"
This removes your entire Zotero library, attachments, and database while keeping Zotero installed.
Remove both data and application settings:
macOS:
# Remove main data directory
rm -rf ~/Zotero
# Remove application profile/preferences
rm -rf ~/Library/Application\ Support/Zotero
# Remove Zotero preferences
rm -rf ~/Library/Preferences/org.zotero.zotero.plist
Windows:
# Remove main data directory
rmdir /s "%USERPROFILE%\Zotero"
# Remove application profile/preferences
rmdir /s "%APPDATA%\Zotero"
If you only want to clean attachments but keep your database:
macOS:
rm -rf ~/Zotero/storage/*
Windows:
del /s /q "%USERPROFILE%\Zotero\storage\*"
After cleaning:
- Restart Zotero on the destination computer
- Sign in to your Zotero account to sync the database
- Follow Step 8 below to seed the storage files
If you already have a large Zotero library with attachments, seed the destination to save time:
- Close Zotero on both computers
- On your primary computer (with existing library), compress the storage folder:
macOS:
cd ~/Zotero
tar -czf zotero-storage-seed.tar.gz storage/
Windows:
cd "%USERPROFILE%\Zotero"
tar -czf zotero-storage-seed.tar.gz storage
Note: Windows 10/11 includes tar. For older Windows, use 7-Zip or WinRAR
- Copy this file to your second computer via USB drive, network share, or cloud storage
- On the second computer, extract to the Zotero directory:
macOS:
cd ~/Zotero
tar -xzf zotero-storage-seed.tar.gz
Windows:
cd "%USERPROFILE%\Zotero"
tar -xzf zotero-storage-seed.tar.gz
- Now set up SyncThing - it will only need to sync differences instead of all files
- Clean up the temporary file:
macOS:
rm zotero-storage-seed.tar.gz
Windows:
del zotero-storage-seed.tar.gz
- Close Zotero on both computers
- Wait for SyncThing to complete initial sync (check web interface)
- Open Zotero on one computer
- Add a new item with a PDF attachment
- Wait a few minutes for sync
- Open Zotero on the second computer
- The reference should appear (via Zotero sync) with the PDF attachment (via SyncThing)
Using System Preferences:
- Go to
System Preferences
→Users & Groups
→Login Items
- Click the
+
button - Navigate to SyncThing application and add it
Using Homebrew Services:
brew services start syncthing
Using Task Scheduler:
- Open Task Scheduler (
Win + R
, typetaskschd.msc
) - Click "Create Basic Task"
- Name: "SyncThing"
- Trigger: "When I log on"
- Action: "Start a program"
- Program: Path to
syncthing.exe
- Finish
Using Startup Folder:
-
Press
Win + R
, typeshell:startup
-
Create a batch file
syncthing.bat
:@echo off start /min syncthing.exe
-
Place the batch file in the startup folder
- Keep both computers online: SyncThing needs both devices online to sync
- Close Zotero before major changes: When reorganizing large collections, close Zotero on one computer
- Monitor sync status: Check SyncThing web interface if files aren't syncing
- Regular backups: SyncThing is not a backup solution - maintain separate backups
- Check both computers are online and SyncThing is running
- Verify folder paths are correct in SyncThing
- Check for sufficient disk space
- This shouldn't happen with this setup since we only sync files
- If it does, check that Zotero file sync is disabled
- Ensure both devices are on the same network
- Check firewall settings
- Restart SyncThing on both machines
- Verify Zotero data directory location in Zotero preferences
- Check folder permissions
- Ensure the
storage
folder exists (create by adding an attachment in Zotero)
- ✅ Free: No storage limits unlike Zotero's paid plans
- ✅ Fast: Local network speeds for large PDFs
- ✅ Private: Files stay on your local network
- ✅ Reliable: Uses Zotero's proven database sync
- ✅ Safe: No risk of database corruption
- Files are encrypted in transit between your computers
- No data leaves your local network (except Zotero database sync)
- Consider enabling device authentication in SyncThing for additional security
Need help? Check the SyncThing documentation or Zotero forums.