Cloudflare R2 vs S3 vs Backblaze B2: $0 Egress [2026]

Object storage used to be a solved problem: you put your files in Amazon S3, you paid a few cents per gigabyte, and you moved on. Then the bill for getting your data back out arrived. In 2026, the fastest-growing story in cloud infrastructure is the war over egress fees – the per-gigabyte charge you pay every time a user downloads a file, a CDN pulls an origin object, or an analytics job reads a dataset. Cloudflare R2 detonated that model by charging $0.00 for egress. Backblaze B2 undercut everyone on raw storage at $6.95 per terabyte. And Amazon S3, the incumbent that has defined the category since 2006, still charges $0.09 per gigabyte to serve data to the internet.

This guide compares Cloudflare R2 vs S3 vs Backblaze B2 across pricing, features, performance, durability, ecosystem, and migration – with real 2025-2026 numbers pulled directly from each vendor’s pricing pages and a cost model that shows exactly where each one wins. If you are evaluating Cloudflare R2 pricing against S3 or hunting for the cheapest S3-compatible object storage, the difference between these three platforms on a bandwidth-heavy workload can be 60x on your monthly invoice. Here is the data.

Google · Preferred Sources

Don't miss new tech stories on Google

Add Tech Insider once in the Google app and our stories appear in your news suggestions.

Add Now

The Verdict Up Front: Which Object Storage Wins in 2026

If you do not want to read 6,000 words, here is the short version, backed by the cost modeling later in this article:

  • Choose Cloudflare R2 if you serve data to the internet – media, downloads, AI training sets, CDN origins, user-generated content. Zero egress fees make it the cheapest option the moment bandwidth becomes your dominant cost, and its integration with Cloudflare Workers and the new Cloudflare Data Platform makes it more than a bucket.
  • Choose Backblaze B2 if you want the lowest possible price for storage-at-rest – backups, archives, cold data – and your egress stays under roughly three times your stored volume each month. At $6.95/TB it is consistently the cheapest raw storage of the three.
  • Choose Amazon S3 if you are already deep in the AWS ecosystem, need seven storage classes and mature lifecycle tooling, or require features like S3 Tables, Object Lambda, and single-digit-millisecond S3 Express One Zone that the challengers do not offer. You pay a premium – especially on egress – for that breadth.

None of the three is objectively “best.” They are optimized for different cost curves. The rest of this comparison shows you where those curves cross so you can pick with your own numbers.

Why Egress Fees Are the Whole Story in Object Storage

For most teams evaluating object storage, the headline “price per GB” is a distraction. Storage is cheap and getting cheaper. The line item that quietly destroys budgets is egress – the fee cloud providers charge to transfer data out of their network to the public internet. Amazon S3 charges $0.09 per GB for the first 10 TB each month (after a small 100 GB free allowance). That sounds trivial until you multiply it by a viral download, a popular video, or a machine-learning pipeline that reads terabytes per day.

Consider a modest media workload: 1 TB stored, 10 TB served to users per month. On S3 the storage costs about $23, but the egress costs roughly $900. On Cloudflare R2, that same 10 TB of egress costs exactly $0. This is not a rounding difference – it is a structural difference in business model. Cloudflare already operates one of the world’s largest networks and treats R2 as a way to keep traffic on that network, so it does not meter the door on the way out. As one independent analysis by buildmvpfast.com put it, “Cloudflare R2 is S3-compatible object storage with zero egress fees, which can save 50-Up to 99% compared to AWS S3 for workloads where bandwidth is the main cost.”

Backblaze takes a middle path: B2 includes free egress up to three times your average monthly stored data, then charges $0.01 per GB – one-ninth of the S3 rate – and offers unlimited free egress through CDN partners like Cloudflare and Fastly via the Bandwidth Alliance. The practical takeaway: before you compare storage rates, model your egress. It is where the real money is, and it is why Cloudflare R2 pricing has reshaped the entire object storage market. For a deeper look at how AWS meters bandwidth across services, see our Cloudflare vs CloudFront comparison.

Cloudflare R2 vs S3 vs Backblaze B2 at a Glance

Before the deep dives, here is the full specification matrix. Every figure below is drawn from the vendors’ official pricing and documentation, with Cloudflare’s own documentation re-confirming as of September 2026 that R2 Standard storage still runs $0.015/GB-month and Infrequent Access storage $0.01/GB-month – the numbers have held steady since June, and BudgetForge’s independent July 2026 pricing tracker corroborated the same rates.

