Choosing object storage used to be simple: you used Amazon S3. In 2026, Cloudflare R2, Backblaze B2, and S3 serve genuinely different use cases at very different price points. If you’re optimising for cost, egress freedom, or simplicity, the right answer may not be the one you’ve always used by default.
This guide looks at what each service actually costs with verified current pricing, where each one is strongest, and which use cases each fits.

Quick Comparison: R2 vs S3 vs B2
| Feature | Cloudflare R2 | AWS S3 | Backblaze B2 |
|---|---|---|---|
| Standard storage | $0.015/GB-month | ~$0.023/GB-month | ~$0.006/GB-month |
| Egress to internet | Free | ~$0.09/GB (after 100 GB free/mo) | Free via Cloudflare/Fastly/bunny.net; $0.01/GB otherwise |
| S3-compatible API | Yes | Yes (native) | Yes |
| Free tier | 10 GB/mo, 1M Class A, 10M Class B | 5 GB for 12 months (new accounts) | 10 GB always free |
| Native CDN | Cloudflare global network | Via CloudFront (extra cost) | Via CDN partner network |
| Feature depth | Growing | Extensive | Simple |
Pricing verified from official sources as of September 2026: Cloudflare R2 pricing, AWS S3 pricing, Backblaze B2 pricing. Confirm current rates before committing to a provider.
Cloudflare R2: Zero Egress, Native CDN Integration
R2’s defining feature is zero egress fees — a direct challenge to the AWS billing model. For workloads that serve a lot of data to end users (media files, large downloads, SaaS assets), egress costs on S3 can easily exceed storage costs. R2 eliminates that entirely.
Verified pricing:
- Standard storage: $0.015/GB-month
- Infrequent Access storage: $0.01/GB-month (30-day minimum duration applies)
- Class A operations (writes): $4.50/million requests
- Class B operations (reads): $0.36/million requests
- Egress: Free for direct access via Workers, S3 API, and r2.dev domains
- Free tier: 10 GB storage, 1 million Class A ops, 10 million Class B ops per month
The native Cloudflare CDN integration means you can serve files through Cloudflare’s global edge network without extra configuration. Workers integration lets you add custom logic at the edge — validating requests, transforming responses, or combining R2 with D1 and KV. The S3-compatible API means most existing AWS SDK integrations work with just an endpoint URL change.
Where R2 makes sense: High-egress workloads (video streaming, image hosting, file delivery), projects already using Cloudflare Pages or Workers, and teams for whom egress cost predictability matters more than raw storage price per GB.
Limitations: The R2 feature set is less mature than S3. Advanced capabilities like S3 Select, S3 Intelligent-Tiering, complex event notifications, and some compliance certifications are either absent or less developed. For organisations with deep AWS compliance requirements, R2 is not a direct substitute yet.
AWS S3: The Standard for a Reason
S3 is the benchmark against which everything else is measured. It has the deepest feature set in the market, the broadest third-party tool and library support, the most extensive compliance certifications (FedRAMP, HIPAA, SOC 2, ISO 27001, and more), and more than 15 years of operational history at global scale.
Pricing: Standard storage runs approximately $0.023/GB-month in US East (N. Virginia), with lower tiers at volume. Verify the current rate on the AWS pricing page since per-region and per-tier rates vary. Egress to the internet starts free for the first 100 GB/month across AWS services, then roughly $0.09/GB for the next 40 TB — the line item that makes S3 expensive for read-heavy, user-facing workloads.
Feature highlights that justify the cost:
- S3 Intelligent-Tiering automatically moves objects between access tiers based on usage patterns
- S3 Select for querying object contents directly with SQL — avoids downloading full objects
- Event notifications to Lambda, SNS, SQS, or EventBridge for event-driven architectures
- Object Lock for immutable storage, WORM compliance, and ransomware protection
- Granular IAM-based access control and bucket policies
- Eleven nines (99.999999999%) of designed durability
- Cross-region replication for disaster recovery and low-latency multi-region access
Where S3 is the right call: Compliance-heavy environments, workloads that rely on deep AWS service integrations (Lambda triggers, EMR, Glue, Athena), applications that need Object Lock or advanced access control, and any context where ecosystem maturity and enterprise support outweigh cost.

