Tarsnap - Online backups for the truly paranoid

Navigation menu

Online backups for the truly paranoid

Tarsnap is a secure, efficient online backup service:

  • Encryption: your data can only be accessed with your personal keys.
  • Source code: the client code is available.
  • Deduplication: only the unique data between your current files and encrypted archives is uploaded.

Tarsnap runs on UNIX-like operating systems (BSD, Linux, macOS, Cygwin, etc).

Tarsnap pricing

Tarsnap uses a prepaid model based on actual usage:

Storage: 250 picodollars / byte-month of encoded data
($0.25 / GB-month)
Bandwidth: 250 picodollars / byte of encoded data
($0.25 / GB)

There are no other fees — Tarsnap has no fixed costs or minimum monthly fees.

Why use Tarsnap?

Dataflow chart of a typical backup with Tarsnap

Consider a typical backup scenario:

  • Alice begins a backup, which takes a complete snapshot of her files.
  • Tarsnap automatically finds the unique data within her files.
  • Alice pays less than $5/month.
  • Alice's data is secure.

Latest Tarsnap release

Tarsnap 1.0.40 (February 10, 2022)

Changes in this version compared to 1.0.39:

  • tarsnap now accepts a --resume-extract option to skip extracting files whose filesize and mtime match existing files on disk.
  • tarsnap now accepts --progress-bytes SIZE, which prints a progress message after each SIZE bytes are processed, up to once per file. This can be disabled with --no-progress-bytes.
  • tarsnap now accepts a --passphrase method:arg option which accepts:
    • --passphrase dev:tty-stdin
    • --passphrase dev:stdin-once
    • --passphrase dev:tty-once
    • --passphrase env:VARNAME
    • --passphrase file:FILENAME
  • tarsnap now accepts a --dump-config option to print the command-line and all non-blank lines read from config files.
  • tarsnap now exits with an error if there are unused command-line arguments. (i.e. "tarsnap -d -f a1 a2", where "a2" is unused.)
  • Improved performance on some x86, amd64, and arm64 systems by using cryptographic instruction set extensions.
  • When sent SIGINFO or SIGUSR1, tarsnap now prints the number of files and the number of uncompressed bytes processed, in addition to the previous output.
  • A zsh completion file can be installed with configure --with-zsh-completion=DIR.

As usual, there are also lots of minor build fixes, harmless bug fixes, and code cleanups.

You can see all of the changes between 1.0.39 and this version in our tarsnap git repository.