The storage price gap is real and it is not rounding error. For every terabyte you store monthly, B2 costs $6.14. S3 costs $23.55. That difference compounds fast at scale. A 100TB archive costs $614/month on B2 versus $2,355/month on S3 before you touch a single byte of egress.

But storage is often not the biggest line item. Egress is. And that is where the comparison gets more complicated, and frankly, more interesting.

The Egress Equation

S3 egress to the internet costs $0.09/GB. That is the number that wrecks budgets. B2 egress is $0.01/GB after the first 1GB per day free. Already nine times cheaper. But the genuinely transformative pricing is what happens when you route traffic through Cloudflare.

Backblaze and Cloudflare are both members of the Bandwidth Alliance, which means egress from B2 to Cloudflare is completely free. Zero. If you are serving media, backups, or static assets through Cloudflare CDN in front of B2, your egress cost is literally $0.00/GB.

Bandwidth Alliance Backblaze B2 and Cloudflare have a formal partnership that waives egress fees between their networks. Fastly also participates. If you already use Cloudflare for your CDN layer, this is not a workaround or a hack. It is the intended architecture, and it works in production.

Run the numbers on 1TB stored and 1TB served per month through a Cloudflare CDN setup: B2 comes out at roughly $6/month. S3 in the same configuration costs approximately $113/month. That 94% difference is not marketing copy. That is what the invoices say.

B2 + Cloudflare CDN
~$6
1TB stored + 1TB egress/mo
AWS S3 + CloudFront
~$113
1TB stored + 1TB egress/mo

Where B2 Makes Sense

Three use cases where B2 is the correct answer almost every time:

Backup and Archival

Backup workloads write data constantly and read it almost never. Egress barely registers. The entire cost structure is dominated by storage price. At $0.006/GB versus $0.023/GB, B2 wins this category without debate. Restic, Duplicati, Veeam, and most modern backup tools support B2 natively or via the S3-compatible API that Backblaze shipped in 2020.

The S3-compatible API matters more than people acknowledge. You can point existing S3 tooling at B2 with a one-line config change in most cases. No code rewrites. No new SDKs.

Media Storage with CDN Front-End

Podcasts, video files, downloadable assets, image libraries. If you are already on Cloudflare, the B2 plus Cloudflare setup is the right answer for new projects. The Bandwidth Alliance partnership makes egress free and the setup is straightforward. Cloudflare acts as the CDN, B2 is the origin, and you never pay Backblaze a cent for the bytes that leave their network.

For existing S3 setups, migration is more work than it looks on paper. You need to move the data, update your CDN origin, and test thoroughly before cutting over. Factor that migration cost into the comparison honestly.

Static Asset Storage at Scale

Build artifacts, software distribution, documentation assets. If the files are large and the access patterns are predictable, B2 handles this cleanly. The API call pricing requires attention: B2 download API calls run $0.004 per 10,000 requests, while S3 GET requests cost $0.0004 per 1,000. Do the per-request math for your access pattern before assuming B2 is cheaper on API costs alone, because for very high request volumes the numbers can shift.

API Call Pricing B2 download API calls: $0.004 per 10,000 requests. S3 GET: $0.0004 per 1,000 requests. At equivalent volume, S3 GET calls cost $0.40 per million versus B2's $0.40 per million. They are actually the same at scale. The savings on B2 come from storage and egress, not API calls.

Where B2 Does Not Make Sense

B2 is a focused product, not an AWS replacement. Being clear about the limitations saves you from an uncomfortable migration later.

Compliance-Heavy Workloads

HIPAA, PCI DSS, SOC 2 Type II, FedRAMP. B2 does not offer a HIPAA Business Associate Agreement. S3 does. If your legal team or your customers require specific compliance certifications, B2 is not an option regardless of the price. This is not a knock on Backblaze. It is a different product for a different market segment.

Deep AWS Ecosystem Integration

If your workload runs on EC2 or Lambda and reads from S3 constantly, you benefit from AWS internal transfer pricing and low-latency access within the same region. Moving to B2 means your application traffic crosses the public internet to reach its storage layer. The S3-compatible API smooths the code changes, but the network topology change is real and it has latency and cost implications.

Lambda reading from S3 in the same region pays no egress fees. Lambda reading from B2 over the internet pays egress fees from AWS's side even if B2 charges nothing. Check both sides of the egress equation.

Multi-Region Latency Requirements

B2 currently operates in two regions: US West and EU Central. S3 has regions across North America, Europe, Asia Pacific, South America, and the Middle East. If you need storage close to users in Tokyo, Sydney, or São Paulo, B2 cannot serve those access patterns with low latency. CDN caching helps for read-heavy workloads, but origin latency for cache misses and write operations remains constrained by the two-region footprint.

Before You Migrate Audit your actual egress destination before assuming the B2 savings are real for your workload. If egress goes directly to end users without a CDN layer, you are paying $0.01/GB on B2 versus $0.09/GB on S3. Real savings, but not the headline 75% number. If egress goes through Cloudflare, the savings are genuine and significant. If egress goes back into AWS services, the math may not favor B2 at all.

The Honest Summary

The 74% storage cost difference between B2 and S3 is real. The headline scenario where total costs drop by 90%+ is also real, but it requires a specific setup: B2 as origin, Cloudflare as CDN, workload outside AWS. That configuration is not complicated to build and it is well-documented. For backup workloads, the saving is straightforward with no CDN required.

What B2 is not: a drop-in replacement for every S3 use case. The compliance gap is hard, the two-region footprint is real, and AWS-internal workloads benefit from ecosystem integration that B2 cannot replicate. For the use cases where B2 fits, it fits very well and the savings are not marketing math.

Factor Backblaze B2 AWS S3
Storage price $0.006/GB/mo $0.023/GB/mo
Egress (internet) $0.01/GB $0.09/GB
Egress via Cloudflare Free N/A
Download API calls $0.004 / 10K $0.0004 / 1K
S3-compatible API Yes (since 2020) Native
Regions 2 (US, EU) 30+
HIPAA BAA No Yes
Best for Backup, media, CDN assets AWS-native, compliance

Run your own numbers before committing to a migration. Plug in your actual storage volume, egress volume, and whether your egress goes through Cloudflare or directly to users. The tool below does exactly that in about 30 seconds.