Note that if at any point the package you’re trying to use is outdated, you always have the option to use an official binary from the restic project.

These are up to date binaries, built in a reproducible and verifiable way, that you can download and run without having to do additional installation work.

Please see the Official Binaries section below for various downloads.

Mac OS X

If you are using Mac OS X, you can install restic using the homebrew package manager:

$ brew install restic

Arch Linux

On Arch Linux, there is a package called restic-git which can be installed from AUR, e.g. with pacaur:

$ pacaur -S restic-git

Nix & NixOS

If you are using Nix or NixOS there is a package available named restic. It can be installed uisng nix-env:

$ nix-env --install restic


On Debian, there’s a package called restic which can be installed from the official repos, e.g. with apt-get:

$ apt-get install restic


Please be aware that, at the time of writing, Debian stable has restic version 0.3.3 which is very old. The testing and unstable branches have recent versions of restic.


restic can be installed via copr repository.

$ yum install yum-plugin-copr
$ yum copr enable copart/restic
$ yum install restic


restic can be installed via copr repository.

$ dnf install dnf-plugin-core
$ dnf copr enable copart/restic
$ dnf install restic


On OpenBSD 6.3 and greater, you can install restic using pkg_add:

# pkg_add restic

Official Binaries

Stable Releases

You can download the latest stable release versions of restic from the restic release page. These builds are considered stable and releases are made regularly in a controlled manner.

There’s both pre-compiled binaries for different platforms as well as the source code available for download. Just download and run the one matching your system.

Unstable Builds

Another option is to use the latest builds for the master branch, available on the restic beta download site. These too are pre-compiled and ready to run, and a new version is built every time a push is made to the master branch.


On Windows, put the restic.exe into %SystemRoot%System32 to use restic in scripts without the need for absolute paths to the binary. This requires Admin rights.

Docker Container


A docker container is available as a contribution (Thank you!).

From Source

restic is written in the Go programming language and you need at least Go version 1.8. Building restic may also work with older versions of Go, but that’s not supported. See the Getting started guide of the Go project for instructions how to install Go.

In order to build restic from source, execute the following steps:

$ git clone

$ cd restic

$ go run build.go

You can easily cross-compile restic for all supported platforms, just supply the target OS and platform via the command-line options like this (for Windows and FreeBSD respectively):

$ go run build.go --goos windows --goarch amd64

$ go run build.go --goos freebsd --goarch 386

$ go run build.go --goos linux --goarch arm --goarm 6

The resulting binary is statically linked and does not require any libraries.

At the moment, the only tested compiler for restic is the official Go compiler. Building restic with gccgo may work, but is not supported.


Restic can write out a bash compatible autocompletion script:

$ ./restic autocomplete --help
The "autocomplete" command generates a shell autocompletion script.

NOTE: The current version supports Bash only.
      This should work for *nix systems with Bash installed.

By default, the file is written directly to /etc/bash_completion.d/ for convenience, and the command may need superuser rights, e.g.

$ sudo restic autocomplete

  restic autocomplete [flags]

      --completionfile string   autocompletion file (default "/etc/bash_completion.d/")

Global Flags:
      --json                   set output mode to JSON for commands that support it
      --no-lock                do not lock the repo, this allows some operations on read-only repos
  -o, --option key=value       set extended option (key=value, can be specified multiple times)
  -p, --password-file string   read the repository password from a file
  -q, --quiet                  do not output comprehensive progress report
  -r, --repo string            repository to backup to or restore from (default: $RESTIC_REPOSITORY)