SpecificationCloudflare R2Amazon S3Backblaze B2
Launched (GA)202220062015
Standard storage / GB-month$0.015$0.023$0.00695 ($6.95/TB)
Egress to internet / GB$0.00$0.09 (after 100 GB free)Free to 3x stored, then $0.01
Write ops (Class A / PUT)$4.50 / million$5.00 / millionFree (Class A)
Read ops (Class B / GET)$0.36 / million$0.40 / millionFree (Class B/C)
Free tier10 GB + 1M/10M opsFree-tier account onlyFirst 10 GB free
Storage classes2 (Standard, Infrequent Access)7 (Standard to Deep Archive)1 (single class)
Durability (design)11 nines11 nines11 nines
S3 API compatibleYesNativeYes
Minimum storage durationNone (Standard)None (Standard); 90-180 days on GlacierNone
Retrieval feesNone (Standard)On Glacier / IA tiersNone
Built-in analyticsR2 Data Catalog + R2 SQLS3 Tables + AthenaNone
License / modelProprietary (Cloudflare)Proprietary (AWS)Proprietary (Backblaze)

Three patterns jump out. First, Backblaze B2 is the cheapest place to store a byte. Second, Cloudflare R2 is the cheapest place to move a byte. Third, Amazon S3 charges the most on both axes but offers by far the deepest feature set – seven storage classes, retrieval tiers, and an ecosystem of AWS services that snap into it. The rest of the article quantifies exactly how those trade-offs play out.

Cloudflare R2 Pricing, S3 Pricing, and Backblaze B2 Pricing Compared

Let’s break down the exact Cloudflare R2 pricing, S3 pricing, and Backblaze B2 pricing line by line. All figures are US-region, standard storage class, pulled from the Cloudflare R2 pricing page, the Amazon S3 pricing page, and the Backblaze B2 pricing page, with Cloudflare Docs re-checked as recently as September 2026, alongside third-party trackers like Filebase and FrontDeskReview that independently confirmed R2’s Infrequent Access operation costs that same period.

Cost componentCloudflare R2Amazon S3 (Standard)Backblaze B2
Storage, Standard (per GB-mo)$0.015$0.023$0.00695
Storage, Infrequent Access (per GB-mo)$0.01$0.0125 (Standard-IA)n/a
Storage, cold/archive (per GB-mo)n/a$0.004 (Glacier Instant) / $0.00099 (Deep Archive)n/a
Egress to internet (per GB)$0.00$0.09 (first 10 TB tier)$0.01 (after 3x free)
Write requests (per 1,000)$0.0045$0.005Free
Read requests (per 1,000)$0.00036$0.0004Free (Class D: $0.004/10k)
Free storage each month10 GBNone (beyond free-tier account)10 GB
Free operations each month1M write + 10M readFree-tier onlyMost API classes free
Minimum billed durationNone (Standard)None (Standard)None

How to read the R2 pricing model

Cloudflare R2 charges for exactly two things you can predict: storage at $0.015/GB-month for Standard and operations (Class A writes at $4.50 per million, Class B reads at $0.36 per million) – figures Cloudflare’s own documentation still listed as current as of October 2026. There is no egress line, no data-retrieval fee on Standard, and no minimum duration. R2 also added an Infrequent Access class in 2025 at $0.01/GB-month with a $0.01/GB retrieval fee and a 30-day minimum duration – a restriction BucketMate’s 2026 guide confirms applies only to Infrequent Access, not Standard – useful for data you rarely touch but still want instantly available, though its operations run pricier than Standard: Cloudflare Docs itself lists IA Class A writes at $9.00 per million requests and IA Class B reads at $0.90 per million as of September 2026 – both exactly double the Standard-class rate, figures Filebase, FrontDeskReview, and BudgetForge’s own pricing trackers independently corroborate. The generous free tier (10 GB storage, 1 million Class A and 10 million Class B operations monthly) means small projects often run at $0.

How to read the S3 and B2 pricing models

