/ S3 vs R2 Egress Calculator
Search Directory (144) Cloud Storage Hub Master Matrix
✦ ZERO-EGRESS OBJECT STORAGE ARBITRAGE 2026

AWS S3 vs Cloudflare R2
Data Egress Cost Calculator

Calculate the $0.09/GB AWS internet transfer out tax across storage tiers. Compare 100% zero-egress Cloudflare R2 and Wasabi cost savings.

2026 production-verified rates
S3 + GCS + R2 + B2 + Azure Blob
Full S3 invoice: storage + requests + egress

Configure Your Storage Workload

First 100 GB/month always free on all AWS accounts
AWS S3 Monthly Invoice
$523.00 / mo
Egress: $441.00 · Storage: $46.00 · Requests: $36.00

Provider Cost Comparison

Cloudflare R2
$0.00 egress · S3-compatible API
$31.50 / mo
Save $491 / mo (−93.8%)
Backblaze B2
$0.006/GB/mo · $0/egress via Cloudflare
$12.00 / mo
Save $511 / mo (−97.7%)
Google Cloud Storage
$0.020/GB/mo · $0.12/GB egress
$640.00 / mo
+$117 vs S3 (+22.4%)
Azure Blob Storage
$0.018/GB/mo · $0.087/GB egress
$471.00 / mo
Save $52 / mo (−10%)
Migration ROI Verdict Migrating to Cloudflare R2 saves $5,892/year. At R2's migration effort of ~2 developer days ($1,600), payback period is under 1 month.
Tiered Pricing Structure

AWS S3 Data Transfer Out Tiers (2026)

AWS egress pricing is tiered the more you transfer, the slightly cheaper it gets. But this discount is minimal compared to $0.00 egress alternatives.

Monthly Volume AWS S3 Rate Cloudflare R2 Backblaze B2 GCS Standard Azure Blob
0–100 GB$0.00 (free)$0.00$0.00$0.00$0.00
100 GB–10 TB$0.0900 / GB$0.00$0.00*$0.1200 / GB$0.0870 / GB
10 TB–40 TB$0.0850 / GB$0.00$0.00*$0.1100 / GB$0.0830 / GB
40 TB–100 TB$0.0700 / GB$0.00$0.01 / GB$0.0800 / GB$0.0700 / GB
>150 TB$0.0500 / GB$0.00$0.01 / GB$0.0600 / GB$0.0500 / GB
* Backblaze B2 egress is $0.00 via Cloudflare Bandwidth Alliance. Direct download is $0.01/GB with 1GB/day free.
Provider Analysis

Cloud Object Storage Providers Compared

Cloudflare R2
Storage$0.015 / GB / mo
Egress$0.00 / GB
Class A (Writes)$4.50 / 1M ops
Class B (Reads)$0.36 / 1M ops
API CompatibilityS3-compatible
Free Tier10GB storage, 1M reads
Best for: Bandwidth-heavy apps, media hosting, public CDN assets
Backblaze B2
Storage$0.006 / GB / mo
Egress (CF Alliance)$0.00 / GB
Egress (Direct)$0.01 / GB
API Ops$0.004 / 10k ops
Free Storage10 GB always free
Free Egress1 GB/day (30 GB/mo)
Best for: Backup, archive, lowest $/TB at scale
AWS S3 (Standard)
Storage$0.023 / GB / mo
Egress (internet)$0.09 / GB
PUT Requests$0.005 / 1k
GET Requests$0.0004 / 1k
Free Egress100 GB / month
Direct Connect$0.02 / GB
Best for: Existing AWS workloads with Lambda/EC2 intra-region free transfer
Google Cloud Storage
Standard Storage$0.020 / GB / mo
Egress (internet)$0.12 / GB
Egress (same region)$0.00 / GB
Class A (Writes)$0.05 / 10k
Nearline Storage$0.01 / GB / mo
Archive Storage$0.0025 / GB / mo
Best for: GCP-native workflows, BigQuery export, Vertex AI datasets
Wasabi Hot Cloud
Storage$0.0068 / GB / mo
Egress$0.00 / GB
API Requests$0.00 / req
Min Storage90-day minimum
Fair-Use PolicyEgress ≤ storage
API Compat.S3-compatible
Best for: Video storage, media archives, cold backups
Azure Blob Storage
Hot Storage$0.018 / GB / mo
Egress Zone 1$0.087 / GB
Cool Storage$0.01 / GB / mo
Archive Storage$0.00099 / GB
Write Ops$0.055 / 10k
Free Egress100 GB / month
Best for: Azure-native workloads, Microsoft enterprise compliance
Architecture Blueprint

