Duplicati vs Kopia: Backup Tools Compared
Kopia Wins for Most Self-Hosters
Kopia is faster, more reliable, and has better deduplication than Duplicati. Duplicati’s web UI is more polished for beginners, and it supports more cloud storage backends out of the box. But Kopia’s speed advantage is dramatic — backup and restore operations that take hours in Duplicati finish in minutes with Kopia. If you’re backing up anything larger than a few gigabytes, Kopia is the clear choice.
Overview
Duplicati is a backup tool that’s been around since 2008. The current version (2.x) has a web UI for scheduling backups to 20+ cloud storage destinations. It uses AES-256 encryption and splits backups into small blocks for efficient cloud uploads. Duplicati is written in C# (.NET) and runs on Windows, macOS, and Linux. The beta label has been on version 2 for years, but it’s widely used in production. duplicati.com
Kopia is a newer backup tool written in Go. It focuses on speed, deduplication, and encryption. It includes both a CLI and a web UI, supports S3, B2, SFTP, Google Cloud, Azure, and local/NFS storage. Kopia creates content-addressable snapshots — meaning identical files across different backup sources are stored only once. kopia.io
Feature Comparison
| Feature | Duplicati v2.2.0 | Kopia 0.19.0 |
|---|---|---|
| Language | C# (.NET) | Go |
| Web UI | Yes (full-featured) | Yes (functional) |
| CLI | Limited | Full-featured |
| Encryption | AES-256 | AES-256-GCM, ChaCha20-Poly1305 |
| Deduplication | Block-level | Content-defined chunking (better) |
| Compression | Yes (zip, 7z) | Yes (zstd, pgzip, s2) |
| Scheduling | Built-in via web UI | Built-in (UI or CLI) |
| Retention policies | Time-based | Time-based + custom rules |
| Backend storage | 20+ (S3, B2, GDrive, OneDrive, SFTP, etc.) | S3, B2, GCS, Azure, SFTP, local, NFS, WebDAV |
| Google Drive support | Yes | Via rclone mount |
| OneDrive support | Yes | Via rclone mount |
| Verification/integrity | Manual check | Automatic content verification |
| Multi-user (server mode) | No | Yes (Kopia Repository Server) |
| Cross-platform | Windows, macOS, Linux | Windows, macOS, Linux |
| Snapshot browsing | Via restore wizard | Mount snapshots as filesystem |
| RAM usage | 300–800 MB (spikes during large backups) | 200–500 MB |
| License | MIT | Apache 2.0 |
Backup Speed
This is Kopia’s biggest advantage. Kopia’s Go-based engine with content-defined chunking is significantly faster than Duplicati’s .NET implementation:
| Scenario | Duplicati | Kopia |
|---|---|---|
| Initial backup (50 GB) | 45–90 min | 15–30 min |
| Incremental backup (500 MB changed) | 10–20 min | 1–3 min |
| Restore (10 GB) | 30–60 min | 5–15 min |
| Verification | Manual, slow | Automatic, faster |
Approximate times on a 4-core server backing up to local NAS via NFS. Actual times depend on storage speed, compression ratio, and data types.
Duplicati’s slowness during large backups is well-documented in community forums. It also has higher memory usage during operations — backups of 100+ GB datasets can cause Duplicati to use 2+ GB of RAM temporarily.
Deduplication Quality
Both tools deduplicate data, but their approaches differ:
Duplicati uses fixed-size block splitting. Files are divided into blocks of a configured size (default 100 KB–1 MB). If a file changes in the middle, the blocks after the change point are all considered new — even if the content is identical.
Kopia uses content-defined chunking (like BorgBackup and Restic). Block boundaries are determined by the content itself using a rolling hash. If a file changes in the middle, only the changed blocks are new — blocks before and after remain deduplicated. This results in better deduplication ratios, especially for large files that get small modifications (databases, virtual disk images, mail archives).
Reliability
Duplicati has a reputation for occasional database corruption, especially after interrupted backups or when backing up very large datasets. The project’s issue tracker has many reports of “database recreate” being needed. While rare in recent versions, this is a legitimate concern for production backups.
Kopia uses a content-addressable object store design that’s inherently more resistant to corruption. Each object’s hash is its address — corruption is detectable automatically. The trade-off is that Kopia’s repository format is less flexible for disaster recovery (you need the repository password and metadata to restore).
Setup Comparison
Duplicati:
services:
duplicati:
image: lscr.io/linuxserver/duplicati:v2.2.0.3-ls5
container_name: duplicati
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- duplicati-config:/config
- /path/to/backups:/backups # Backup destination
- /path/to/source:/source:ro # Data to back up
ports:
- "8200:8200"
restart: unless-stopped
volumes:
duplicati-config:
Kopia:
services:
kopia:
image: kopia/kopia:0.19.0
container_name: kopia
command:
- server
- start
- --insecure
- --address=0.0.0.0:51515
- --server-control-username=admin
- --server-control-password=change-this-password
environment:
- KOPIA_PASSWORD=change-this-repo-password
volumes:
- kopia-config:/app/config
- kopia-cache:/app/cache
- kopia-repo:/app/repository
- /path/to/source:/data:ro
ports:
- "51515:51515"
restart: unless-stopped
volumes:
kopia-config:
kopia-cache:
kopia-repo:
Both are straightforward single-container deployments. Duplicati’s LinuxServer.io image handles permissions via PUID/PGID. Kopia requires initializing a repository before the first backup (kopia repository create filesystem --path /app/repository).
Choose Duplicati If…
- You need Google Drive, OneDrive, or Dropbox as backup destinations (native support)
- You prefer a wizard-style web UI for configuring backups
- You’re on Windows and need a native backup solution
- Your backup sets are small (under 50 GB)
- You’re already using it and it’s working — don’t fix what isn’t broken
Choose Kopia If…
- Backup speed and efficiency matter (datasets over 10 GB)
- You want better deduplication (content-defined chunking)
- You need server mode for backing up multiple machines to one repository
- You want CLI-first operation with an optional web UI
- You’re backing up to S3, B2, SFTP, or local storage
- You want to mount and browse snapshots as a filesystem
Verdict
Kopia is the better backup tool for most self-hosters. It’s faster, more memory-efficient, has better deduplication, and its repository format is more resilient. The web UI is less polished than Duplicati’s, but the speed and reliability advantages more than compensate.
Duplicati still has a place for users who need native support for consumer cloud storage (Google Drive, OneDrive) without going through rclone. If your backup destination is a personal Google Drive account and your data is under 50 GB, Duplicati’s setup wizard makes it trivially easy.
For everything else — especially NAS, S3, or B2 backups — Kopia is the modern choice. Consider also Restic and BorgBackup, which compete in the same “fast, deduplicated, encrypted” category.
FAQ
Can Kopia back up to Google Drive?
Not natively. You can use an rclone mount to present Google Drive as a local filesystem, then point Kopia at that mount. Duplicati has native Google Drive support with OAuth authentication in its web UI.
Is Duplicati’s database corruption issue still a problem?
It’s less common in recent versions, but still reported occasionally. The issue typically occurs when a backup is interrupted (system crash, network timeout) and the local database becomes inconsistent with the remote data. Duplicati can rebuild its database from remote data, but the process is slow for large backup sets.
Can I migrate from Duplicati to Kopia?
Not directly — the backup formats are incompatible. You’d need to restore from Duplicati to a local directory, then create a new Kopia backup of that directory. Keep your Duplicati repository accessible until you’ve verified the Kopia backup works.
Related
Get self-hosting tips in your inbox
New guides, comparisons, and setup tutorials — delivered weekly. No spam.