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

FeatureDuplicati v2.2.0Kopia 0.19.0
LanguageC# (.NET)Go
Web UIYes (full-featured)Yes (functional)
CLILimitedFull-featured
EncryptionAES-256AES-256-GCM, ChaCha20-Poly1305
DeduplicationBlock-levelContent-defined chunking (better)
CompressionYes (zip, 7z)Yes (zstd, pgzip, s2)
SchedulingBuilt-in via web UIBuilt-in (UI or CLI)
Retention policiesTime-basedTime-based + custom rules
Backend storage20+ (S3, B2, GDrive, OneDrive, SFTP, etc.)S3, B2, GCS, Azure, SFTP, local, NFS, WebDAV
Google Drive supportYesVia rclone mount
OneDrive supportYesVia rclone mount
Verification/integrityManual checkAutomatic content verification
Multi-user (server mode)NoYes (Kopia Repository Server)
Cross-platformWindows, macOS, LinuxWindows, macOS, Linux
Snapshot browsingVia restore wizardMount snapshots as filesystem
RAM usage300–800 MB (spikes during large backups)200–500 MB
LicenseMITApache 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:

ScenarioDuplicatiKopia
Initial backup (50 GB)45–90 min15–30 min
Incremental backup (500 MB changed)10–20 min1–3 min
Restore (10 GB)30–60 min5–15 min
VerificationManual, slowAutomatic, 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.