Rested
All guides
7 min read

restic vs BorgBackup: which backup tool should you use?

A practical comparison of restic and BorgBackup — encryption, deduplication, cloud storage support, performance, and which fits a Linux server backup setup.

What they have in common

restic and BorgBackup are the two most popular open-source, encrypted, deduplicating backup tools for Linux. They are both mature, actively maintained, single-binary CLI tools that give you the properties that actually matter for backups.

  • Client-side encryption — data is encrypted before it leaves the machine, so the storage target only holds ciphertext.
  • Content-defined deduplication — only changed chunks are stored, so incrementals are small and repositories stay compact.
  • Snapshots — every backup is a point-in-time snapshot you can browse, restore selectively, or prune with a retention policy.

The main difference: remote storage

restic speaks object storage natively. It backs up directly to S3, Backblaze B2, Azure, Google Cloud Storage, any S3-compatible endpoint, SFTP, or a local path — no extra software on the far end. That makes it a natural fit for cheap cloud buckets.

BorgBackup is fastest and happiest talking to a machine that also runs Borg over SSH. To use it with an object store you add a layer such as borgmatic plus rclone, or a hosted service. Borg's server-side component also enables append-only repositories — a strong defence against a compromised client deleting its own backups.

Performance and footprint

Borg has a long-standing reputation for tight compression and low storage use, helped by server-side chunk caching. restic has closed much of the gap, and its repository format v2 improved memory use and pruning speed considerably. For most workloads the difference is minor next to the bandwidth to your storage. Both support compression and tunable retention.

Restores and portability

Both restore individual files or whole snapshots, and both can mount a repository as a filesystem to browse before restoring. Because restic reads directly from object storage, a bare-metal recovery only needs the restic binary, the repository URL, read credentials, and the password — handy when the original host is gone.

restic -r s3:https://s3.example.com/backups snapshots
restic -r s3:https://s3.example.com/backups restore latest --target /restore

So which one?

Both are excellent engines. The choice usually comes down to where the backups live.

  • Choose restic if you want to back up to cloud object storage with minimal moving parts.
  • Choose Borg if you back up over SSH to your own server or NAS and want append-only, anti-tamper repositories.

What neither tool provides

Both are strong backup engines, but neither gives you an operational view across servers. Out of the box you have a CLI and cron, with no single place to see which hosts backed up last night, which failed, or how old your newest recovery point is. Most teams end up building that themselves. Rested provides it on top of restic: schedules, run history, failure alerts, and restores across every server from one place, with encryption keys that stay with you.

Related from Rested

Common questions

Frequently asked questions

Is restic or Borg better for backing up to S3?

restic. It writes to S3 and S3-compatible object storage natively with no extra components. Borg needs an added layer such as borgmatic plus rclone, or a hosted service, to target object storage.

Does Borg have an advantage over restic?

Borg's server-side component enables append-only repositories, which protect backups from a compromised client, and it has a strong reputation for storage efficiency when backing up over SSH to a machine that also runs Borg.

Can I read a restic repository without extra software?

You only need the restic binary, the repository URL, read credentials, and the encryption password. restic reads directly from storage, so recovery does not depend on any server-side component.