Backblaze B2 vs Cloudflare R2

Choose Cloudflare R2 for public file serving, since egress is free; choose Backblaze B2 when storage volume dominates, as it stores bytes more cheaply.

Editorial judgement last reviewed

Is Cloudflare R2 or Backblaze B2 cheaper for object storage?

  • Both exist because AWS charges roughly nine cents per gigabyte to send you your own data.
  • They attack that from opposite ends.
  • R2Cloudflare R2 logo's pitch is zero egress fees, full stop: not discounted, capped or conditional on a partner CDN.
  • You pay to store bytes and make API calls; downloads cost nothing.
  • For a public read path, images, video, game assets, registries, model downloads, that's a fixed, boring line item.
  • B2's pitch is cheap storage plus generous free egress.
  • Storage per terabyte is meaningfully below R2Cloudflare R2 logo's.
  • Egress is free up to a multiple of stored data, and free entirely through Bandwidth Alliance partners like Cloudflare.
  • Rule of thumb: high egress-to-storage ratio favours R2Cloudflare R2 logo; storing a lot and serving little favours B2.
  • Backups, archives and long-tail media libraries favour B2.
  • Public asset delivery, an image CDN origin or anything user-facing favours R2Cloudflare R2 logo.
  • The tiebreaker is usually the rest of the stack.
  • On Cloudflare, R2Cloudflare R2 logo binds to Workers with no per-request egress or extra hop, worth more than the rate difference.
  • Otherwise, B2 is a plain S3-compatible bucket that behaves as expected from anywhere.

Which one should you pick?

Choose Cloudflare R2 if…

  • Your files are served to end users, and free egress dominates every other number.
  • You already use Cloudflare WorkersCloudflare Workers & Pages logo or Pages, so R2Cloudflare R2 logo bindings remove a hop and credentials.
  • Your traffic is unpredictable but the bill must be predictable; a viral moment costs nothing extra.
  • You're serving large downloads: installers, model weights, datasets, video.
  • You want a CDN in front of your bucket without configuring one.
  • You can live with a minimum billable object size and Class A operations being the meter.

Choose Backblaze B2 if…

  • Storage volume is your main cost: backups, archives, media masters, log retention.
  • You want the lowest published price per terabyte stored among mainstream providers.
  • Your egress is modest, or flows free through a Bandwidth Alliance partner.
  • You want object lock and WORM for ransomware protection or compliance retention.
  • You want a storage-only vendor with published durability figures and a long history.
  • You'd rather use standard S3 tooling against a plain bucket than adopt a platform.

Run the actual numbers, not the headline rate

  • The only comparison that matters is total monthly cost for your workload.
  • Our hub computes a standard scenario: 1 TB stored, 5 TB egress, 10 million requests, in USD and AUD.
  • Headline per-gigabyte rates are designed to be incomparable.
  • At that shape R2Cloudflare R2 logo wins comfortably: 5 TB egress is where traditional providers make margin, and R2Cloudflare R2 logo charges nothing.
  • Flip to 50 TB stored and 500 GB egress and B2 wins just as clearly.
  • Work out your own ratio: divide monthly egress by stored bytes.
  • Under roughly 1x, storage dominates and B2 leads.
  • Over roughly 5x, egress dominates and R2Cloudflare R2 logo leads.
  • In between, operations count and your existing stack decide it.
  • Then check the two hidden costs: Class A operations and minimum billable object size.
  • Tens of millions of small files can make per-object minimums exceed your storage line.
  • That's the single most common surprise in this category.

S3 API compatibility: close, but verify the edges

  • Both implement the S3 API well enough for the AWS SDK, rclone, restic and most tooling.
  • Neither is a complete reimplementation, and the gaps are in the same neighbourhoods.
  • Test against your own code, roughly in order of how often they bite.
  • Multipart upload edge cases with unusual part sizes.
  • Conditional requests and ETag semantics, especially multipart objects where the ETag isn't an MD5.
  • Versioning behaviour, lifecycle rule expressiveness, and event notifications.
  • Per-object ACL semantics, which both simplify relative to S3's baroque model.
  • R2Cloudflare R2 logo also has bindings: direct object access from a Worker without an HTTP request or signed URL.
  • That's a genuinely different capability, and the hot path stops going through the S3 API.
  • B2 has both a native and an S3-compatible API; use the S3-compatible endpoint unless you must not.
  • Our compatibility figure comes from running a fixed S3 test suite, not documentation.

Latency, regions and the Australian angle

  • R2Cloudflare R2 logo doesn't ask you to pick a region: you set a location hint and Cloudflare places the bucket.
  • It then serves reads from its global network.
  • Strong default for an Australian audience: edges in Sydney, Melbourne, Perth and Brisbane.
  • First-byte latency reflects that even when the bucket doesn't live nearby.
  • B2 runs discrete regions and, as of this review, none is in Australia.
  • Serving Australian users from a US or EU bucket means a Pacific round trip on every uncached request.
  • The standard fix is Cloudflare in front: free egress under the Bandwidth Alliance, plus edge caching.
  • But that's a second component to configure and reason about.
  • If data residency is a hard requirement, look at providers with actual Sydney regions on the hub.
  • For a latency preference, R2Cloudflare R2 logo on its own network is least-effort; B2 behind Cloudflare is cheapest at volume.
  • We cover this on the Australian storage page, filtered to Sydney availability and AUD billing.

Durability, retention and the things you only notice during an incident

  • Both publish eleven-nines durability figures.
  • Treat those as an engineering statement about replication, not a promise you'll never lose data.
  • Most real data loss is a delete you asked for, a leaked credential or a loosened bucket policy.
  • That makes object lock the feature worth checking.
  • B2 supports it, including compliance mode, which survives a compromised root credential.
  • Increasingly a hard requirement in backup and regulated contexts.
  • Verify R2Cloudflare R2 logo's current object lock support against your requirement rather than assuming parity.
  • Minimum retention periods matter for churning workloads.
  • Some providers bill a floor of thirty or ninety days per object however quickly you delete it.
  • Check minimum retention and minimum billable object size on the hub before you pick.
  • A cache of small, short-lived objects can cost several times its apparent price.
  • Whichever you choose, test your restore path: an untested backup is a hypothesis.

Frequently asked questions

Is R2 really free egress with no catch?

  • Egress genuinely costs nothing.
  • The meters are operations, Class A writes and lists are the expensive ones, plus storage.
  • Enormous request counts against small objects can still surprise you.
  • Workloads that download a lot cannot.

Is B2 egress actually free?

  • Free up to a multiple of the data you store.
  • Free without limit through Bandwidth Alliance partners such as Cloudflare.
  • Direct downloads beyond the allowance are billed.
  • So B2 plus Cloudflare is free egress; B2 alone is not.

Can I use the AWS SDK with both?

  • Yes. Point the client at the provider's S3 endpoint and set the region string it expects.
  • Most code works unchanged.
  • Test multipart uploads, conditional requests and ETag handling, that's where the edges are.

Which is better as a CDN origin?

  • R2Cloudflare R2 logo, if the CDN is Cloudflare: no egress charge and no third-party hop.
  • With another CDN, B2's cheaper storage plus a Bandwidth Alliance partner can win.
  • Confirm your CDN is on the partner list before assuming free transfer.

What about AWS S3 itself?

  • S3 remains the most feature-complete object store.
  • The right answer when you need the AWS ecosystem or features neither of these implements.
  • It's also several times more expensive once egress is involved, which is why this comparison exists.