Tarsnap is the original "backups for the truly paranoid" — written by a cryptographer, billed in picodollars, encrypted to a fault. Restic is what most people use in 2026 for one reason: cost. Below is the honest comparison, including where Tarsnap still wins.
Tarsnap bills per byte in picodollars — your monthly cost depends on dedup ratio. With ServerCrate you pay $5 for 100 GB, period. No surprises after a big restore.
Every vault sits on ZFS with checksumming and snapshots. Tarsnap runs on AWS S3. Both are reliable; we're explicit about ours.
Restoring 500 GB on Tarsnap means another 500 GB of bandwidth charges. With us, restore as much as you want. The price stays $5 (or $15, or $29).
| Feature | Restic | Tarsnap |
|---|---|---|
| Pricing model | Free tool, pay your hosting provider (often flat-rate) | Per-byte: ~$0.25/GB-month storage + ~$0.25/GB bandwidth |
| Backend choice | Local, SFTP, S3, B2, Azure, GCS, rclone | AWS S3 (via Tarsnap's service only) |
| Self-hostable | Yes (any SFTP/S3 target) | No (Tarsnap service is required) |
| Encryption | AES-256-CTR + Poly1305-AES | Twofish-CTR + HMAC-SHA256 (Percival design) |
| Deduplication | Content-defined chunking | Variable-length chunking (very efficient) |
| Compression | zstd (default since 0.14) | None — relies on dedup alone |
| Platforms | Linux, macOS, Windows, FreeBSD | Linux, macOS, FreeBSD, OpenBSD (no Windows) |
| Open source | Yes (BSD-2) | Client open source; service proprietary |
| License model | Free | Service paid; client BSD-2 |
| Restore cost | Free (no egress) | ~$0.25/GB on top of storage |
Tarsnap's per-byte model made sense in 2008 when storage was expensive and clouds didn't compete on price. In 2026 it's the single biggest reason people switch. A 100 GB backup on Tarsnap costs around $25/month if your dedup ratio is 1:1 (better dedup = less). The same 100 GB on a Restic-over-SFTP host like ServerCrate is $5/month flat with no math required.
The picodollar pricing isn't a gimmick — it's mathematically honest billing. But for most workloads it ends up more expensive than flat-rate hosting, especially once bandwidth charges enter the picture during a real restore.
Both tools encrypt client-side before upload. Neither vendor (Tarsnap or your Restic host) can read your data. The cipher choice is different but both are considered secure: Tarsnap uses Twofish-CTR with HMAC-SHA256 in a custom construction designed by Colin Percival, who also created scrypt. Restic uses AES-256-CTR with Poly1305-AES authentication, an industry-standard construction.
For paranoia-grade workloads (security keys, financial records, legal documents), both are appropriate. For everyday backup use, the difference is academic — neither has known practical attacks.
This is Restic's biggest advantage. You can point it at SFTP, Amazon S3, Backblaze B2, Azure Blob, Google Cloud Storage, or anything rclone supports. If your provider goes bad, you change one config line and use someone else.
Tarsnap is the service. The client only talks to Tarsnap's servers, which run on AWS S3. There is no migration path to a different provider — you have to run a fresh backup somewhere else and let your Tarsnap data age out.
The pattern from migration discussions on Hacker News, the Tarsnap mailing list, and r/selfhosted is consistent: people stay on Tarsnap until they have a real cost shock. Usually it's a large restore that runs up a bandwidth bill, or an expanding backup set that pushes the monthly storage cost above what they expected. The encryption isn't the problem — the predictability is.
Restic's flat-pricing hosts solve that. You know what you'll pay each month before you run the backup. If you double your data, you upgrade one tier. If you restore everything, you pay nothing extra.
Here's what you actually type to get a first backup running with each tool. Assume you've installed the binary and have a destination ready.
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.
# After installing tarsnap and prepaying for service:
tarsnap-keygen --keyfile /root/tarsnap.key \
--user me@example.com --machine my-server
tarsnap -c -f my-first-backup /etc /home /var/www
Tarsnap requires an account with prepaid balance before any backup runs. The tarsnap.key file is the only way to decrypt your data — lose it and your backups are unrecoverable. Same applies to Restic's password.
The workflow you'll run during an actual emergency. Both tools support browsing snapshot contents and pulling specific files.
mkdir /mnt/backup
restic mount /mnt/backup
cp /mnt/backup/snapshots/latest/home/user/file.txt /tmp/
fusermount -u /mnt/backup
tarsnap --list-archives
tarsnap -x -f my-first-backup home/user/file.txt
Tarsnap's restore is conceptually simple — same command syntax as tar(1) by design. The cost is the bandwidth charge: every byte you restore is billed at egress rate. For Restic with a flat-rate host, restore is free. Full guide: Restic restore guide.
Private vault ready in seconds. Flat pricing, no surprises.
Cancel anytime. 10 GB free tier never expires. No egress fees.