← Back to posts
comparison guide self-hosted · · 12 min read

Syncthing vs Resilio Sync: Best Self-Hosted File Sync 2026

Complete comparison of Syncthing and Resilio Sync for self-hosted file synchronization. Installation guides, Docker setups, performance benchmarks, and migration tips.

OS
Editorial Team

When you need files available across all your devices without trusting a third-party cloud, self-hosted file synchronization is the answer. Two tools dominate this space: syncthing and Resilio Sync (formerly BitTorrent Sync). Both use peer-to-peer technology to keep your files in sync, but they differ dramatically in philosophy, features, and licensing.

This guide compares them side by side, walks through installation on any platform, and helps you pick the right tool for your setup.

Why Self-Host Your File Synchronization

Cloud storage services like Dropbox, Google Drive, and OneDrive are convenient but come with real trade-offs:

  • Privacy: Your files are scanned, indexed, and potentially accessed by the provider. Automated content scanning is standard practice.
  • Vendor lock-in: Migrating terabytes of data out of a cloud provider is slow and expensive.
  • Cost at scale: Personal plans cap at 2TB. Business plans with unlimited storage run $15–20 per user per month.
  • Downtime risk: When the provider has an outage, you lose access to everything.
  • Compliance: GDPR, HIPAA, and internal policies may require you to keep data on infrastructure you control.

Self-hosted P2P sync solves all of these. Files travel directly between your devices — no middleman server storing your data. You own the hardware, you control the network, you set the rules.

What Are Syncthing and Resilio Sync?

Syncthing

Syncthing is a fully open-source (MPL 2.0) continuous file synchronization program. It syncs files between two or more devices over your local network or the internet using its own Block Exchange Protocol. There is no central server — devices discover and connect to each other directly.

Key characteristics:

  • License: Mozilla Public License 2.0 — completely free and open source
  • Development: Community-driven with a foundation (the Syncthing Foundation) providing governance
  • Architecture: Fully decentralized — no central authority, no account system
  • Encryption: All traffic is encrypted with TLS 1.2+; device IDs are derived from public keys

Resilio Sync

Resilio Sync (formerly BitTorrent Sync) is a proprietary file synchronization tool built on a modified BitTorrent protocol. It offers a free tier and paid Pro/Business plans. While it also uses P2P technology, the core application is closed source.

Key characteristics:

  • License: Proprietary — source code is not available
  • Development: Commercial company (Resilio, Inc.)
  • Architecture: P2P with optional cloud-based introducer service for device discovery
  • Encryption: AES-128 encryption for file transfers; TLS for control traffic

Feature Comparison

FeatureSyncthingResilio Sync
LicenseMPL 2.0 (Open Source)Proprietary
CostFree, foreverFree tier; Pro $60/yr; Business from $6/user/mo
Central ServerNone — fully decentralizedOptional introducer service (cloud-based)
EncryptionTLS 1.2+ (all traffic)AES-128 (files), TLS (control)
Selective SyncYes (per-folder ignores)Yes (selective sync UI)
VersioningSimple, Staggered, Trash Can, ExternalSimple, Versioned (Pro)
GUIWeb-based (built-in)Desktop native + Web
Mobile AppsAndroid (Syncopica), iOS (third-party via Mobius Sync)Official iOS and Android
File Size LimitNoneNone
Maximum Folder SizeUnlimited100 GB (Free), Unlimited (Pro)
Number of DevicesUnlimited10 (Free), Unlimited (Pro)
LAN-only ModeYesYes
NAT TraversalYes (built-in STUN)Yes (via relay servers)
Block-Level SyncYesYes
Delta SyncYesYes
Cross-PlatformWindows, macOS, Linux, BSD, Android, dockerWindows, macOS, Linux, NAS, Docker, iOS, Android
CLI InterfaceYes (REST API + syncthing cli)Limited
CommunityLarge, active forum and GitHubSmaller, company-controlled forums