Amazon S3 has the most complex bill: storage tiers by class, request charges, egress, and per-tier retrieval and minimum-duration rules on Glacier. That complexity is also its strength – you can push cold data to Glacier Deep Archive at $0.00099/GB-month, roughly 15x cheaper than R2’s storage, if you can tolerate retrieval latency and fees. Backblaze B2 is the opposite: one storage class, one price ($6.95/TB), free uploads, and free egress up to three times your stored data. Beyond that, B2 egress is $0.01/GB, and metadata-heavy “Class D” transactions cost $0.004 per 10,000 calls with 2,500 free per day. For most workloads, B2’s transaction fees are effectively zero.

Real-World Cost Modeling: Three Workloads, Three Winners

Sticker prices lie. The only honest way to compare Cloudflare R2 vs S3 vs Backblaze B2 is to model complete monthly bills for realistic workloads. Below are three scenarios computed from the verified per-unit prices above (1 TB = 1,000 GB decimal, US region, Standard classes, direct egress). This is the section that should decide your choice.

WorkloadCloudflare R2Amazon S3Backblaze B2
A. Media/CDN
1 TB stored, 10 TB egress, 5M reads, 0.5M writes
~$15~$919~$77 direct / ~$7 via Cloudflare CDN
B. Backup/Archive
50 TB stored, 1 TB egress, 1M reads, 2M writes
~$754~$1,241~$347
C. Balanced SaaS
5 TB stored, 5 TB egress, 20M reads, 5M writes
~$96~$589~$35

The story the numbers tell:

  • Egress-dominant workloads (Scenario A): R2 obliterates the competition. At $15 versus S3’s $919, R2 is roughly 60x cheaper. Backblaze is competitive at $77 – and effectively free to serve if you front B2 with Cloudflare’s CDN through the Bandwidth Alliance.
  • Storage-dominant workloads (Scenario B): Backblaze B2 wins outright at $347, thanks to its $6.95/TB rate. R2 ($754) beats S3 ($1,241) mostly because S3’s storage costs more per GB and its egress still adds up.
  • Balanced apps (Scenario C): B2 is cheapest on paper ($35), R2 is close behind ($96) with zero egress risk, and S3 is 6-17x more expensive largely because of that $441 egress line.

Notice that S3 never wins on cost in any scenario – which is exactly why AWS competes on ecosystem and features rather than price. An independent breakdown from onidel.com summarizes the egress math cleanly: “Cloudflare R2 charges $0.00 for egress (zero egress fees), while Amazon S3 charges $0.09/GB for data transfer out and Backblaze B2 charges $0.01/GB (with the first 1GB daily free).” If your workload is bandwidth-heavy, that single line determines the winner. If it is storage-heavy and quiet, Backblaze wins. Everything else is nuance.

The Zero-Egress Revolution and How AWS Was Forced to Respond

Egress fees were the cloud industry’s quiet moat for two decades. Then two forces converged in 2024-2025: Cloudflare R2’s zero-egress model made the fees look predatory, and European regulators made them a legal liability. The EU Data Act, which came into force in January 2024, was explicitly designed to let customers switch cloud providers without punitive exit charges.

The result was remarkable. In March 2024, Amazon followed Google and announced free data transfer out to the internet when you move all of your data off AWS. As TechCrunch reported, the waiver applies globally to any customer leaving the platform – not just in Europe. It is a genuine concession, but read the fine print: the free egress applies only when you are leaving, and you must contact AWS support to arrange transfers above 100 GB. For everyday serving of data to your users, S3’s $0.09/GB egress is unchanged.

That distinction matters. AWS’s move neutralizes the “lock-in” criticism – you can now exit without a ransom – but it does nothing for the ongoing cost of running a bandwidth-heavy application on S3. Cloudflare R2’s structural advantage on day-to-day egress remains fully intact. In effect, regulation solved the exit tax while competition kept the running tax. That is why R2 adoption has accelerated and why Cloudflare has invested heavily in turning R2 from a bucket into a platform, a shift we cover below.

Feature and Capability Comparison

Price is only half the decision. The three platforms differ sharply in what they can actually do once your data is inside. This matrix maps the capabilities that matter most in production.

