Skip to content
Rested
All guides
10 min readWritten and maintained by Rested

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.

restic vs BorgBackup: which backup tool should you use? article thumbnail
Decision recap
restic vs BorgBackup

The important distinction is the repository model, not a generic feature score.

Scroll horizontally to compare every option.

resticBorgBackup
Typical remote targetObject storage, SFTP, REST, or localBorg repository over SSH or local
Native object-storage repositoryYesNo
Client-side encryptionYesYes
DeduplicationContent-defined chunksContent-defined chunks
Remote append-only modeDepends on storage designRepository option
Scheduling and fleet monitoringRequires an operating layerRequires an operating layer

Validate performance, retention behavior, and recovery against your own storage target before migrating.

What they have in common

restic and BorgBackup are established open-source backup tools for Linux and other supported platforms. Both offer self-contained command-line releases, client-side authenticated encryption, content-defined deduplication, snapshot retention, repository checks, and selective restore. Their overlapping feature lists can hide a more consequential difference: the storage and trust model each tool expects.

  • 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 supports several object-storage services and S3-compatible endpoints, as well as SFTP, REST-server, and local repositories. Object storage does not need a restic process on the storage side. That is useful when the desired recovery boundary is a bucket rather than another managed server.

Borg's usual remote model is a Borg process reached over SSH. Native object-storage repositories are not part of that model, so using a bucket requires an additional bridge, service, or different repository design. That extra dependency should be evaluated as part of recovery rather than treated as a Borg feature.

    Performance needs a workload test

    Both tools deduplicate and compress data, but there is no honest universal winner for speed or repository size. Results change with file sizes, churn, compression settings, client CPU and memory, latency, cache state, and the storage backend. A benchmark that ignores restore and maintenance work is incomplete.

    Test a representative data set against the actual target. Measure the first backup, a normal incremental, repository maintenance, and a cold restore. Also record temporary disk use and memory on the smallest server you operate. Those numbers are more useful than a benchmark from another workload.

      Compare the deletion trust boundary

      Borg can configure a remote repository in append-only mode so a client is not permitted to permanently remove previously committed backup data. Borg's documentation also makes the remaining boundary clear: an administrator of the repository server can still delete it, so server access and independent copies still matter.

      A restic client that holds ordinary read-write repository credentials can apply retention and remove data. Object-storage versioning or protected copies can add recovery options, but retention and immutable-storage rules must be designed together. Whichever engine you choose, document which identity can delete every copy.

        Restores and portability

        Both restore individual files or whole archives or snapshots, and both can mount repository contents for browsing on supported systems. Recovery still depends on the client binary, repository location, access credentials, encryption material, and enough target capacity.

        For restic object storage, no backup daemon from the lost source host is required. For remote Borg, the recovery plan needs a reachable Borg repository service over SSH or direct access to a recovered repository copy. Test recovery from a clean environment so hidden SSH configuration, cache files, or existing sessions do not mask a missing dependency.

          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 operate a compatible remote server over SSH and its repository controls fit your trust model.
          • Keep either tool if it already meets measured backup, restore, and operational requirements; migration itself creates work and risk.

          What neither tool provides

          Both are backup engines rather than complete fleet operations systems. They are commonly paired with cron, systemd timers, wrappers, or separate orchestration. Cross-server ownership, stale-run detection, alert routing, database-aware preparation, and restore evidence remain operating responsibilities.

          Rested provides that operating layer around restic: schedules, database-aware sources, run history, failure visibility, and guided recovery across enrolled servers while the user controls the storage and recovery key. Teams that prefer Borg need to assemble or choose an equivalent layer for their own environment.

            Technical basis

            First-party references

            Technical claims and limitations in this guide were checked against these primary sources. Confirm version-specific behavior when designing a production recovery process.

            Related from Rested

            Common questions

            Frequently asked questions

            Is restic or Borg better for backing up to S3?

            restic directly supports S3 and S3-compatible repositories. Borg's normal remote repository model uses Borg over SSH, so a bucket requires an additional bridge or service and a recovery plan for that dependency.

            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.

            Which tool is faster, restic or Borg?

            There is no universal result. Benchmark the first backup, a normal incremental, maintenance, and a cold restore using your file mix, client hardware, network, and intended repository target.