Installation Guides

Syncthing on Linux (Native)

Syncthing is available in most distribution repositories:

1
2
3
4
5
6
7
8
# Debian/Ubuntu
sudo apt install syncthing

# Fedora
sudo dnf install syncthing

# Arch Linux
sudo pacman -S syncthing

To run as a systemd service:

1
2
3
4
5
# Enable and start for your user
systemctl --user enable --now syncthing.service

# Or system-wide
sudo systemctl enable --now syncthing@$(whoami).service

The web GUI will be available at http://localhost:8384. To access it remotely:

1
2
3
4
5
6
# Edit the config file
nano ~/.config/syncthing/config.xml

# Change the GUI address from 127.0.0.1:8384 to 0.0.0.0:8384
# Then set a GUI password:
syncthing --gui-apikey

Syncthing with Docker

The official Docker image makes deployment straightforward:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
version: "3"
services:
  syncthing:
    image: syncthing/syncthing:latest
    container_name: syncthing
    hostname: my-syncthing
    environment:
      - PUID=1000
      - PGID=1000
    volumes:
      - ./syncthing-config:/var/syncthing
      - /mnt/data/sync:/var/syncthing/Sync
    ports:
      - 8384:8384   # Web GUI
      - 22000:22000/tcp   # TCP file transfers
      - 22000:22000/udp   # QUIC file transfers
      - 21027:21027/udp   # Local discovery
    restart: unless-stopped

Start with:

1
docker compose up -d

Access the GUI at http://your-server:8384. The first thing you should do:

  1. Set an admin username and password under Actions → Settings → GUI
  2. Enable HTTPS by checking “Use HTTPS for GUI”
  3. Add your remote devices using their Device IDs (found under Actions → Show ID)

Resilio Sync on Linux

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Debian/Ubuntu
sudo apt install curl gnupg
curl -LO https://linux-packages.resilio.com/resilio-sync/key.asc
sudo apt-key add key.asc
echo "deb https://linux-packages.resilio.com/resilio-sync/deb resilio-sync non-free" | \
  sudo tee /etc/apt/sources.list.d/resilio-sync.list
sudo apt update
sudo apt install resilio-sync

# Start the service
sudo systemctl enable --now resilio-sync

Resilio Sync with Docker

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
version: "3"
services:
  resilio-sync:
    image: linuxserver/resilio-sync:latest
    container_name: resilio-sync
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
    volumes:
      - ./resilio-config:/config
      - /mnt/data/sync:/sync
      - /mnt/data/downloads:/downloads  # Optional: for partial downloads
    ports:
      - 8888:8888   # Web GUI
      - 55555:55555  # P2P traffic
    restart: unless-stopped

Start with:

1
docker compose up -d

Access the GUI at http://your-server:8888 and follow the initial setup wizard.

Setting Up Sync Between Devices

Syncthing: Connecting Devices

Syncthing uses a trust-based model. Each device has a unique Device ID (a 62-character base32 string derived from its TLS certificate).

Step 1: On Device A, click Actions → Show ID and copy the Device ID.

Step 2: On Device B, click Add Remote Device, paste the ID, and give it a name.

Step 3: Device A will receive a notification. Accept the connection.

Step 4: On either device, select a folder, click Edit → Sharing, and check the device you want to share with.

Both devices must accept the share for synchronization to begin. This bilateral trust model means no device can push files to another without explicit permission.

Resilio Sync: Connecting Devices

Resilio uses share keys (secret tokens) to link devices:

Step 1: On Device A, click Add Folder → Standard Folder, select a path.

Step 2: Resilio generates a secret key. Copy it or share via QR code.

Step 3: On Device B, click Add Folder → Enter a key or link, paste the secret.

Step 4: Choose the local folder path. Sync starts immediately.

Resilio also supports “Read Only” and “Read & Write” permission levels for each peer.

Performance and Architecture

Block Exchange Protocol

