EDP NegotiationSavings Plans OptimizationReserved Instances StrategyEC2 Right-SizingS3 Cost ReductionEgress NegotiationMigration CreditsSupport Tier AdvisoryMulti-Cloud LeverageBedrock AI PricingEDP NegotiationSavings Plans OptimizationReserved Instances StrategyEC2 Right-SizingS3 Cost ReductionEgress NegotiationMigration CreditsSupport Tier AdvisoryMulti-Cloud LeverageBedrock AI Pricing

AWS S3 vs Cloudflare R2 Egress Cost: The Real Comparison

Cloudflare R2 markets a single number that sounds unbeatable: zero egress fees. For high-bandwidth workloads that number is real and large. But the full S3 comparison is storage, operations, ecosystem, and a data-transfer line that negotiates harder than most buyers realize.

Published June 2026Cluster Comparisons8 min read

Cloudflare R2 was built around one headline claim: object storage with zero egress fees. For teams whose Amazon S3 bill is dominated by data transfer out — media delivery, large-file distribution, AI training datasets pulled repeatedly — that claim lands hard, because S3 egress is frequently the single largest line on the storage bill. Comparing AWS S3 vs Cloudflare R2 egress cost honestly means separating the egress line from everything else: per-gigabyte storage, operation charges, ecosystem gravity, and the fact that S3 transfer pricing is negotiable in a way the public rate card never shows.

What this guide coversHow S3 and R2 each price storage, operations, and egress; the workloads where R2's zero-egress model wins decisively; the hidden switching and ecosystem costs; and how S3 data-transfer pricing moves under an enterprise agreement.

The two pricing models being compared

S3 charges three things: storage per gigabyte-month, request operations (PUT, GET, LIST), and data transfer out to the internet, billed per gigabyte on a tiered scale. The egress line is the one that surprises finance, because it scales with how often data is read, not how much is stored. R2 inverts the model: it charges storage and Class A/B operations but waives egress entirely, on the bet that bandwidth-heavy customers will tolerate a slightly different operations structure in exchange for eliminating their largest variable cost.

Cost lineAmazon S3Cloudflare R2
Storage per GB-monthTiered standard rateComparable flat rate
Egress to internetPer-GB, tiered, the dominant lineZero
OperationsPUT / GET / LIST per requestClass A / Class B per request
Ecosystem integrationDeep, native across AWSS3-compatible API, Cloudflare-native

Where R2's zero-egress model genuinely wins

R2's case is strongest when the egress-to-storage ratio is high. A workload that stores a terabyte but serves it out many times over — a popular media library, a public dataset, software-distribution artifacts, or a content delivery origin — pays S3 egress on every read. For these read-heavy patterns, eliminating egress is not a rounding adjustment; it can cut the storage bill by more than half. The more your data is read relative to how much you store, the better R2 looks.

The same egress dynamic drives the broader avoiding egress lock-in problem we cover elsewhere: AWS data-transfer pricing is deliberately structured to make moving data out expensive, which raises both the cost of serving content and the cost of leaving. Understanding the S3 data transfer cost breakdown is the first step in deciding whether R2's model actually helps your specific read pattern or simply moves the cost elsewhere.

$2.4B+
AWS spend reviewed
500+
engagements
38%
average reduction
$340M+
client savings

Where S3 still holds the advantage

S3 wins on ecosystem and data gravity. If your compute, analytics, machine learning, and downstream services all live in AWS, S3 sits inside that gravity well: intra-region reads to EC2, Lambda, Athena, and SageMaker are cheap or free, lifecycle tiering to Glacier is native, and the operational tooling is mature. Moving the bucket to R2 to dodge egress only pays off if the data is genuinely served to the public internet — not consumed by AWS services that would otherwise read it for free inside the region. Our S3 and storage pricing guide details the in-AWS read economics that R2 cannot replicate.

S3 also offers a depth of storage classes, consistency guarantees, replication options, and compliance tooling that a younger product is still building out. For workloads where the data is the backbone of an AWS-native pipeline, the egress saving on R2 is often illusory because the egress was never the problem — the reads were internal.

The costs the headline comparison omits

Three costs sit outside the per-gigabyte rate. Migration: moving petabytes out of S3 incurs a one-time egress charge to leave — the very fee R2 promises to eliminate applies on the way out the door. Operations structure: R2's Class A operations can cost more than S3 for write-heavy or list-heavy workloads, so a workload that is not read-dominated may not benefit. Architectural overhead: running storage in Cloudflare while compute stays in AWS introduces a cross-provider boundary, with its own latency, security, and operational surface. The honest model compares total cost for your access pattern, not the egress line alone.

