Restic vs BorgBackup
an honest comparison for 2026

Both restic and BorgBackup are serious, privacy-respecting open-source backup tools. They solve the same problem differently. This comparison covers speed, compression, backend support, security model, and which fits your workflow.

Quick summary

  • Choose restic if:You want the easiest setup, need Windows/macOS support, want S3/B2/SFTP backends, or are starting fresh in 2025/2026.
  • Choose Borg if:You are already using it, want the best compression on text-heavy data, only back up Linux/macOS systems, and prefer SSH append-only mode.

Side-by-side comparison

FeatureResticBorgBackup
PlatformsLinux, macOS, Windows, FreeBSDLinux, macOS (limited Windows)
Backend supportLocal, SFTP, S3, B2, Azure, GCS, rcloneLocal, SFTP/SSH only natively
Compressionzstd, lz4, gzip (good)lz4, zlib, zstd (often better)
EncryptionAES-256 client-sideAES-256 client-side
DeduplicationContent-defined chunkingVariable-length chunking (often smaller)
Setup complexityLowMedium
Append-only modeVia rest-serverNative SSH append-only
GUI optionsBackrest, ResticprofileVorta, BorgBase
Active developmentYesYes
Windows supportFullLimited, WSL workaround

Compression and deduplication

Borg typically achieves better compression on text-heavy workloads like source code, logs, and config files. Restic uses zstd by default since 0.14 and the difference is smaller than it used to be. For binary data, media files, and already-compressed files, neither tool helps much - compression is skipped automatically.

Deduplication is roughly comparable. Borg's variable-length chunking can be more efficient on certain workloads. Restic's content-defined chunking is predictable and works well across all data types.

Backend support

This is restic's biggest advantage. It natively supports SFTP, S3-compatible storage, Backblaze B2, Azure Blob, Google Cloud Storage, and anything rclone can reach. Borg natively supports local and SSH/SFTP only - you need rclone as a wrapper for cloud backends.

If you want to back up to multiple cloud backends, or need S3 or B2 specifically, restic is the cleaner choice.

Security model

Both tools encrypt everything client-side before upload. Neither the storage provider nor an attacker who compromises the storage can read your data without the key. Borg's SSH append-only mode is excellent - it prevents an attacker who gains access to your backup client from deleting existing backups. Restic's rest-server provides similar protection via its append-only mode.

Which to use in 2026

For new setups, restic is the more practical default. The broader backend support, better Windows handling, and simpler mental model make it easier to maintain long-term. If you are already using Borg and happy with it, there is no reason to switch. The tools are comparable in reliability and both have active communities.

Restic in 2026 - what has changed

Restic has been the faster-moving project over the past two years. The 0.16 and 0.17 releases brought improved compression defaults (zstd is now the default), better large-repository performance, and enhanced copy command support for migrating between backends. The go-based single binary model means upgrading is a drop-in replace with no dependency chain to manage.

Borg 2.0 has been in development for several years and brings significant improvements including a new archive format and better performance, but the migration path from Borg 1.x requires manual steps. For existing Borg users this is a consideration for planning upgrades.

Hosted backup services: restic vs Borg

The hosted backup service landscape reflects the tool split. BorgBase is the primary managed hosting option for Borg users. For Restic users, ServerCrate provides a dedicated SFTP vault purpose-built for the Restic over SFTP workflow - private vault per user, ZFS-backed, flat pricing, no egress fees.

If you are choosing between restic and Borg partly based on hosted service quality, the comparison is between BorgBase (mature, EU + US options, strong Borg-specific tooling) and ServerCrate (purpose-built for Restic, US West Coast, ZFS storage integrity, simpler pricing). See the BorgBase vs ServerCrate comparison for more detail.

Making the final decision

If you are starting fresh in 2026 with no existing backup history: use restic. The setup is simpler, the backend support is broader, and the community resources are excellent. If you have years of Borg repositories and a working setup: stay on Borg. Migration is painful and the tools are functionally comparable for Linux server use cases. The right tool is the one you will actually maintain and test restores on.

First-run setup commands, side by side

Here's what you actually type to get a first backup running with each tool. Assume you've installed the binary (apt install, pacman -S, or download the static binary) and you have an SFTP destination.

Restic: three commands to first backup

export RESTIC_REPOSITORY=sftp:user@host:/path/to/repo
export RESTIC_PASSWORD=your-password
restic init
restic backup /etc /home /var/www

That's the whole setup. restic init creates the encrypted repository, restic backup creates a snapshot. No config file, no additional tooling.