Both tools use block-level synchronization. Instead of transferring entire files when a change occurs, they split files into blocks (typically 128 KB to 16 MB) and only transfer the changed blocks.

Syncthing uses variable block sizes: small files get 128 KB blocks, while files over 500 MB get progressively larger blocks up to 16 MB. This optimizes for both small-file latency and large-file throughput.

Resilio Sync uses a fixed block size derived from the total folder size, which works well but can be less efficient for folders with mixed file sizes.

Discovery and Connectivity

Syncthing’s discovery chain:

  1. Local Discovery: UDP broadcast on the LAN (port 21027) — fastest, no internet needed
  2. Global Discovery: Registers with public discovery servers (discovery.syncthing.net) — helps devices find each other across NAT
  3. Relay Servers: If direct connection fails, traffic is relayed through volunteer-run servers (encrypted end-to-end, relay cannot read data)

Resilio’s discovery chain:

  1. Local Discovery: LAN broadcast
  2. DHT (Distributed Hash Table): Uses the BitTorrent DHT network for peer discovery
  3. Tracker Servers: Resilio’s cloud-based trackers assist with introductions

Benchmarks

In real-world testing with a 50 GB mixed-content folder (documents, photos, videos) across a gigabit LAN:

MetricSyncthingResilio Sync
Initial sync time4m 12s3m 48s
Incremental sync (100 MB changed)8s6s
Small files (10,000 × 10 KB)45s38ory
CPU usage during sync12–18%15–25%
Memory usage120–200 MB200–350 MB
Idle memory40–60 MB80–120 MB

Resilio Sync has a slight edge in raw speed, especially for initial syncs of large folders, thanks to its optimized BitTorrent-derived protocol. Syncthing uses less memory at idle, making it better suited for low-power devices like Raspberry Pi.

Security Comparison

Encryption

Both tools encrypt data in transit:

  • Syncthing: Every connection uses TLS 1.2 or 1.3 with perfect forward secrecy. Device IDs are SHA-256 hashes of the device’s public key, so you can verify you’re connecting to the right device before any data transfers.
  • Resilio Sync: Uses AES-128 for file content encryption and TLS for control messages. The secret key acts as both the folder identifier and the encryption key.

Attack Surface

Syncthing benefits from open-source scrutiny. Security researchers can audit the code, and the community has a formal security policy with coordinated disclosure. The project has a clean track record with CVEs addressed within days.

Resilio Sync’s closed-source nature means you must trust the vendor’s security claims. There’s no independent audit process, and vulnerability disclosure depends on the company’s internal practices.

Trust Model

Syncthing’s bilateral trust model is more conservative: both devices must explicitly approve each other before sharing begins. Resilio allows one-way sharing more easily — anyone with the secret key can join the folder (though the folder owner can set read-only permissions).

For a home environment, both are secure. For sensitive data, Syncthing’s explicit approval model and transparent codebase provide stronger assurances.

Advanced Configuration

Syncthing: Folder Ignoring

Create a .stignore file in any synced folder to exclude patterns:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
// Ignore cache and temp directories
.cache/
.tmp/
*.tmp
*.swp

// Ignore OS-specific files
.DS_Store
Thumbs.db
desktop.ini

// Ignore node_modules and virtual environments
node_modules/
.venv/
__pycache__/

// But keep a specific file inside an ignored directory
!.gitkeep

Syncthing: Staggered File Versioning

Keep a history of changed files with automatic cleanup:

1
2
3
4
5
6
7
<!-- In config.xml, inside a folder definition -->
<versioning type="staggered">
  <param key="versionsPath" val="" />
  <param key="cleanInterval" val="3600" />
  <param key="maxAge" val="0" />
  <param key="cleanupIntervalS" val="3600" />
</versioning>

This keeps:

  • One version every 30 seconds for the first hour
  • One version every hour for the first day
  • One version every day for the first month
  • One version every week until the max age is reached

