Overview
Restic and BorgBackup are incremental backup tools featuring client-side deduplication. Restic is written in Go and focuses on direct cloud provider integration. BorgBackup (Borg) is written in Python and C, optimized for SSH-based and local storage operations.
| Parameter | Restic | BorgBackup |
|---|---|---|
| Language | Go | Python / C |
| Compression | ZSTD (since v0.14) | LZ4, ZSTD, Zlib |
| Cloud (S3, B2, Azure) | Native support | Via rclone or SSH |
| Deduplication | Content-defined | Content-defined |
| Distribution | Static binary | Python dependencies |
Performance
BorgBackup shows higher data processing speeds due to mature compression algorithms and efficient local index caching. In datasets exceeding 1 TB, Borg consumes less RAM (approx. 10-20 MB per 1 GB of data), while Restic may require up to 1 GB of RAM per 1 TB of indexed data depending on chunk size. Restic is generally slower with remote repositories due to HTTP/S3 protocol overhead compared to Borg's binary protocol over SSH.
Configuration & complexity
Restic is distributed as a single executable with no dependencies. Initializing an S3 repo: restic -r s3:s3.amazonaws.com/bucket init. Borg requires a Python environment. For remote operations, Borg must be installed on both the client and server sides; this complicates deployment but enhances security and speed by allowing server-side data processing.
When to choose what
- Restic: Backing up directly to AWS S3, Google Cloud Storage, or Backblaze B2 without intermediate servers. Best for ephemeral containers and Kubernetes.
- BorgBackup: Storing backups on dedicated servers or NAS via SSH. Essential when storage space efficiency (via ZSTD) and recovery speed are critical.
Cost / licensing
Both projects are open-source: Restic uses BSD 2-clause, BorgBackup uses BSD 3-clause. Usage is free; costs are limited to storage fees and network egress when using cloud providers.
Ecosystem & integrations
Restic users often rely on autorestic or resticprofile for YAML-based configuration management. borgmatic is the industry standard for Borg, automating database backups and monitoring. The Vorta GUI is primarily available for Borg.
Verdict
Choose Restic if your infrastructure relies on cloud object storage and you need the simplest deployment possible. Choose BorgBackup for traditional server environments where data storage density and SSH performance are the priorities.