Borg: four commands, plus SSH config

# Configure SSH key auth with the remote first
export BORG_REPO=ssh://user@host/path/to/repo
export BORG_PASSPHRASE=your-password
borg init --encryption=repokey-blake2 $BORG_REPO
borg create $BORG_REPO::'{hostname}-{now}' /etc /home /var/www

Borg requires SSH key-based auth on the server side (password SSH doesn't play well with Borg's SSH multiplexing). Once SSH is set up, the workflow is similar but the repository format is different.

Retention policy syntax, compared

Both tools support similar retention concepts but with different flag syntax. A typical homelab retention (keep 7 daily, 4 weekly, 12 monthly) looks like this:

Restic retention

restic forget \
  --keep-daily 7 \
  --keep-weekly 4 \
  --keep-monthly 12 \
  --prune

Borg retention

borg prune -v --list $BORG_REPO \
  --keep-daily 7 \
  --keep-weekly 4 \
  --keep-monthly 12

Nearly identical. See our full Restic retention policy guide for edge cases like yearly retention, tag-based pruning, and avoiding common mistakes.

Single-file restore: how each tool handles it

This is the workflow you'll run during a real emergency. Fast, targeted restoration matters more than anything else. Both tools support browsing snapshot contents and pulling specific files.

Restic: mount and cp

mkdir /mnt/backup
restic mount /mnt/backup
# browse the tree, find your file
cp /mnt/backup/snapshots/latest/home/user/file.txt /tmp/
fusermount -u /mnt/backup

Borg: extract with path filter

borg list $BORG_REPO
borg extract $BORG_REPO::snapshot-name home/user/file.txt

Restic's mount workflow is more intuitive if you're used to standard Unix file operations. Borg's extract is faster for known-path restores. Full restore guides: Restic restore guide.

Performance benchmarks: the practical reality

Both tools are fast enough that network upload speed is almost always the bottleneck. Here's what actually differs in practice:

Initial Backup (500 GB)
~Equal
Both tools saturate a 1 Gbps uplink on initial runs. No meaningful difference in throughput - you're bandwidth-bound.
Incremental Backup
~Equal
Both tools dedup incrementals well. Borg may edge slightly on text-heavy workloads due to compression.
Restore Speed
~Equal
Single-file restore is network-bound. Large restores vary by random-access pattern and chunk cache behavior.
Repository Check
Restic wins
Restic's check --read-data tends to be faster for integrity audits, especially over remote SFTP.

When Borg is genuinely better

  • Compression-heavy workloads.Source code repos, log archives, configs. Borg's zstd defaults are tuned more aggressively and historically achieve 5-15% better compression on text-dominated datasets.
  • SSH append-only security model.Borg's native --append-only mode is a clean protection against ransomware on the client side: even if your backup client is compromised, the attacker can't delete existing snapshots. Restic can achieve this with rest-server but it's not the default.
  • You already have a working Borg setup.Don't fix what isn't broken. Migration pain is real, and there's no tool-level advantage that justifies rebuilding a healthy Borg repository.

When Restic is genuinely better

  • Multi-platform environments (includes Windows).Borg on Windows requires WSL and has rough edges. Restic has a native Windows binary that works cleanly.
  • Cloud backend variety.Restic natively supports S3, Backblaze B2, Azure Blob, GCS, SFTP, and rclone. Borg is SFTP-first; cloud requires rclone-as-a-wrapper.
  • Simpler mental model for new users.Fewer concepts, clearer docs, more straightforward failure modes. Reasonable default choice for anyone starting in 2026.
  • Managed hosting options.Restic hosting providers like ServerCrate offer simpler onboarding than Borg-only services - you get connection strings to paste, not SSH keys to provision and rotate manually.
FAQ

Common questions.

Restic. The setup is simpler, the documentation is clearer, and the mental model (repository, snapshot, password) is easier to reason about. Borg has more knobs but that also means more to go wrong.
Not directly - the repository formats are incompatible. You would need to run a fresh restic backup and keep Borg for restoring old snapshots until the retention window expires. There is no automated migration tool.
Not natively. Borg requires a POSIX environment, so Windows users need WSL. Restic has a native Windows binary and works without WSL.
Borg generally achieves better compression ratios on text-heavy data. The gap has narrowed as restic added zstd support. For most backup workloads the practical difference in storage cost is under 10%.
Get started today

Start with restic today.

Private vault ready in seconds. Works with any restic setup.

No egress fees, cancel anytime, 7-day money-back guarantee