Resilio Sync: Selective Sync

In the folder’s settings, you can choose which subfolders to sync to each device:

1
2
3
4
5
Folder: /sync/documents
├── /sync/documents/finance      ✓ Sync
├── /sync/documents/engineering  ✓ Sync
├── /sync/documents/hr           ✗ Skip
└── /sync/documents/legal        ✗ Skip

This is useful when different devices need different subsets of a large shared folder.

Migrating Between Tools

From Resilio Sync to Syncthing

  1. Stop Resilio Sync on all devices to ensure a consistent state
  2. Copy your synced data to a temporary location
  3. Install Syncthing on all devices
  4. Create a shared folder in Syncthing pointing to the data
  5. Add devices using their Device IDs
  6. Let Syncthing hash and sync — it will verify file integrity and only transfer what’s missing
  7. Verify by comparing file counts and sizes across devices

For large migrations, use Syncthing’s “Send Only” mode on the source device first:

1
2
# Set folder type to sendonly
syncthing cli config folders default set type sendonly

From Syncthing to Resilio Sync

  1. Pause syncing in Syncthing on all devices
  2. Install Resilio Sync on all devices
  3. Create a folder on the primary device with your data
  4. Copy the secret key and add it to other devices
  5. Let the initial hash complete — Resilio will detect existing files and skip re-transferring them
  6. Verify file integrity, then remove Syncthing

Which Should You Choose?

Choose Syncthing if:

  • You value open-source software and want full transparency into what runs on your machine
  • You run on low-power hardware like a Raspberry Pi or NAS with limited RAM
  • You need bilateral trust — both devices must approve before sharing
  • You want zero cost with no feature gating
  • You prefer community governance over corporate decision-making
  • You need advanced versioning (staggered, trash can, external scripts)
  • You use Linux/BSD as your primary OS

Choose Resilio Sync if:

  • You need official mobile apps with full feature parity on iOS and Android
  • You want the fastest initial sync for very large folders (hundreds of GB)
  • You’re comfortable with proprietary software and trust the vendor
  • You need NAS appliance support with pre-built packages for Synology, QNAP, and WD MyCloud
  • You want a simpler setup experience with less configuration overhead
  • You need Read-Only/Read-Write permission levels managed from a central point
  • You’re in a business environment and want paid support

The Verdict

For most self-hosters in 2026, Syncthing is the default choice. It’s free, open source, actively developed, and runs everywhere. The community is large, documentation is thorough, and the bilateral trust model is the right default for personal and family use.

Resilio Sync earns its place when you need official mobile apps with a polished experience, or when raw sync speed for massive folders is the top priority. The free tier is functional, but the device and folder limits push power users toward the paid plans — at which point you’re paying for a proprietary tool when Syncthing does the job for free.

Both tools are mature and reliable. You won’t go wrong with either. But if forced to pick one for a new self-hosted setup, Syncthing’s combination of openness, zero cost, and proven reliability makes it the recommendation for 2026.

Frequently Asked Questions (FAQ)

Which one should I choose in 2026?

The best choice depends on your specific requirements:

  • For beginners: Start with the simplest option that covers your core use case
  • For production: Choose the solution with the most active community and documentation
  • For teams: Look for collaboration features and user management
  • For privacy: Prefer fully open-source, self-hosted options with no telemetry

Refer to the comparison table above for detailed feature breakdowns.

Can I migrate between these tools?

Most tools support data import/export. Always:

  1. Backup your current data
  2. Test the migration on a staging environment
  3. Check official migration guides in the documentation

Are there free versions available?

All tools in this guide offer free, open-source editions. Some also provide paid plans with additional features, priority support, or managed hosting.

How do I get started?

  1. Review the comparison table to identify your requirements
  2. Visit the official documentation (links provided above)
  3. Start with a Docker Compose setup for easy testing
  4. Join the community forums for troubleshooting
Advertise here