Cloudflare R2 vs Backblaze B2 in 2026

Disclosure: SpeedTestHQ is reader-supported. We may earn a commission from purchases made through links on this page. Last updated May 2026.

Both are S3-compatible object storage at a fraction of AWS S3 pricing. Both have changed the economics of media hosting, backups, and data lakes. The two key axes to compare them on: egress pricing and CDN-edge integration.

Our Verdict
R2 for serving traffic to users (zero egress); B2 for cheaper storage and Bandwidth-Alliance partners.

At-a-glance comparison

FeatureCloudflare R2Backblaze B2Winner
Storage price~$0.015/GB/month~$0.006/GB/monthB2 (cheaper)
Egress price$0 (free)~$0.01/GB; free to Bandwidth Alliance partnersR2 (when serving)
API requestsClass A (writes) and B (reads) chargedClass A and B/C chargedSimilar
S3 API compatibilityYesYesTie
SDKsUse AWS SDK with R2 endpointUse AWS SDK with B2 endpointTie
Durability11 nines11 ninesTie
Geographic redundancyYes (jurisdictional restrictions)Yes (US, EU regions)Roughly tied
Native CDN integrationCloudflare CDN (free with R2)Cloudflare or Fastly via Bandwidth AllianceR2
Public bucketYes (via Workers or custom domain)Yes (native)B2 (simpler)
S3 features (lifecycle, versioning)Lifecycle yes; versioning yesLifecycle yes; versioning yesTie
Free tier10GB storage, 1M Class A, 10M Class B ops/month10GB storage, 1GB egress/dayR2 (more ops free)
Best forPublic assets, serving traffic from edgeBackups, archives, S3-compat workloadsDifferent use cases

The egress story

This is the single biggest reason to consider either over AWS S3. AWS charges ~$0.09/GB for egress — for a site serving 1TB/month of media, that's $90 in egress alone. Both R2 and B2 dramatically cut this:

  • R2 charges $0 for egress. Storage is slightly higher than B2 but you pay nothing per byte served.
  • B2 charges $0.01/GB egress (one-tenth of S3) and offers free egress to Bandwidth Alliance partners (Cloudflare, Fastly, BunnyCDN, others). If you put a Bandwidth-Alliance CDN in front of B2, effective egress is free.

For most "serve assets to the public" workloads, both can deliver near-zero egress costs. R2 does it without a separate CDN in front; B2 requires you wire one up.

Storage prices

B2 is meaningfully cheaper per GB stored (~$0.006/GB vs R2's ~$0.015/GB). For a 10TB archive, that's $60/month on B2 vs $150 on R2.

For backup/archive workloads where you store much, serve little, this gap matters and B2 wins.

For workloads where you store little but serve a lot, the egress savings on R2 dominate and the higher storage rate is irrelevant.

CDN integration

R2 sits inside Cloudflare's network. Pair it with a Workers script or a custom domain and you've got a global CDN in front of your bucket — included, no extra configuration. Cache control is handled with Cache headers or Workers.

B2 doesn't ship with a CDN. The standard pattern is putting Cloudflare (or Fastly, or BunnyCDN — any Bandwidth Alliance partner) in front of your B2 bucket. You set this up; it's a half-hour task. The CDN cache absorbs most reads; B2 sees only cache-misses.

S3 API compatibility

Both speak the S3 API well enough that most S3 client libraries work with a different endpoint URL. Minor gotchas exist in edge cases — multipart upload sizes, certain ACL semantics, presigned URL edge cases — but for typical use, "swap endpoint" is the migration.

This means most backup tools (Restic, Duplicati, rclone, Velero), photo apps (Immich external storage), and SaaS products that support "S3-compatible storage" work with both.

Use case fit

  • Static website assets, images, video served to public: R2 (zero egress beats slightly higher storage).
  • Backups of your homelab / business data: B2 (cheaper storage; egress is rare and small).
  • Database backups, log archives: B2 (write-heavy, read-rare).
  • Software downloads served from a website: R2 (or B2 + Cloudflare).
  • Origin for a video streaming site: R2 with Cloudflare Stream, or B2 + CDN.
  • Personal photo library backup: B2 (storage cost matters; egress for restores is rare).

Durability and reliability

Both advertise 11-nine durability — same as AWS S3, same as Google Cloud Storage. Both replicate across multiple physical locations. Both have strong track records; outages are rare and brief.

For data you can't lose, follow the 3-2-1 backup rule (3 copies, 2 media types, 1 off-site) regardless of provider durability claims.

Geographic regions and data residency

R2 has US and EU jurisdictional options. Data placement is influenced by where it's accessed. For strict EU data residency, R2 has options but the model differs from traditional region-pinned storage.

B2 has explicit US (US-West) and EU (Amsterdam) regions. You pick at bucket creation. Straightforward for compliance use cases.

Free tiers

  • R2: 10GB storage + 1M Class A operations + 10M Class B operations per month.
  • B2: 10GB storage + 1GB/day download + 2500 Class B / 2500 Class C operations per day.

R2's free tier is generous for many side projects. B2's free tier is workable but smaller.

Which to pick

ScenarioPick
Static site assets served to publicR2
Homelab backup (Restic / Borg / rclone)B2
Database backups, log archivesB2
User-uploaded media for SaaSR2 (no egress surprises)
Video streaming originR2 + Cloudflare Stream
Personal photo / family video backupB2
Software downloads or installer hostingR2 (or B2 + Cloudflare in front)
Big-data analytics / data lakeR2 (no egress when querying)
EU data residency requiredB2 (explicit EU region)
Cloudflare-centric stack alreadyR2

Cost calculator (rough)

Assume 1TB stored, 1TB egress/month:

  • AWS S3: ~$23 storage + ~$90 egress = $113/month.
  • Cloudflare R2: ~$15 storage + $0 egress = $15/month.
  • Backblaze B2 (direct): ~$6 storage + ~$10 egress = $16/month.
  • B2 + Cloudflare (Bandwidth Alliance): ~$6 storage + $0 egress = $6/month.

For storage-heavy / low-egress workloads, B2 wins. For high-egress workloads, both R2 and B2+Cloudflare beat AWS by an order of magnitude.

Frequently Asked Questions

Is R2 really free egress?

Yes. There is no per-GB egress charge on R2. You pay for storage and per-operation costs. This is Cloudflare's deliberate market position against AWS S3 egress economics.

How does B2 compare to AWS Glacier?

B2's hot storage is cheaper than AWS S3 Standard and similar to S3 Glacier Instant Retrieval — but with no retrieval fees and instant access. For most backup workloads, B2 is simpler and cheaper than Glacier.

Can I use them for backups with Restic or Borg?

Yes — both have well-documented Restic/Borg/Kopia integrations. rclone works with both. Practical: B2 is the more common backup target due to cheaper storage; R2 works fine too.

Are there hidden fees?

Operations (PUT, GET, etc.) are charged on both. For typical use these are small (cents/month). High-frequency operations (e.g., very chatty SaaS write patterns) can add up — monitor.

What about Wasabi?

Wasabi is another cheap S3-compatible provider — flat pricing, no egress fees, but a 90-day minimum storage charge (delete before 90 days and you still pay). Competitive for stable workloads; less flexible than R2/B2.

Can I migrate between them?

Yes — rclone can copy buckets between any S3-compatible providers. For terabytes, plan for time and bandwidth on whichever end is slower.

Related Guides