Duplicati
A backup client for Windows, macOS and Linux that splits files into blocks, stores each block once, and uploads compressed, encrypted volumes to cloud storage or a file server, driven from a web UI or the command line.
- What it is
- Backup & restore
- Type
- Open source
- Made by
- Duplicati Inc.
- License
- MIT
- Facts checked
- 24 October 2026
What it is
Duplicati runs on the machine being backed up and needs nothing on the other end but storage. It reads each file as a sequence of fixed-size blocks, typically 100 KiB to 1 MiB, and hashes each block with SHA-256. A block it has already stored is skipped; new blocks are packed into volumes (dblock files), which are compressed, encrypted with AES-256 or GnuPG, and uploaded. Each backup version is a file list (dlist) that says which blocks make up which files, and dindex files record which volume holds which block. Because only new blocks are uploaded, every backup after the first is incremental, yet every version can be restored on its own; there is no full-plus-incremental chain to keep.
The destination only has to support four operations, GET, PUT, LIST and DELETE, so Duplicati can write to Amazon S3 and S3-compatible stores, Backblaze B2, Azure Blob Storage, Google Cloud Storage, SFTP, WebDAV, SMB shares, consumer drives such as OneDrive and Dropbox, and others. A local database for each backup tracks files, blocks and volumes so backups run without downloading anything; it can be rebuilt from the remote files and the passphrase if it is lost. Retention rules, such as “one a day for a week, one a week for a month, one a month for a year”, delete old versions after each backup, and a compact step repacks volumes that hold unused blocks.
Most people use the built-in server with a browser UI and scheduler; duplicati-cli does the same jobs from scripts. Duplicati Inc., founded in 2024 with the project’s original author as CTO, sells a hosted console for managing many machines, with a free tier for two.
Why teams pick it
- Encrypts on the client before upload, so the storage provider only ever sees encrypted volumes
- Block-level deduplication across files and versions, with no periodic full backups to re-upload
- Works with dozens of storage services out of the box, including plain SFTP, WebDAV and SMB shares
- A web UI and scheduler make it usable on a desktop, a home server or a NAS without scripting
Watch out for
- Fixed-size blocks: an insertion near the start of a file shifts every later block, and the block size can’t be changed after the first backup
- Restoring even one small file means downloading the whole remote volume that holds its blocks, so large volume sizes slow small restores
- The local database must match the remote files; when it doesn’t, backups stop until a repair, and recreating the database for a large backup can take a long time
- A desktop and small-server tool: there’s no central server for a fleet unless you use the company’s hosted console
Alternatives
What all backup & restore have in common →Compare side by side →How it fits with other technologies
What Duplicati uses
- Duplicatiuploads encrypted volumes toAmazon S3
- Duplicatiuploads encrypted volumes toBackblaze B2 Cloud Storage
- Duplicatiuploads encrypted volumes toAzure Blob Storage
- Duplicatiuploads encrypted volumes toGoogle Cloud Storage
- Duplicatiuploads encrypted volumes overSFTP
- Duplicatikeeps its server database inSQLite
Back up two folders to an S3-compatible bucket, keeping “smart” retention · bash
# The passphrase is read from the environment, not the command line;
# S3 keys go in the URL (aws-access-key-id=...) or in a secret provider
export PASSPHRASE='a long passphrase'
REMOTE_URL='s3://acme-backups/laptop?s3-server-name=s3.eu-central-1.amazonaws.com&use-ssl=true'
duplicati-cli backup "$REMOTE_URL" \
/home/ana/Documents /home/ana/Projects \
--exclude='*.iso' \
--retention-policy='1W:1D,4W:1W,12M:1M'
# List the versions that now exist
duplicati-cli list-filesets "$REMOTE_URL"See it in a real stack
No architecture uses Duplicati yet. Drop it into the playground and wire it up yourself.Open playground →Worth exploring
Where it came from2008–2026
Kenneth Skovhede started Duplicati in June 2008 as a graphical front end for Duplicity, the Linux backup tool, along with a port of Duplicity to Windows. The port was dropped that September in favour of a clean re-implementation, and the first version came out in June 2009.
In 2012 work began on Duplicati 2, a complete rewrite around a new storage engine for incremental backups: files split into blocks, each block stored once. Version 2 then stayed in beta for years.
In 2024 Skovhede founded Duplicati Inc. to commercialize the project, taking the role of CTO, with funding from Open Core Ventures. The licence moved from the LGPL to MIT in March 2024, and the company launched a hosted console for managing backups in May. On February 28, 2025 the project announced “the first stable release of Duplicati 2.x” (the 2.1 line), saying it had been stuck in “a perpetual beta phase” until the company could hire staff. Stable releases have followed every few months since; 2.4 arrived in September 2026.
Why it’s built this way
- Fixed-size blocks and deduplication instead of full and incremental chains
- With every block stored once and every version a list of blocks, no version depends on an earlier full backup, so old versions can be deleted in any order.
- Client-only, against plain storage
- The design assumes the destination may be slow, unreliable and owned by someone else, so all logic runs on the client and storage needs only GET, PUT, LIST and DELETE.
- Encrypt before upload
- Since the storage provider can’t be trusted with confidentiality, volumes are encrypted on the client, and whoever holds the passphrase holds the data.
- A local database of blocks and volumes
- Knowing what is already stored without asking the remote side keeps backups fast, and checking the remote listing against it catches missing or damaged files early.
Timeline
- 2008
Kenneth Skovhede starts Duplicati as a GUI for Duplicity in June
- 2009
First release in June
- 2012
Work starts on Duplicati 2, a complete rewrite
- 2024
Duplicati Inc. founded; licence changes from LGPL to MIT in March
- 2025
Duplicati 2.1, the first stable 2.x release, after years in beta
- 2026
Duplicati 2.4 released in September
Sources11 · facts checked 24 October 2026
- Duplicati on GitHub: README (AES-256 or GnuPG, platforms, destinations, MIT core licence)
- Duplicati docs: Architecture premises (fixed-size blocks, volumes, four storage commands, local database)
- Duplicati forum: How the backup process works (100 KB blocks, SHA-256, dblock, dlist and dindex files)
- Duplicati docs: Backup size parameters (block size, remote volume size)
- Duplicati docs: How restore works
- Duplicati docs: The local database
- Duplicati docs: Retention settings (smart backup retention, compact)
- Duplicati docs: Command line interface (duplicati-cli, PASSPHRASE, retention options)
- Duplicati docs: S3-compatible destination (URL format)
- Duplicati home page (console pricing tiers, Duplicati Inc.)
- Duplicati on GitHub: LICENSE (MIT, except the proprietary/ folder)