Duplicati backing up to Backblaze B2 costs less per year than a Backblaze Personal Backup subscription only below a dataset size you can calculate in one line, and that line is the whole decision. Personal Backup charges a flat annual fee per computer for unlimited data, so its cost curve is horizontal. B2 charges per gigabyte stored per month plus API calls and egress above the free allowance, so the Duplicati bill starts near zero and rises in a straight line. Divide the annual subscription fee by twelve times the B2 per gigabyte monthly rate, and you get the crossover in gigabytes: below it Duplicati wins every year, above it the subscription wins and keeps winning harder as you add data.
TL;DR
- The 400 GB laptop owner, one MacBook holding documents, photos and a code folder: run Duplicati to B2, because a few hundred gigabytes billed per gigabyte per month sits far under any flat annual fee, and Duplicati compresses and deduplicates before you are billed.
- The 6 TB media keeper with a film and music library on external drives: stay on Personal Backup, because unlimited flat pricing per computer is unbeatable at that volume and B2 charges for every terabyte forever.
- The two person household with three laptops totalling 1.5 TB: run Duplicati into one B2 bucket, because the subscription is licensed per computer while a single bucket and three Duplicati jobs cover all of them under one bill.
- The homelab operator with a NAS, a Proxmox host and two Linux VMs: Duplicati is the only option of the two, because Personal Backup is a Windows and macOS desktop product that excludes network shares and server operating systems.
- The person who has never restored a file and wants zero maintenance: stay subscribed, because Duplicati's real price includes your own hours on local database rebuilds, retention tuning, verification runs and failure monitoring.
- The person restoring large amounts often, for example a video editor pulling back 500 GB projects: model the egress before you switch, because Personal Backup restores are included while B2 bills downloads once you pass the free egress allowance.
The central tradeoff is a flat fee that ignores how much data you own against a metered bill that rewards you for owning less of it, with the difference paid in your own attention.
Table of contents
- What does Duplicati plus Backblaze B2 actually cost you per year?
- What does a Backblaze Personal Backup subscription actually cost per year?
- At what dataset size do the two cost curves cross?
- Deduplication, compression and the number B2 really bills you for
- How much do restores cost, and how often will you actually restore?
- How does retention depth change the arithmetic?
- Tuning Duplicati remote volume size, upload threads and API call classes
- Multiple computers, NAS shares and the per computer licence
- What each product simply refuses to back up
- Where should you run Duplicati, and what does the host add to the bill?
What does Duplicati plus Backblaze B2 actually cost you per year?
Duplicati itself is free and open source, so every euro or dollar on your annual bill comes from B2 and from your own hardware. The bill has four moving parts, and only one of them is the obvious one.
- Storage per gigabyte per month: B2 bills the average bytes stored across the month, so your annual cost is roughly your stored size multiplied by the published per gigabyte rate multiplied by twelve. This is the dominant term for almost everyone.
- Stored size, not source size: Duplicati 2 deduplicates at a default block size of 100 KB and compresses before upload, so a 500 GB source folder rarely becomes 500 GB in the bucket. Documents and code shrink hard, video and photos barely move.
- Transaction calls: B2 splits API calls into Class A, Class B and Class C, with Class A calls such as uploads free and the listing and download classes billed per thousand calls. Duplicati's default remote volume size of 50 MB means a 500 GB backup lands as roughly 10,000 objects, which keeps call counts modest but not zero.
- Egress on restore: B2 includes a free download allowance tied to your average stored data, and bills per gigabyte beyond it. Routine backups download nothing, so this term is zero in most years and spikes only when you restore.
- Version retention: every kept version of a changed file is extra stored bytes, billed monthly like everything else.
Add those four, and you have a number that scales with what you actually own.
What does a Backblaze Personal Backup subscription actually cost per year?
Personal Backup is a flat fee per computer, billed monthly, yearly or on a two year term, with the longer terms carrying a lower effective annual rate. Unlimited means unlimited: 200 GB and 20 TB on the same machine cost the same. The complications are not in the headline price.
- The licence covers one computer, not one household: three laptops means three subscriptions, and the annual cost triples while the amount of data protected is irrelevant to the bill.
- Version history defaults to 30 days: deleted or changed files fall out of the backup after 30 days unless you pay for an extended version history add on, sold as a one year option and a forever option.
- Forever version history is not flat: the forever tier adds a per gigabyte per month charge for data older than one year, which reintroduces exactly the metered pricing model you left B2 to avoid.
- External drives count, network drives do not: USB attached disks are included at no extra cost, but a NAS share, a mapped network drive or a Linux server cannot be backed up at all, so protecting them means a second product on top.
- Attached drives must be reconnected every 30 days: disconnect an external disk for longer and its backed up data is purged from the account, which is a silent cost if you rotate archive drives.
- Restores are included: web download and restore by mail both come with the plan, with the mailed drive refunded on return.
The predictable number on the invoice is the product's main feature.
At what dataset size do the two cost curves cross?
Work it out yourself in one line. Take the annual Personal Backup fee, divide it by twelve, then divide that by the current B2 per gigabyte monthly rate. The result is the crossover in gigabytes stored, and both numbers are published on Backblaze's own pricing pages, so the calculation stays correct as rates change. Call that crossover point C.
| Bytes stored in B2 | Duplicati annual cost versus one subscription | What it means for you |
|---|---|---|
| 0.25 x C | About 25 percent | Duplicati is clearly cheaper, and the gap is large enough to absorb restores |
| 0.5 x C | About 50 percent | Duplicati is cheaper, with room for retention growth before parity |
| 1 x C | Parity | Choose on features, not on price, because the invoices match |
| 2 x C | About 200 percent | The subscription is cheaper and the gap widens every month you add data |
| 4 x C | About 400 percent | Only non cost reasons justify Duplicati at this volume |
Two adjustments move C in your favour. First, C scales linearly with the number of machines: three computers on Personal Backup means three fees, so your effective crossover is 3 x C for a single B2 bucket holding all three. Second, C applies to stored bytes, not source bytes, so Duplicati compression can put a 700 GB source folder comfortably under a 500 GB crossover.
One adjustment moves it against you: unlimited retention on B2 grows stored bytes forever, while the flat fee never notices.
Deduplication, compression and the number B2 really bills you for
Your source folder size is not your invoice. Duplicati hashes every block with SHA-256, stores each unique block once, packs blocks into archive volumes and compresses them before upload. Four things decide how far that gets you.
-
File type dominates the ratio: text, code, spreadsheets, mailboxes and virtual disk images compress and deduplicate heavily. JPEG, MP4, MP3 and existing ZIP archives are already compressed, so expect close to no reduction. Duplicati ships a
default_compressed_extensions.txtlist and skips compressing those types rather than burning CPU for nothing. - Deduplication is per backup job, not per bucket: two jobs covering the same 40 GB photo folder store those blocks twice and you pay twice. Consolidating overlapping folders into one job is free money.
- Deleted data stays billable until compaction runs: when retention removes an old version, its blocks remain inside archive volumes that still contain live blocks. Duplicati only rewrites a volume once wasted space passes the compact threshold, 25 percent by default, so stored bytes lag behind logical deletions.
- Encryption adds a small constant, not a percentage: AES-256 output is roughly the size of its compressed input plus per volume header overhead, so encryption costs you almost nothing on the bill.
- The dashboard tells you the truth: the job's reported backend size, not the source size, is the number to feed into the crossover calculation from the previous section.
Measure once with a real backup before committing. A 1 TB documents heavy dataset and a 1 TB video library produce completely different B2 bills.
How much do restores cost, and how often will you actually restore?
Most people restore a handful of files a year and a full dataset once a decade, if ever. That matters because B2 includes a free download allowance of three times your average monthly stored data, so a household sized restore usually lands inside it.
- A single full restore is normally free: pulling back everything you store is 1x your stored bytes against a 3x allowance, so you would need to restore your entire backup three times in one month before egress charges start.
- Small restores cost more than you expect in bytes: Duplicati downloads whole archive volumes, so recovering one 2 MB document can pull a 50 MB volume. The cash impact is negligible, the wait is not.
-
Restoring without the local database is the slow path: direct restore first downloads the
dlistanddindexfiles to rebuild an index of what is where, which on a large backup with many versions can take hours before a single file lands. - Class B download transactions are billed per call: thousands of volume fetches during a big restore add a small line item alongside egress, another reason larger remote volume sizes suit archival datasets.
- Personal Backup charges nothing for either route: web download restores are included, and the restore by mail USB drive is refunded when you return it, so the subscription genuinely removes restore cost from the equation.
Budget the shape, not a scary number: routine restores are effectively free on both, and only repeated bulk pulls of your whole dataset make B2 egress a real line on the invoice.
How does retention depth change the arithmetic?
Comparing a 30 day subscription against an unlimited history Duplicati job is not a fair comparison. Match the retention first, then compare the invoices.
| Retention setting | Effect on your bill | Where it applies |
|---|---|---|
| Keep all versions, the Duplicati default | Stored bytes grow with every change forever, so the B2 line rises even if your source folder never grows | Duplicati |
--keep-time=30D |
Roughly matches the standard subscription window, keeping stored bytes close to your live dataset size | Duplicati |
--retention-policy=1W:1D,4W:1W,12M:1M |
Thins older versions to one per week then one per month, buying a year of history for a fraction of the bytes | Duplicati |
| 30 day version history, the plan default | No extra charge, and anything deleted more than 30 days ago is gone | Personal Backup |
| One year extended version history | A fixed add on fee per computer per year, still flat regardless of data volume | Personal Backup |
| Forever version history | Flat fee plus a per gigabyte monthly charge on data older than one year, so the metered model returns | Personal Backup |
The practical consequence is that deep retention narrows the gap. If you want a year of history, the subscription add on is a fixed number per computer, while Duplicati's smart retention adds real bytes to a metered bill. If you want a decade of history, Duplicati's thinned policy competes well against a forever tier that meters everything over twelve months old.
Set retention before you measure stored size, or your crossover calculation is based on a number that will keep climbing.
Tuning Duplicati remote volume size, upload threads and API call classes
Defaults are tuned for a 50 GB laptop, not a 2 TB archive. Four settings change your bill, your backup window and your restore speed, and they pull against each other.
-
--dblock-size, default 50 MB: raising it to 200 MB or 500 MB cuts object count and the listing calls that go with it by the same factor. The cost is restore granularity, since recovering one small file downloads one whole volume. -
--blocksize, default 100 KB: this one is fixed at job creation and cannot be changed later without starting over. A 2 TB dataset at 100 KB implies roughly 20 million block records in the local SQLite database, which is what makes repair and rebuild operations crawl. Raising it to 1 MB or larger for multi terabyte jobs trades a little deduplication for a database that stays usable. -
--asynchronous-concurrent-upload-limit, default 4: more parallel uploads fill a fast link, but each in flight volume needs temporary disk space, and B2 counts each upload as a Class A call, which is not billed. -
--number-of-retries, default 5, with--retry-delay: raising both rides out transient B2 errors instead of failing a job at 90 percent and re uploading later.
The class split is what makes B2 forgiving here: uploads and deletes are Class A and free, downloads are Class B, and listing is Class C with a published daily free allowance. Duplicati lists the bucket on every run, so shrinking object count with a larger volume size keeps you comfortably inside it.
Multiple computers, NAS shares and the per computer licence
This is where the flat fee stops being flat. Every extra machine multiplies a subscription while adding only its own gigabytes to a B2 bucket, so a four device household is a completely different calculation from a single laptop.
-
One bucket serves every machine: give each host its own Duplicati job and its own
--prefixvalue, for examplelaptop-anna/andnas-media/, so their archive volumes stay separated inside a single bucket and a single bill. - Issue one restricted application key per host: B2 application keys can be scoped to one bucket and one name prefix, so a compromised laptop key cannot read or delete another machine's backup. The master key stays out of every configuration file.
- A central job over SMB shares deduplicates across machines: point one Duplicati instance at mounted network shares and shared files are stored once. The catch is that a laptop out of the house at 02:00 is simply not backed up that night.
- Per machine agents catch laptops, at a cost: Duplicati runs on Windows, macOS, Linux and in Docker, so each device can back itself up whenever it has a connection, but identical files on two machines are billed twice.
- Servers and NAS boxes have no subscription path at all: a Synology volume, a Proxmox host or a Linux VPS cannot be enrolled in a desktop plan, so mixed estates end up paying for two products anyway.
Count your machines before you compare prices. Three subscriptions against one metered bucket moves the crossover point three times further out.
What each product simply refuses to back up
Both tools have hard exclusions, and neither warns you loudly about them. Check this list against what you actually care about before comparing invoices.
| Data | Backblaze Personal Backup | Duplicati |
|---|---|---|
| Operating system files, applications, temporary files | Excluded by default, since the product protects user data rather than a bootable image | Included if you select the path, though it is not a bare metal image either |
Virtual disk images such as .vmdk, .vhd and .iso
|
Excluded by default through the client's exclusion rules, editable in settings | Included, and they deduplicate well between versions |
| Network shares and NAS volumes | Not supported at all | Supported through any mounted path, including SMB and NFS mounts |
| Linux hosts and servers | No client exists | First class, including headless Docker deployments |
| Open or locked files | Handled by the client's own snapshot logic | Requires --snapshot-policy=on to use VSS on Windows or LVM on Linux |
| Live databases | Files are copied as found, with no consistency guarantee | Same, unless you dump first with --run-script-before
|
Two practical consequences follow. If your important data includes VM images or a NAS share, the subscription's unlimited pricing never applies to it, so the comparison collapses before cost enters the picture. If your important data is a laptop's documents and photos, both cover it fully, and you are back to arguing about gigabytes.
Also check the client's maximum file size setting before trusting it with 80 GB video projects, because a size cap silently skips files rather than failing the backup.
Where should you run Duplicati, and what does the host add to the bill?
Duplicati has to run somewhere that can read your files, stay awake on schedule and hold a local SQLite database. That host is the hidden line item the subscription does not have.
- On the machine being backed up: the simplest option, with the web interface on port 8200 and no extra hardware cost. The catch is that a sleeping laptop runs no backup, so set a schedule that matches when the lid is actually open.
- On a NAS via Docker: one container backs up every share, which suits the central job pattern. Budget the local database on fast storage, because rebuilds on a spinning disk are painfully slow.
- On a mini PC or home server: a low power box running 24/7 adds electricity and a machine to maintain, but it backs up network shares on a fixed schedule without depending on anyone's laptop.
- On a VPS or a managed personal server: useful when the data already lives off site, for example a web application's files and database dumps. Yundera is a managed Personal Cloud Server, built on CasaOS, that runs self-hosted apps as Docker containers on a server dedicated to the user, and it sits alongside a self managed VPS, a home server or a NAS as one place to run the container.
One rule applies to every choice: a remote host can only back up data it can reach. Running Duplicati off site does nothing for the photos on a laptop unless those photos already sync somewhere the container can read.
Top comments (0)