Tools · SPBoucher
Menu

restic

In-depth entry

by restic project (Alexander Neumann and contributors) · CLI tool

Encrypted, deduplicating backup program written in Go that stores snapshots in local, SFTP, S3-compatible and many cloud backends

BSD-2-Clause licenseOpen sourceFreeLocalSelf-hostable
Visit official site Compare

Link verified Nov 2, 2026

Overview

restic is an open-source backup tool, written in Go and licensed under BSD-2-Clause, that saves directory snapshots into a repository where every file is split into content-defined chunks, deduplicated and encrypted before leaving the machine. The repository format is independent of the backend, so the same commands work against a local disk, an SFTP server, S3-compatible object storage (including MinIO and Backblaze B2), Azure, Google Cloud Storage, the project's own rest-server, or any of the dozens of providers reachable through rclone.

Typical use is a scheduled restic backup of selected paths followed by restic forget --prune with a retention policy, and occasional restic check runs to verify integrity. Snapshots can be listed, diffed, restored partially or mounted as a read-only FUSE filesystem for browsing. Because encryption and deduplication happen client-side, the storage provider never sees plaintext, and backing up several machines into one repository shares identical chunks. Wrappers such as resticprofile or autorestic add configuration files and scheduling, and restic runs on macOS, Linux, Windows and BSD as a single static binary.

Its constraints: there is no server-side component or central scheduler, so each client needs its own cron, launchd or systemd timer; pruning and checking large repositories take time and memory; compression was added relatively recently (repository format v2) and must be enabled; and repository-level locking makes concurrent operations from several hosts something to plan for.

Capabilities

  • Client-side AES-256 encryption with authenticated chunks
  • Content-defined chunking and deduplication across snapshots and hosts
  • Backends: local, SFTP, S3-compatible, Azure, GCS, rest-server and rclone
  • Retention policies with forget and prune
  • Integrity verification with check, including data re-reading
  • Partial restores, snapshot diffs and FUSE mount for browsing
  • Optional compression in repository format v2

Typical workflows

  1. Nightly encrypted backup of a workstation to S3-compatible storage
  2. Back up several servers into one deduplicated repository over SFTP
  3. Browse and restore a single file from a past snapshot
  4. Verify repository health on a schedule

Strengths

  • Single static binary on all major platforms
  • Storage-agnostic repository format
  • Strong default encryption with no plaintext at rest remotely
  • Permissive BSD license and active maintenance

Limitations

  • No built-in scheduler or server; relies on external timers and wrappers
  • Prune and check can be slow on very large repositories
  • Repository locks complicate concurrent access from many hosts
  • Compression must be enabled and only applies to format v2 repositories

Prerequisites

  • restic binary on each client
  • A storage target (disk, SFTP host, object storage or rclone remote)

Who it is for

  • Individuals and homelab users
  • System administrators backing up small fleets
  • Researchers protecting data on workstations and servers

Alternatives & comparison

BorgBackup offers the same encrypted, deduplicated model with mature compression and is often faster on local or SSH targets, but it requires Borg on the remote side for best performance and has no native object-storage backends in its stable series. rclone is a sync and transfer tool rather than a snapshotting backup program; it is commonly used as a backend for restic and for one-way mirrors where versioning is not needed.

  • BorgBackup

    Deduplicating backup archiver with compression and authenticated encryption that stores repositories on local disks or remote hosts over SSH

    Open sourceOpen source
  • rclone

    Command-line program to sync, copy, mount and serve files across dozens of cloud storage providers and protocols, with optional client-side encryption

    Open sourceOpen source
Compare restic with its alternatives →

Sources & verification

Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.

  • License
    restic LICENSE (BSD 2-Clause)

    https://github.com/restic/restic/blob/master/LICENSE

    Supports: license_spdx, source_model

    checked Nov 1, 2026
  • Official documentation
    restic documentation

    https://restic.readthedocs.io/en/stable

    Supports: capabilities, integrations, workflows, limitations

    checked Nov 1, 2026
  • Official site
    restic · Backups done right!

    https://restic.net/

    Supports: name, summary

    checked Nov 1, 2026
Confidence
High
Reviewed
Nov 1, 2026
Links
Verified · Nov 2, 2026

Spotted an error?

Broken link, outdated license, wrong category, or a tool that no longer exists? Tell us; reports are reviewed by the editor.

MinIO (AIStor)

MinIO, Inc. · Backup & recovery

S3-compatible object storage server; the AGPL community edition was archived in April 2026 and succeeded by MinIO's AIStor Free and AIStor Enterprise editions

MixedFreeEnterpriseSelf-hostedRenamedBroken