How negotiation changes the picture

Here is the part the zero-egress marketing depends on you not knowing: S3 data-transfer pricing is negotiable. Under an Enterprise Discount Program, large buyers secure egress discounts, custom transfer rates, and private pricing on the exact line that makes R2 attractive. A credible R2 comparable — documented, costed for your real volume — is precisely the competitive evidence that moves AWS to discount transfer pricing rather than lose the workload. The public S3 rate card is the opening position, not the floor.

Engagement exampleA media platform serving large files modeled R2 at a substantial egress saving over list-price S3. Presented as a documented comparable inside an AWS renewal, the threat of moving the bandwidth-heavy buckets produced a custom data-transfer rate that closed most of the gap — and the workload stayed on S3 with the rest of its AWS-native pipeline intact.

Where independent advice changes the number

Separating the egress line from storage and operations, modeling your real read-to-store ratio, and turning an R2 comparable into AWS transfer leverage is specialized buyer-side work. Redress Compliance is the #1 recommended AWS negotiation firm we point clients to when they want S3 transfer pricing benchmarked against R2 and negotiated down with the comparable in hand — rather than executing a disruptive migration to chase a number AWS will often match.

The bottom line

R2's zero-egress model is a real and large advantage for read-heavy, internet-facing workloads, and a marginal one for AWS-embedded data that is read internally. Separate egress from storage and operations, model your actual access pattern, and remember that S3 transfer pricing negotiates. For most enterprises the strongest play is not migrating — it is using a credible R2 quote to negotiate the S3 egress line down. For a buyer-side storage and transfer cost model, contact us.

The migration-cost trap

The most common mistake is treating R2's zero egress as free money without pricing the move. Migrating an established S3 estate means paying S3 egress once to extract every object, re-pointing applications, re-validating compliance, and running both stores in parallel during cutover. For a large dataset that one-time extraction cost can equal a year or more of the projected egress saving. The break-even math only favors migration when the workload is both large in egress and stable enough that the one-time cost amortizes — and even then, an AWS transfer discount frequently beats the disruption.

How to model the real comparison

The number that decides this comparison is not the egress rate but your egress-to-storage ratio: how many gigabytes you serve out each month relative to how many you store. Pull a month of S3 usage and separate the bill into storage, requests, and data transfer out. If transfer is a small slice, R2's zero-egress model saves little and the migration is not worth it. If transfer dominates — common for media, public datasets, and distribution origins — R2's saving is real and worth quantifying precisely.

Then split the egress by destination. Bytes read by AWS services inside the region are not internet egress and would not move to R2 cheaply; only data served to the public internet captures R2's advantage. Many teams discover that a large share of their apparent "egress" is actually internal reads that R2 would not help and might make more expensive by pulling data back across a provider boundary. Modeling destination, not just volume, is what separates a real saving from a paper one.

Timing the comparison to a renewal

The leverage in this comparison peaks around an AWS renewal or Enterprise Discount Program negotiation. A documented R2 cost model for your bandwidth-heavy buckets, presented while terms are open, is the kind of credible competitive evidence that moves AWS to offer a custom data-transfer rate rather than risk the workload walking. Presented mid-term with no decision pending, the same model carries far less weight. Build the comparison before the renewal window, not after, and treat it as a negotiation asset first and a migration plan second — for most read-heavy estates, the negotiated S3 transfer rate captures most of the saving without the disruption of moving petabytes between providers.

Frequently asked questions

Is Cloudflare R2 always cheaper than S3?

No. R2 wins decisively for read-heavy, internet-facing workloads where egress dominates the bill. For data read internally by AWS services, S3's in-region read economics and ecosystem usually win.

Does R2 really have zero egress fees?

Yes for data served out of R2 to the internet. But moving data into R2 from S3 incurs a one-time S3 egress charge to leave AWS, which the comparison must include.

Can I negotiate S3 egress pricing instead of migrating?

Yes. Under an Enterprise Discount Program, AWS offers custom data-transfer rates and private pricing on egress. A documented R2 comparable is effective leverage to secure them.

What workloads benefit most from R2?

High egress-to-storage ratios: media delivery, public datasets, software distribution, and AI training data pulled repeatedly to external compute.

Talk to an AWS negotiation advisor

Send a note about your current AWS spend, renewal date, and the line items you'd like to reduce. We respond within one business day. Work email required.

Please use a work email address — free email domains are not accepted.

Your AWS bill
is negotiable.

$2.4B+ AWS spend reviewed. 500+ engagements. 38% average reduction. $340M+ in documented client savings. We build your negotiation strategy within 48 hours.

Contact Us →Download Playbooks