Restic vs Borg
an honest comparison from people who run both

Last reviewed, May 2026

Two serious tools, two different philosophies. Restic if you value flexibility, multiple backends, and Windows support. Borg if you value compression and append-only SSH security. Below is what each one actually does - no marketing spin, no false equivalence.

Why ServerCrate

Three things nobody else combines.

Restic-native, not Restic-compatible

Built for Restic from day one. Borg works too, but Restic is the default voice. BorgBase is Borg-first. We're the inverse.

ZFS-backed and we say so

Every vault sits on ZFS with checksumming and snapshots. Bit rot on a 3-year-old archive gets caught. Most providers won't tell you their backend.

US West Coast hosting

Single Los Angeles datacenter. Low latency for North American users. BorgBase is EU-only. rsync.net is multi-region but priced for it.

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)
Tied
Both tools saturate a 1 Gbps uplink on initial runs. No meaningful difference in throughput - you're bandwidth-bound.
Incremental Backup
Tied
Both tools dedup incrementals well. Borg may edge slightly on text-heavy workloads due to compression.
Restore Speed
Tied
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.

Who should not use ServerCrate

The strongest signal we can give you is to tell you when we are the wrong fit. Short and honest.

  • If you need 99.999% SLA.We're a small team in one Los Angeles facility. rsync.net offers stricter contractual SLAs.
  • If you're a happy Borg shop.BorgBase is purpose-built for Borg workflows; the migration cost outweighs anything we offer.
  • If you need EU data residency.Today we're US-only; BorgBase has Frankfurt and Helsinki options.
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 which means more to learn and more to go wrong.
In most production workloads they are tied -- network upload speed is the bottleneck, not the tool. Borg edges Restic on compression-heavy text data by 5 to 15 percent. Restic edges Borg on parallel uploads and on repository integrity checks over remote SFTP.
Not natively. Borg requires a POSIX environment, so Windows users need WSL and accept rough edges around path handling and permissions. Restic has a native Windows binary that works without WSL.
Borg, on text-heavy data such as source code, configs, and logs. The gap has narrowed since Restic adopted zstd as the default in 0.14. On binary or already-compressed data, neither tool helps much; both skip compression automatically.
Not directly. The repository formats are incompatible. The practical path is to start a fresh Restic backup, keep the old Borg repository read-only until its retention window expires, then decommission. There is no automated migration tool.
Get started today

Start with restic today.

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

Cancel anytime. 10 GB free tier never expires. No egress fees.

Next steps
How we protect your data
Zero-knowledge encryption, ZFS isolation, what we log
Who runs ServerCrate
Operating commitments, where data lives, transparency
First backup in 5 min
Sign up, init vault, run your first Restic backup
Try it before you decide

Encrypted Restic vault, free forever

10 GB. No credit card. Setup in 5 minutes. Card, PayPal, or Bitcoin when you upgrade.

Start free vault →