BorgBackup vs Kopia: Which Backup Tool to Self-Host?

Want deduplication-based backups without paying for cloud services? BorgBackup and Kopia both compress, encrypt, and deduplicate your data locally — but they come from different eras of backup tool design, and the gap in usability is significant.

Quick Verdict

Kopia wins on usability and modern features. It includes a built-in web UI, official Docker images, native cloud storage backends (S3, B2, Azure), and FUSE snapshot browsing — all out of the box. BorgBackup is the proven veteran (10+ years, battle-tested) with superior deduplication ratios and a massive ecosystem of frontends. For new deployments, Kopia is the easier path. For users already invested in Borg’s ecosystem, the migration cost may not be worth it.

Overview

BorgBackup (Borg) is a deduplication backup tool that has been the gold standard in the self-hosted backup space since its 2015 fork from Attic. Written in Python and C, it achieves high deduplication ratios through content-defined chunking with a Buzhash rolling hash. Borg repositories are local or accessed via SSH — there’s no native cloud storage support. Version 1.4.0 is the current stable release, with Borg 2.0 in beta.

Kopia is a modern backup tool written in Go that launched in 2019. It combines deduplication, encryption, compression, and error correction in a single binary with a built-in web UI. Kopia connects natively to S3-compatible storage, Backblaze B2, Azure Blob, Google Cloud Storage, and local/SFTP backends. Version 0.22.3 is the current stable release (December 2025).

Feature Comparison

FeatureBorgBackupKopia
LanguagePython + C (Cython)Go
First release2015 (Attic fork)2019
DeduplicationContent-defined chunking (Buzhash)Content-defined chunking
EncryptionAES-256-CTR + HMAC-SHA256AES-256-GCM, ChaCha20-Poly1305
Compressionlz4, zstd, zlib, lzmazstd, s2, pgzip, gzip
Web UINone (CLI-only; use Borgmatic or Vorta)Built-in (KopiaUI)
Cloud storageNone native (SSH/local only)S3, B2, Azure, GCS, Rclone
FUSE mountYes (mount archives as filesystem)Yes (mount snapshots as filesystem)
Error correctionNoBuilt-in (Reed-Solomon)
Docker imageCommunity onlyOfficial (kopia/kopia)
Repository server modeNo (client-side only)Yes (centralized Kopia server)
Database backup integrationVia Borgmatic (PostgreSQL, MySQL, MongoDB)Manual (pre-backup scripts)
Monitoring hooksVia Borgmatic (Healthchecks, ntfy, PagerDuty)Built-in notifications
Retention policiesPrune by count, daily, weekly, monthly, yearlyFull policy engine (per-directory policies)
GitHub stars~11,800~12,700

Installation Complexity

Kopia offers the simpler Docker deployment — one container runs a repository server with web UI:

services:
  kopia:
    image: kopia/kopia:0.22.3
    ports:
      - "51515:51515"
    command: server start --address=0.0.0.0:51515 --insecure
    volumes:
      - kopia-config:/app/config
      - kopia-cache:/app/cache
      - kopia-repo:/repository
      - /data:/source:ro
    restart: unless-stopped

volumes:
  kopia-config:
  kopia-cache:
  kopia-repo:

BorgBackup has no official Docker image and no built-in UI. Most users pair it with Borgmatic for automation:

services:
  borgmatic:
    image: ghcr.io/borgmatic-collective/borgmatic:2.1.2
    volumes:
      - /etc/borgmatic:/etc/borgmatic:ro
      - borg-cache:/root/.cache/borg
      - /srv:/srv:ro
    environment:
      - CRON_SCHEDULE=0 3 * * *
    restart: unless-stopped

volumes:
  borg-cache:
Setup StepBorgBackupKopia
Installpip/package manager + BorgmaticDocker pull
Repository initborg init --encryption=repokeyWeb UI or kopia repo create
Configure backup sourcesEdit Borgmatic YAMLWeb UI policies
Cloud backendSSH tunnel to remote serverNative S3/B2/Azure
Web managementNot available (CLI or Vorta GUI)Built-in
Time to first backup15–20 min5–10 min

Performance and Resource Usage

BorgBackup’s Python/C implementation is highly optimized for deduplication. In benchmarks with large datasets, Borg often achieves slightly higher dedup ratios than Kopia due to its mature chunking algorithm.

Kopia’s Go implementation is faster for initial backups on multi-core systems (better parallelism) but uses more memory during deduplication.

ResourceBorgBackupKopia
RAM (during backup)200–500 MB300–600 MB
CPU utilizationModerate (single-threaded chunking)Higher (parallel chunking)
Dedup ratio (typical)Excellent (mature algorithm)Very good
Initial backup speedModerateFast (parallel processing)
Incremental speedFastFast
Disk (application)~20 MB~50 MB

Community and Support

BorgBackup has a decade of production use behind it. The 11,800+ GitHub stars undercount its popularity — Borg is the default backup recommendation in nearly every self-hosted community. The ecosystem is broad: Borgmatic (server automation), Vorta (desktop GUI), BorgBase (hosted repositories), and extensive third-party documentation.

Kopia is newer but growing rapidly. With 12,700+ GitHub stars (surpassing Borg), active development, and an official Docker image, it’s gained significant traction since 2023. The built-in UI lowers the barrier to entry compared to Borg’s CLI-first approach.

Use Cases

Choose BorgBackup If…

  • You already use Borg and have established repositories (no reason to migrate)
  • You need database-aware backups via Borgmatic (PostgreSQL, MySQL, MongoDB dumps)
  • You want the highest possible deduplication ratios for large datasets
  • You back up to SSH-accessible servers (no cloud storage needed)
  • You want the broadest ecosystem of frontends and integrations
  • You need monitoring hooks via Borgmatic (Healthchecks, Uptime Kuma, ntfy)

Choose Kopia If…

  • You’re setting up backups from scratch and want the fastest path to working backups
  • You need native cloud storage support (S3, Backblaze B2, Azure, GCS)
  • You want a built-in web UI without installing additional tools
  • You prefer official Docker images and a single-binary architecture
  • You want built-in error correction (Reed-Solomon) to protect against storage corruption
  • You need a centralized repository server for managing backups from multiple machines

Final Verdict

Kopia wins on accessibility and modern deployment patterns. The built-in web UI, official Docker support, native cloud backends, and error correction make it the more complete out-of-the-box solution. If you’re starting fresh, Kopia gets you to working, encrypted, deduplicated backups faster.

BorgBackup wins on ecosystem maturity and proven reliability. A decade of production use, Borgmatic’s database integration, and the highest deduplication ratios in the space make it the safer choice for mission-critical server backups — especially if you already have SSH-based backup infrastructure.

Neither is a wrong choice. For most home servers, Kopia’s lower friction wins. For production infrastructure with database backup needs, BorgBackup + Borgmatic is the more battle-tested combination.

Frequently Asked Questions

Can I migrate from BorgBackup to Kopia?

Not directly — the repository formats are incompatible. You’d need to create a fresh Kopia repository and re-back up your data. The initial backup will take as long as a fresh backup, but subsequent incrementals will be fast.

Does Kopia support Borg repositories?

No. Kopia uses its own repository format. They are entirely separate backup ecosystems.

Which is more secure?

Both support strong encryption (AES-256). Kopia additionally offers ChaCha20-Poly1305 and includes Reed-Solomon error correction. BorgBackup supports authenticated encryption modes (repokey-blake2). Both are suitable for encrypted backups — the security difference is marginal.

Comments