CapabilityCloudflare R2Amazon S3Backblaze B2
Storage classes / tieringStandard + Infrequent Access7 classes + Intelligent-TieringSingle class
Lifecycle rulesYesYes (most mature)Yes
Object versioningYesYesYes
Object lock / immutabilityYesYes (Object Lock)Yes (Object Lock)
Server-side encryptionYes (automatic)Yes (SSE-S3/KMS/C)Yes (SSE-B2/C)
Event notificationsYes (to Workers/queues)Yes (SNS/SQS/Lambda)Yes (event notifications)
Serverless compute integrationCloudflare WorkersLambda / S3 Object LambdaNone native
Analytics / query in placeR2 SQL + Data Catalog (Iceberg)Athena, S3 Tables, S3 SelectNone
High-performance tierNo single-AZ tierS3 Express One ZoneExpanding for AI/HPC
Presigned URLsYesYesYes
Multi-region / replicationLocation hints; jurisdiction controlCross-Region ReplicationUS-East, US-West, EU

Amazon S3 is the clear feature leader. Two decades of iteration produced capabilities the challengers simply do not match: seven storage classes with automatic Intelligent-Tiering, S3 Object Lambda to transform objects on retrieval, and S3 Express One Zone for single-digit-millisecond latency on hot data. If your architecture depends on those, R2 and B2 will feel spartan. But most applications use maybe five S3 features – PUT, GET, lifecycle, versioning, presigned URLs – all of which R2 and B2 fully support through their S3-compatible APIs.

Where Cloudflare R2 pulls ahead is edge compute. Because R2 lives inside Cloudflare’s network, pairing it with Cloudflare Workers gives you a zero-egress origin sitting microseconds from your compute. Backblaze B2, by contrast, is deliberately narrow: it does one thing – cheap, durable storage – and expects you to bring your own compute and CDN.

Performance, Durability, and Global Reach