How to Eliminate S3 Egress Fees in Production

The most effective approach depends on your use case. For public-read media and static assets, the fastest migration is routing CloudFront or Cloudflare as a CDN proxy in front of S3 (Cloudflare caches at the edge for free). For full elimination, migrating to Cloudflare R2 with its S3-compatible API takes under a day for most teams.

Strategy 1: Cloudflare CDN Proxy (Fast 2-4 hours)

# Add a Cloudflare CNAME over your S3 bucket # Set Cache-Control headers on S3 objects: Cache-Control: public, max-age=31536000, immutable # Cloudflare will cache at 250+ PoPs globally. # Result: 85-95% cache HIT ratio # Egress reduction: up to 92% on read-heavy assets

Strategy 2: Migrate to R2 (Full 1-2 days)

# S3-to-R2 migration with rclone (open-source) rclone copy s3:my-bucket r2:my-bucket \ --transfers 32 \ --checkers 32 \ --progress # Update SDK endpoint config: endpoint_url = "https://<account>.r2.cloudflarestorage.com" # Your s3.put_object / get_object calls work as-is
When is S3 Still Worth It? If your workload runs entirely within AWS (Lambda, EC2, ECS in the same region), data transfer between AWS services is $0.00. The $0.09/GB egress fee only applies to data exiting AWS to the public internet. If your consumers are all AWS-internal, S3 remains competitive on price.
Math Reference

S3 Invoice Calculation Formula

# Complete S3 Standard monthly cost breakdown egress_cost = max(0, GB_transferred - 100) * $0.09 + # Tiered discount above 10TB, 40TB, 100TB storage_cost = GB_stored * $0.023 request_cost = (PUT_requests_k * $0.005) + (GET_requests_k * $0.0004) total_monthly = egress_cost + storage_cost + request_cost # For R2 equivalent: r2_monthly = (GB_stored * $0.015) + (class_a_ops_M * $4.50) + (class_b_ops_M * $0.36) + $0.00 # egress always $0
FAQ

Cloud Storage Egress Frequently Asked Questions

How much does AWS S3 charge for data egress per GB?
AWS S3 charges $0.09 per GB for the first 10 TB per month transferred out to the internet, with tiered discounts: $0.085/GB for the next 40 TB, $0.07/GB for the next 100 TB, and $0.05/GB beyond 150 TB. The first 100 GB per month is always free on all AWS accounts. Data transferred between AWS services in the same region is free.
Does Cloudflare R2 have egress fees?
No. Cloudflare R2 charges $0.00 for all data egress from the public edge this is R2's primary competitive differentiator. You pay only for storage ($0.015/GB/month), write operations ($4.50/1M Class A), and read operations ($0.36/1M Class B). Free tier includes 10 GB storage, 1 million Class A operations, and 10 million Class B operations per month.
When should I migrate from S3 to Cloudflare R2?
Migration from S3 to R2 is financially justified when your monthly outbound data transfer exceeds approximately 250 GB. At that threshold, egress savings alone exceed R2 storage costs. The migration uses rclone with the S3-compatible API and typically takes 1–2 engineer days. Payback period is under one month for most teams with >1 TB monthly egress.
Is Backblaze B2 free egress with Cloudflare?
Yes. Backblaze B2 is a member of the Cloudflare Bandwidth Alliance bandwidth between Backblaze B2 and Cloudflare network is completely free. If you serve your B2 assets through Cloudflare CDN (using a B2 bucket as an origin), you pay $0.00 for both egress from B2 to Cloudflare and from Cloudflare to end users. Direct B2 download (bypassing Cloudflare) costs $0.01/GB after a 1 GB/day free allowance.
What is AWS Direct Connect and how does it reduce egress costs?
AWS Direct Connect is a dedicated private network circuit between your on-premises infrastructure and AWS. Data transfer out via Direct Connect costs $0.02/GB in US regions 78% cheaper than public internet egress at $0.09/GB. Circuit costs start at $0.30/port-hour for 1 Gbps plus a partner port fee. For enterprises transferring 100+ TB/month, Direct Connect break-even is typically within 18 months of setup costs.
What is the S3 cross-region replication egress fee?
Replicating S3 objects across AWS regions incurs a $0.02/GB cross-region data transfer fee plus destination S3 PUT request fees ($0.005 per 1,000 requests). For example, replicating 10 TB from us-east-1 to eu-west-1 costs $204.80 in transfer fees alone. Use S3 Multi-Region Access Points with intelligent routing to minimize active replication costs.