Restic vs Kopia: Choosing Your Backup Tool
The Modern Backup Tool Showdown
Restic and Kopia are the two tools people recommend when someone asks “what should I use for self-hosted backups in 2026?” Both are modern, both encrypt by default, both deduplicate, both speak S3/B2/cloud storage natively. The differences are in the details.
| Aspect | Restic 0.18.1 | Kopia 0.19.0 |
|---|---|---|
| Language | Go | Go |
| First release | 2015 | 2019 |
| Web UI | None (use Backrest) | Built-in |
| Desktop app | None | KopiaUI (cross-platform) |
| Cloud backends | S3, B2, GCS, Azure, SFTP, REST | S3, B2, GCS, Azure, SFTP, Rclone, WebDAV |
| Encryption | AES-256-CTR-Poly1305 | AES-256-GCM or ChaCha20-Poly1305 |
| Compression | ZSTD, gzip, LZ4 | ZSTD, S2, pgzip, gzip |
| Scheduling | External | Built-in policies |
| Retention | restic forget --keep-* | Policy-based, per-path |
| Concurrent writes | Lock-free reads, locked writes | Supported |
| Repository server | restic rest-server | Kopia Repository Server |
| GitHub stars | 27k+ | 8k+ |
| License | BSD-2-Clause | Apache-2.0 |
Where Kopia Pulls Ahead
Built-In Web UI
Kopia’s web interface at http://localhost:51515 shows snapshot history, repository statistics, policy configuration, and lets you browse and restore files through the browser. No additional software needed.
Restic has no UI. The community-built Backrest project adds a web interface for Restic, but it’s a separate tool with its own lifecycle.
Policy-Based Automation
Kopia’s snapshot policies define what to back up, how often, how long to keep, and what to compress — per directory. Policies cascade from global to per-path:
{
"scheduling": {
"intervalSeconds": 3600
},
"retention": {
"keepDaily": 7,
"keepWeekly": 4,
"keepMonthly": 12
},
"compression": {
"compressorName": "zstd"
}
}
Set a policy once, Kopia handles scheduling forever. Restic needs external cron/systemd timers and separate forget/prune commands.
Multi-Client Repository Server
Kopia Repository Server lets multiple machines back up to the same repository simultaneously with proper access control. Each client gets its own credentials and can only see its own snapshots.
Restic’s rest-server is simpler but doesn’t provide the same per-client isolation out of the box.
Where Restic Pulls Ahead
Maturity and Ecosystem
Restic has been around since 2015 and has 27k+ GitHub stars. The ecosystem is larger:
- Backrest (web UI)
- Resticker (Docker automation)
- resticprofile (YAML configuration)
- runrestic (wrapper with metrics)
- Autorestic (YAML wrapper)
That ecosystem exists because people trust Restic’s backup engine and build tools on top of it.
Simpler Mental Model
Restic’s workflow is three commands:
restic init --repo s3:s3.amazonaws.com/my-bucket
restic backup /data
restic forget --keep-daily 7 --prune
No policies, no web UI configuration, no server component. The simplicity is a feature when you’re debugging a backup failure at 2 AM.
REST Server Simplicity
Restic’s rest-server is a single binary that serves a repository over HTTP:
rest-server --path /backups --listen :8000
Lightweight enough to run on a Raspberry Pi. Kopia’s Repository Server is more capable but heavier.
Docker Setup Comparison
Kopia with web UI:
services:
kopia:
image: kopia/kopia:0.19.0
restart: unless-stopped
ports:
- "51515:51515"
volumes:
- kopia-config:/app/config
- kopia-cache:/app/cache
- /path/to/sources:/sources:ro
- /path/to/repo:/repository
environment:
- KOPIA_PASSWORD=change-this-repository-password
command: server start --insecure --address=0.0.0.0:51515
volumes:
kopia-config:
kopia-cache:
Restic with Backrest UI:
services:
backrest:
image: garethgeorge/backrest:v1.7.2
restart: unless-stopped
ports:
- "9898:9898"
volumes:
- backrest-data:/data
- backrest-config:/config
- /path/to/sources:/sources:ro
- /path/to/repo:/repository
environment:
- BACKREST_DATA=/data
- BACKREST_CONFIG=/config/config.json
volumes:
backrest-data:
backrest-config:
Kopia’s setup is more straightforward — one container, one tool. Restic + Backrest gives you a UI but adds a dependency.
Performance Benchmarks
Real-world numbers vary by hardware, but relative comparisons hold:
| Scenario | Restic | Kopia |
|---|---|---|
| Initial backup 100 GB | ~20-30 min | ~18-28 min |
| Incremental (0.5% changed) | ~15-45 sec | ~15-45 sec |
| Restore 10 GB subset | ~3-8 min | ~3-8 min |
| Dedup ratio (mixed workload) | 3-8x | 3-8x |
| Memory during backup | 200-500 MB | 150-400 MB |
| Repository overhead | ~2-5% | ~2-5% |
Neither tool has a significant performance advantage. Both are I/O-bound in practice.
FAQ
Can I migrate between them?
Not directly. Different repository formats. You’d need to restore from one and re-backup with the other. Both support FUSE mounting, which can help.
Which is better for Backblaze B2?
Both work well with B2. Restic has supported B2 longer and has more community guides. Kopia’s B2 support is equally mature.
Can I use both?
Yes — some people use Restic for offsite cloud backups and Kopia for local NAS backups (or vice versa). Different repos, different tools, same data. Redundancy.
Which handles millions of small files better?
Kopia has an edge here due to its parallel file scanning. Restic has improved significantly in recent versions but can be slower on initial scans of very large file trees.
Is Kopia’s 0.x version number a concern?
Kopia has been stable for years despite the 0.x label. Many production deployments exist. That said, the repository format has changed between major versions in the past — check release notes before upgrading.
Final Verdict
Kopia is the better starting point for new self-hosters. The built-in web UI, policy-based scheduling, and multi-client repository server mean you need fewer additional tools. One binary does what Restic + cron + Backrest + scripts do separately.
Restic is the better choice if you value maturity, a larger ecosystem, and a simpler core tool. If you’re comfortable writing a 10-line backup script and a cron job, Restic’s simplicity is elegant rather than limiting.
Both will protect your data. If you’re paralyzed by the choice, flip a coin — you won’t regret either one.
Related
Get self-hosting tips in your inbox
New guides, comparisons, and setup tutorials — delivered weekly. No spam.