All three vendors design for eleven nines of annual durability (99.99999999% (11 nines), meaning that statistically you would expect to lose a single object once every 10 million object-years. In practice, durability is table stakes; none of the three has a reputation for losing data. The meaningful differences are in latency, throughput, and how data is distributed.

Amazon S3 stores objects redundantly across a minimum of three Availability Zones within a region and is available in more than 30 regions worldwide, giving it the widest geographic footprint and the most predictable low-latency reads near AWS compute. For latency-critical workloads it also offers S3 Express One Zone, a single-AZ class purpose-built for millisecond access. Cloudflare R2 takes a different approach: objects are stored durably and served from Cloudflare’s global network, so a cache-friendly workload can be delivered from hundreds of edge locations without you paying egress – a structural performance-per-dollar advantage for public content. Backblaze B2 runs from data centers in the US (East and West) and the EU (Amsterdam); it is fast and reliable but has the smallest geographic spread, so latency-sensitive global apps typically front it with a CDN.

A fair summary: S3 for lowest latency next to AWS compute, R2 for lowest-cost global delivery of cacheable content, and B2 for durable storage where a CDN handles the last mile. Raw single-stream throughput is broadly comparable across all three for typical object sizes; the differentiator is the network and cost model wrapped around the bytes, not the bytes themselves.

S3 API Compatibility and the Lock-In Question

The single most important technical fact in this comparison is that both Cloudflare R2 and Backblaze B2 speak the S3 API. Amazon’s API became the de facto standard for object storage, and the challengers implemented it deliberately so that migrating is often a matter of changing an endpoint URL and credentials. Your existing SDK code, your aws s3 CLI commands, and tools like rclone all work against R2 and B2 with minimal changes.

That compatibility is what makes the egress war possible. Because switching costs are low, the incumbent cannot rely on API lock-in to justify premium egress – which is exactly why AWS competes on ecosystem depth (Athena, Lambda, EventBridge, IAM) rather than the storage primitive itself. As a practical rule: if your code uses the AWS SDK today, you can point it at R2 or B2 tomorrow. The lock-in that remains is not the API; it is the surrounding services. Teams already orchestrating workloads with ECS, EKS, or Fargate or provisioning with Terraform, OpenTofu, or Pulumi will find S3 the path of least resistance, while greenfield projects can adopt R2 or B2 freely.

An analysis by rcloneview.com underscores the point: “Cloudflare R2 eliminates egress fees entirely, offering $0.00 egress cost, whereas AWS S3 charges $0.09/GB for data transferred out to the internet” – a gap that is only exploitable because R2 is S3-compatible, so you can move without rewriting your application.

Security, Compliance, and Data Sovereignty

For regulated workloads, the object storage decision is not only about cost – it is about certifications, encryption, and where your bytes physically live. All three platforms encrypt data at rest by default and support TLS in transit, and all three offer object-lock (WORM) immutability to satisfy retention and ransomware-recovery requirements. Where they diverge is the breadth of the compliance program and the granularity of data-residency controls.

Amazon S3 has the widest compliance surface of the three, backed by the full AWS attestation portfolio – SOC 1/2/3, ISO 27001, PCI DSS, HIPAA eligibility, and FedRAMP authorizations in AWS GovCloud – plus fine-grained IAM policies, bucket policies, access points, and S3 Block Public Access as defense-in-depth. If you are shipping healthcare, financial, or government workloads, S3’s paperwork is the most complete and the easiest to hand an auditor. Cloudflare R2 supports server-side encryption, Object Lock, and – importantly for European customers – jurisdictional restrictions that pin data to EU data centers, aligning with GDPR and the EU Data Act’s data-portability goals. Backblaze B2 provides server-side encryption, Object Lock, and SOC 2 attestation, with the choice of US or EU (Amsterdam) regions to keep data on the right side of a border.

The practical guidance: if compliance breadth or FedRAMP is a hard requirement, S3 is the safe default. If your driver is EU data sovereignty without egress penalties, R2’s jurisdiction feature plus zero egress is a compelling combination. And if you simply need encrypted, immutable backups in a specific region at the lowest price, B2 covers the essentials without the AWS bill.

Beyond Storage: R2 Data Catalog, Iceberg, and the Cloudflare Data Platform

In 2025 Cloudflare stopped treating R2 as a bucket and started treating it as the foundation of a data platform – the most important strategic shift in this comparison. The centerpiece is the R2 Data Catalog, a managed Apache Iceberg catalog built directly into R2 buckets. It brings database-like capabilities – ACID transactions, schema evolution, and efficient querying – to data sitting in object storage, without you running an external catalog service, and crucially without egress fees when your query engines read the data. Cloudflare put a price on that convenience when Data Catalog pricing launched in May 2026: catalog operations run $9.00 per million (with the first 1 million operations free each month), and background table compaction costs $0.005/GB plus $2.00 per million objects processed – with 10 GB of compaction processing and 1 million compaction objects also free every month, so light analytics workloads can run the catalog at no cost.

Cloudflare paired the catalog with R2 SQL, an in-house distributed query engine designed for petabyte-scale queries over R2, and rolled both into the broader Cloudflare Data Platform for ingesting, storing, and querying data on Cloudflare’s network. When Cloudflare launched R2 SQL in May 2026, it put a concrete price on that engine: the first 10 GB scanned each month is free – an allowance Cloudflare Docs still listed as current in August 2026 – and every terabyte scanned beyond that costs $2.50 (about $0.0025/GB), a rate Cloudflare itself says runs at roughly half the cost of querying the same data with AWS Athena and under half the cost of BigQuery – cheap enough, as a Mo Studio summary of the announcement put it, to make ad hoc Iceberg queries a rounding error next to egress. This directly targets the analytics lakehouse pattern – the same Apache Iceberg standard we cover in our Iceberg vs Delta Lake vs Hudi comparison. Amazon answered the same trend with S3 Tables, its own managed Iceberg offering, and the mature Athena query service. Backblaze B2, staying true to its focused strategy, offers neither; you bring your own query engine.

The implication for architects is significant. If you are building an analytics stack on open table formats, R2 lets your Spark, Trino, or DuckDB engines read Iceberg data with zero egress – a real cost advantage over pulling the same data out of S3 repeatedly. If you live inside AWS and use tools like Athena or feed a warehouse such as those in our Snowflake vs Databricks vs BigQuery breakdown, S3 Tables keeps everything in one ecosystem. The lakehouse is now a first-class reason to choose your object store, not an afterthought.

Storage Classes and Tiering Explained

This is the dimension where Amazon S3’s maturity is unmatched, and it can flip the cost verdict for cold-data workloads. S3 offers seven storage classes, each trading retrieval speed and fees for lower at-rest price:

  • S3 Standard – $0.023/GB-month, instant access, no retrieval fee.
  • S3 Standard-IA – $0.0125/GB-month for infrequently accessed data, plus a retrieval fee.
  • S3 Glacier Instant Retrieval – $0.004/GB-month for archives you still need in milliseconds.
  • S3 Glacier Deep Archive – $0.00099/GB-month, the cheapest storage in this entire comparison, with retrieval measured in hours and a 180-day minimum.
  • Intelligent-Tiering – automatically moves objects between tiers based on access patterns.

Cloudflare R2 keeps it simple with two classes: Standard ($0.015) and Infrequent Access ($0.01/GB-month, 30-day minimum, $0.01/GB retrieval). Backblaze B2 has exactly one class at $6.95/TB, betting that a single low price beats the cognitive overhead of tiering. The decision rule: if you have petabytes of genuinely cold data you touch a few times a year, S3 Glacier Deep Archive at $0.00099/GB is unbeatable – roughly 7x cheaper than B2 and 15x cheaper than R2 for storage-at-rest. For everything warmer than that, B2’s flat rate or R2’s zero-egress model usually win on the total bill.

How to Migrate From S3 to R2 (or B2): A Practical Guide

Because R2 and B2 are S3-compatible, migration is more of a plumbing exercise than a rewrite. There are three proven paths, from simplest to most sophisticated.

Option 1: rclone or the AWS CLI (any target)

For one-off migrations under a few terabytes, point the AWS CLI or rclone at the new endpoint. R2 exposes an S3-compatible endpoint per account; B2 exposes one per region.

# Copy an S3 bucket to Cloudflare R2 using the AWS CLI
# R2 endpoint format: https://ACCOUNT_ID.r2.cloudflarestorage.com
aws s3 sync s3://my-legacy-bucket s3://my-r2-bucket 
 --endpoint-url https://ACCOUNT_ID.r2.cloudflarestorage.com 
 --profile r2

# Or use rclone for resumable, parallel transfers
rclone sync s3:my-legacy-bucket r2:my-r2-bucket 
 --transfers 32 --checkers 64 --fast-list

Option 2: Cloudflare Super Slurper (bulk, one-time)

For large one-time migrations, Cloudflare’s Super Slurper – now generally available – copies objects from S3, Google Cloud Storage, or any S3-compatible source into R2 in parallel, using Cloudflare’s own bandwidth so the transfer finishes fast. You configure the source bucket and credentials in the dashboard and Super Slurper handles the rest, making autonomous decisions to optimize throughput.

Option 3: Cloudflare Sippy (incremental, zero-downtime)

The cleverest option is Sippy, an incremental migration built into the R2 bucket. When an object is requested, R2 serves it if present; if not, R2 simultaneously fetches it from S3 and copies it into R2. Your data migrates lazily as it is used, spreading egress across normal application traffic instead of one big bill. Pair Sippy for hot objects with Super Slurper for the cold remainder and you can cut over with essentially zero downtime.

# Enable Sippy on an R2 bucket via Wrangler (incremental migration)
npx wrangler r2 bucket sippy enable my-r2-bucket 
 --provider aws 
 --bucket my-legacy-bucket 
 --region us-east-1 
 --access-key-id $AWS_KEY 
 --secret-access-key $AWS_SECRET

# From here, point your app at R2. Objects copy over on first read.

One caution: while migrating into R2 or B2 is cheap, migrating out of S3 in bulk means paying S3 egress – unless you qualify for AWS’s free-egress-on-exit program. Sippy’s lazy approach minimizes that hit by only transferring objects you actually use. Plan the direction of your data flows before you start.

Best Object Storage by Use Case

Rather than a single winner, here are concrete recommendations mapped to real workloads engineers actually run.

  • Video, images, and public downloads → Cloudflare R2. Bandwidth is your dominant cost and R2’s zero egress makes it 10-60x cheaper than S3. Front it with Cloudflare’s CDN and delivery is effectively free.
  • Nightly backups and long-term archives → Backblaze B2 or S3 Glacier. If you rarely read the data and want the lowest at-rest price, B2 at $6.95/TB is the simplest win; for genuinely frozen petabytes you touch yearly, S3 Glacier Deep Archive at $0.00099/GB is cheaper still.
  • AI/ML training datasets → Cloudflare R2. Training pipelines read the same data repeatedly; on S3 that repeated egress is brutal, while on R2 it is free. R2’s Iceberg catalog also suits feature stores.
  • Analytics lakehouse on open table formats → R2 Data Catalog or S3 Tables. Choose R2 if you want zero-egress reads for external engines; choose S3 Tables if you are standardized on Athena and the AWS analytics stack.
  • Apps already inside AWS → Amazon S3. When your compute, IAM, and event pipeline are on AWS, S3’s integration and single-vendor billing outweigh the price premium – and the March 2024 free-egress-on-exit removes the lock-in objection.
  • S3-compatible storage behind an existing CDN → Backblaze B2. If a CDN already handles delivery, B2’s flat rate and Bandwidth Alliance free egress give you cheap, boring, durable storage.

What the Data and Independent Analyses Say

Beyond vendor pricing pages, the wider developer ecosystem has reached a consistent read on how these three platforms stack up in 2025-2026. Amazon remains the most widely used cloud platform among professional developers according to the 2025 Stack Overflow Developer Survey, which is why S3 stays the default despite its pricing – familiarity and ecosystem gravity are real. But the same period saw Cloudflare deliberately reposition R2 from a cost play into a full data platform, and independent cost analyses keep landing on the same conclusion.

The recurring theme across third-party reviews is that egress, not storage, decides the winner. The zero-egress model is not a gimmick; it is a different economic structure, and for the large class of applications where bandwidth dominates, it changes the answer entirely. The counter-weight is feature depth and ecosystem: S3’s seven storage classes, Object Lambda, Express One Zone, and tight AWS integration remain genuinely ahead of both challengers, and Backblaze’s single-price simplicity wins the cold-storage race. The healthy conclusion is that a mature 2026 architecture often uses more than one – R2 for delivery, B2 or Glacier for archive, S3 where AWS integration is non-negotiable.

Pros and Cons of Each Platform

Cloudflare R2

Pros: Zero egress fees; strong free tier; S3-compatible; tight integration with Workers and the Cloudflare Data Platform; R2 Data Catalog and R2 SQL for Iceberg analytics; no minimum duration on Standard; simple two-class model. Cons: Storage ($0.015/GB) costs more than B2; fewer storage classes than S3; no single-AZ high-performance tier; smaller feature set than AWS; Class A write operations are the priciest of the three at $4.50/million.

Amazon S3

Pros: The deepest feature set and ecosystem; seven storage classes including Glacier Deep Archive at $0.00099/GB; S3 Express One Zone for low latency; 30+ regions; mature lifecycle, replication, and analytics tooling; free egress when fully exiting AWS. Cons: The most expensive on both storage and egress for everyday use; $0.09/GB egress can dominate the bill; billing complexity; retrieval fees and minimum durations on cold tiers.

Backblaze B2

Pros: Cheapest at-rest storage at $6.95/TB; free egress up to 3x stored plus unlimited free egress via CDN partners; free API transactions for most classes; S3-compatible; dead-simple pricing; no minimum duration. Cons: Only one storage class; smallest geographic footprint (US and EU only); no native edge compute or in-place analytics; egress beyond the free allowance still costs $0.01/GB if you are not fronted by a partner CDN.

Final Verdict: R2 for Egress, B2 for Cold Storage, S3 for Ecosystem

After modeling the full bills, the verdict is refreshingly clear because each platform optimizes a different variable. Cloudflare R2 wins on egress and is the correct default for any workload that serves meaningful bandwidth – media, downloads, AI datasets, CDN origins – where its $0.00 egress makes it up to 60x cheaper than S3. Its evolution into a data platform with the R2 Data Catalog and R2 SQL means you are no longer trading features for that price. Backblaze B2 wins on raw storage, offering the lowest at-rest price of the three at $6.95/TB and near-free transactions, ideal for backups and archives fronted by a CDN. Amazon S3 wins on ecosystem and depth, and remains the pragmatic choice when you are already on AWS or need its seven storage classes, Glacier Deep Archive economics, or Express One Zone latency.

If we had to name a single 2026 winner for the median new project, it is Cloudflare R2: the combination of zero egress, S3 compatibility, a real free tier, and the emerging data platform makes it the lowest-risk, lowest-cost starting point for most teams – with Backblaze B2 as the archive tier and S3 reserved for the AWS-native corners of your stack. Model your own egress-to-storage ratio, then let the numbers in the cost table above choose for you. That is the beauty of an S3-compatible market: the switching cost is low enough that the data can decide.

Frequently Asked Questions

Is Cloudflare R2 really free for egress?

Yes. Cloudflare R2 charges $0.00 for data egress to the internet across both the Standard and Infrequent Access storage classes, a figure Cloudflare’s own documentation still confirmed as of October 2026. You still pay for storage ($0.015/GB-month Standard, $0.01/GB-month Infrequent Access) and operations – Standard Class A writes at $4.50/million and Class B reads at $0.36/million (the rate Cloudflare’s October 2026 documentation lists for standard R2 operations), while Infrequent Access operations cost more, at $9.00/million for Class A writes and $0.90/million for Class B reads per Cloudflare Docs’ own listing, figures Filebase, FrontDeskReview, BudgetForge, and BucketMate’s independent 2026 trackers all corroborate – but there is no per-gigabyte charge for serving data out on either class. This is the core of R2’s cost advantage.

What is the cheapest object storage in 2026?

For storage-at-rest, Backblaze B2 is cheapest at $6.95/TB-month ($0.00695/GB), unless you need archive-only access, in which case Amazon S3 Glacier Deep Archive is cheaper at $0.00099/GB with hours-long retrieval. For total cost on bandwidth-heavy workloads, Cloudflare R2 is usually cheapest because its zero egress removes the largest line item. The “cheapest” answer depends entirely on your egress-to-storage ratio – use the cost model above.

Are Cloudflare R2 and Backblaze B2 compatible with the S3 API?

Yes, both offer S3-compatible APIs. In most cases you can migrate existing applications by changing the endpoint URL and credentials – your AWS SDK code, aws s3 CLI commands, and tools like rclone work against R2 and B2 with minimal changes. This compatibility is what makes switching between these platforms low-risk.

How does S3 pricing compare to R2 for a high-traffic site?

For a site serving 10 TB per month from 1 TB of storage, S3 costs roughly $919/month (dominated by ~$900 of egress), while Cloudflare R2 costs about $15/month because egress is free. That is roughly a 60x difference. The gap widens as your bandwidth grows, which is why bandwidth-heavy sites are the strongest case for R2 over S3.

Did AWS really make egress free?

Partially. In March 2024, following Google and prompted by the EU Data Act, AWS made data transfer out to the internet free when you move all of your data off AWS and close your usage. This removes exit lock-in, but it does not make everyday egress free – serving data to your users from S3 still costs $0.09/GB. R2’s structural zero-egress advantage for running applications remains unchanged.

Can I run analytics directly on object storage?

Yes. Cloudflare added the R2 Data Catalog (a managed Apache Iceberg catalog) and R2 SQL for querying petabyte-scale data in place with zero egress. Amazon offers S3 Tables (managed Iceberg) plus Athena and S3 Select. Backblaze B2 has no native analytics – you bring your own engine. If in-place analytics on open table formats matters, R2 and S3 are the two candidates.

What is the difference between Super Slurper and Sippy?

Both migrate data from S3 to Cloudflare R2. Super Slurper is a one-time bulk tool that copies everything in parallel as fast as possible. Sippy is incremental: it copies objects lazily as your application requests them, spreading egress cost over normal traffic and enabling near-zero-downtime cutovers. Many teams use Sippy for hot data and Super Slurper for the cold remainder.

Which object storage should a startup choose?

For most new projects, Cloudflare R2 is the lowest-risk starting point: zero egress protects you from surprise bandwidth bills, the free tier covers early growth, S3 compatibility keeps your options open, and the data platform grows with you. Add Backblaze B2 for cheap archives and reach for Amazon S3 specifically when you need AWS-native integrations or its advanced storage classes.

Pricing and features in this comparison were verified against the official Cloudflare, Amazon Web Services, and Backblaze pricing pages, with the Cloudflare R2 line items – including Infrequent Access operation costs reported by Filebase and FrontDeskReview – re-confirmed as of August 2026. Cloud pricing changes frequently; confirm current rates with each vendor before finalizing architecture decisions.

Elias Virtanen

Elias Virtanen

Cybersecurity Analyst

Elias Virtanen is the Cybersecurity Analyst at Tech Insider, bringing hands-on expertise from his background in penetration testing and security consulting. He previously worked as a security researcher at F-Secure in Helsinki, where he focused on threat intelligence and vulnerability disclosure. Elias covers ransomware trends, zero-trust architecture, and the evolving regulatory landscape including NIS2 and the EU Cyber Resilience Act. He holds a CISSP certification and an MSc in Information Security from Aalto University.

View all articles