List-price math only. Real bills depend on cache hit rates, response sizes, and origin egress. The deep audit models your actual CDN logs and ranks which traffic to re-route first.
| Line item | CloudFront | Cloudflare |
|---|---|---|
| — | ||
| Line | CloudFront | Cloudflare |
|---|---|---|
| CDN bandwidth, first 10 TB (US/EU) | $0.085 / GB | Free |
| CDN bandwidth, next 40 TB (US/EU) | $0.080 / GB | Free |
| CDN bandwidth, next 100 TB (US/EU) | $0.060 / GB | Free |
| CDN bandwidth, over 500 TB (US/EU) | $0.020 / GB | Free |
| HTTPS requests (US/EU) | $0.0075 / 10K | Free on CDN |
| HTTPS requests (India / Middle East) | $0.012 / 10K | Free on CDN |
| Plan base cost | $0 / mo | $0 / $25 / $250 / custom |
| Edge compute | $0.60 / 1M invocations (Lambda@Edge) | 100K req/day free, then $5/10M |
| Invalidation | First 1,000 free, then $0.005 each | Unlimited free |
One-page checklist of the biggest CDN cost levers — bandwidth-vs-request profile audit, R2 plus Cloudflare swap for static assets, Cloudflare Tunnel to skip ALB egress, CloudFront Origin Shield economics, cache-key tuning for higher hit rates, the Lambda@Edge replacement options on Workers, and the TOS Section 2.8 limits to model before migrating. PDF sent to your inbox.
cf_total = bandwidth_tiered(gb, region) + (requests_m × 1000) × per10k_rate + edge_cost + invalidation_cost
Example: 1,000 GB to internet via CloudFront US/EU = 1,000 × $0.085 = $85.00 bandwidth + 10M requests × $0.0075/10K = $7.50 requests = $92.50 per month on CloudFront. Same workload on Cloudflare Free = $0 bandwidth + $0 plan + $0 requests = $0 per month. Net delta: $92.50/mo or about $1,110/yr — and you have not even modeled cache-hit benefit yet.
Scale to 50 TB of monthly bandwidth and the picture sharpens. CloudFront: first 10 TB × $0.085 = $850, next 40 TB × $0.080 = $3,200 — $4,050 bandwidth, plus request fees on however much traffic that 50 TB generates. Cloudflare on a Business plan: $250/mo flat, with bandwidth still free (subject to TOS Section 2.8 if heavily media). Delta widens to over $40,000 per year. Edge compute can swing it back the other way at extreme invocation counts.
Cloudflare runs an anycast network at the edge and recovers cost through paid plans (Pro, Business, Enterprise) and add-on products (Workers, R2, Stream, Argo). Bandwidth itself is treated as a commodity bundled with whatever plan you sit on. Their economics are inverted from AWS: peering and settlement-free interconnect at internet exchange points keep their cost-per-GB very low, and they monetize features (WAF, bot management, image optimization, Workers) on top.
Rarely on bandwidth alone. CloudFront wins in three specific scenarios. First, very high Lambda@Edge or CloudFront Functions usage can come out ahead of Workers Paid at extreme invocation counts. Second, if origin and consumers are both inside AWS, CloudFront integrates with S3/ALB/API Gateway with zero cross-cloud egress, while Cloudflare in front of an AWS origin still incurs S3 egress to Cloudflare's edge. Third, AWS-native features (Signed URLs tied to IAM, AWS WAF rule sharing, Origin Shield) cannot be replicated on Cloudflare without engineering work.
Only if you serve a lot of non-HTML traffic on a non-Enterprise plan. Section 2.8 (the 'serving primarily non-HTML content' clause) lets Cloudflare ask you to upgrade or move large video, audio, image-heavy, or downloadable-file workloads to Stream, Images, R2, or an Enterprise contract. In practice they enforce this softly until you cross multi-TB per month of media. For typical web apps (HTML, JS, CSS, JSON APIs, small images) it is a non-issue at Free or Pro tier.
R2 was designed specifically to break the S3 egress fee. Storage is $0.015 per GB-month (versus $0.023 for S3 Standard) and egress is zero. CloudFront in front of S3 charges $0 for the S3-to-CloudFront hop but then $0.085/GB for CloudFront-to-internet in tier 1. R2 fronted by Cloudflare CDN charges $0 storage egress AND $0 CDN bandwidth on standard plans. For static assets read often (downloads, images, build artifacts, ML model files), R2 plus Cloudflare is usually 90 percent cheaper. Trade-off: R2 is a newer ecosystem and you lose tight IAM integration with the rest of AWS.
No. Bandwidth volumes, request counts, region selection, and rate math run locally in your browser. The page fires an anonymous pageview beacon and CTA-click events so we can measure whether the calculator is useful — no inputs, no email (unless you submit one to the cheat-sheet form), no IP stored raw.