Backblaze B2: Lowest Storage Cost, Strong CDN Partnerships
B2 wins on raw storage price — approximately $0.006/GB-month ($6.95/TB), less than half of R2 and roughly a quarter of S3 Standard. For cold storage, backup archives, and large media libraries that don’t need to be read frequently, that cost gap compounds significantly at scale.
Egress: Free when served via Backblaze’s Bandwidth Alliance CDN partners — Cloudflare, Fastly, and bunny.net. Direct egress to the internet beyond 3× your average monthly storage is $0.01/GB.
Free tier: 10 GB of storage is always free, with no expiry. Class A, B, and C API transactions are free; Class D transactions are free for the first 2,500 per day, then $0.004 per 10,000.
API: B2 has offered an S3-compatible API since 2020, so AWS SDK calls typically work with a simple endpoint and credential swap. For setting up CI/CD pipelines that push build artifacts to B2, see the CI/CD tools comparison for pipeline options.
Where B2 is the clear winner: Backups, media archives, disaster recovery data, and cost-sensitive workloads where data is written infrequently and read via a CDN partner. The combination of B2 storage and Cloudflare CDN gives you effectively zero egress cost at the lowest storage price of the three.
Limitations: B2 is intentionally simple. If your use case requires S3 event notifications, Intelligent-Tiering, SQL queries on objects, Object Lock, or complex IAM policies, B2 isn’t designed for that. Fewer compliance certifications than AWS S3. Smaller engineering community and third-party integrations.
Decision Framework: Which One Should You Use?
Choose Cloudflare R2 when:
- Egress costs are already significant in your billing or projected to be
- You’re building on Cloudflare Workers, Pages, or using their CDN
- You want predictable storage costs with no egress billing surprises
- Your workload is read-heavy and serves end users directly
Choose AWS S3 when:
- You need deep AWS service integrations (Lambda, EMR, Glue, Athena, EventBridge)
- Compliance certifications are mandatory (FedRAMP, HIPAA, SOC 2, ISO 27001)
- You need Object Lock, S3 Select, Intelligent-Tiering, or advanced event notifications
- Ecosystem maturity and third-party tool support outweigh cost concerns
Choose Backblaze B2 when:
- You’re storing large volumes of cold or archival data
- The primary use case is backups, media archives, or disaster recovery
- You’re already using or plan to use Cloudflare, Fastly, or bunny.net as your CDN
- Cost is the dominant constraint and feature simplicity is acceptable
Frequently Asked Questions
Is Cloudflare R2 ready for production workloads in 2026?
For most web and SaaS workloads, yes. R2 reached general availability in late 2022 and is in production use at scale. For applications that specifically require AWS-only features or compliance certifications R2 doesn’t yet hold, S3 remains the safer bet.
Can I migrate from S3 to R2 or B2 without rewriting my code?
Usually with minimal changes. Both R2 and B2 support S3-compatible APIs, meaning AWS SDK calls often work by updating the endpoint URL, region, and credentials. Edge cases exist where specific S3 features aren’t implemented in the other services — test your specific operations before committing to a migration. For deployment infrastructure context, see the deployment platforms comparison.
What about MinIO or self-hosted object storage?
MinIO is S3-compatible and a solid option for on-premise or private cloud deployments where data residency is a requirement. For cloud-based projects, the three services above offer better durability guarantees and managed infrastructure without the operational overhead.
The Bottom Line
All three services are reliable and S3-compatible. The right choice depends on your specific cost drivers and feature requirements. Cloudflare R2 is the strongest option when egress costs matter and you’re in the Cloudflare ecosystem. AWS S3 remains the correct call when enterprise features, compliance, or deep AWS integration are required. Backblaze B2 is the clear winner for cold storage and archival at the lowest cost — especially when paired with a CDN partner that makes egress free.
Always verify current pricing directly with each provider before making a long-term commitment, as rates and free tier limits change.



