CDN Cost Showdown 2026: Cloudflare vs CloudFront vs Fastly

CDN bandwidth costs vary by 10x across providers and regions. Here's an honest 2026 comparison of Cloudflare, CloudFront, and Fastly at real traffic volumes.

By Andrii Votiakov on 2026-02-12

CDN pricing is one of the most misleading areas in cloud infrastructure. Vendors publish per-GB rates that look cheap but forget to mention the regional multipliers, the minimum commitments, or the fact that security features cost separately. I've reviewed CDN bills ranging from $200 to $80,000/month and the same traffic volume can cost 10x more on one provider vs another. Here's what actually matters.

Quick answer

Cloudflare Pro/Business is almost always the cheapest for bandwidth-heavy workloads because egress is included in flat-rate plans. CloudFront is cheaper than it looks once you add Shield and security features, but egress pricing is genuinely expensive for high-volume use. Fastly has the best performance tooling and edge compute, but costs significantly more per TB unless you negotiate an enterprise contract. For most teams under 50 TB/month, Cloudflare wins on price. Above 50 TB/month, the comparison becomes workload-specific.

Bandwidth pricing: the raw numbers

First, the headline per-GB egress rates (as of early 2026):

Provider North America / EU Asia Pacific South America
Cloudflare (Pro/Business) Included in plan Included in plan Included in plan
CloudFront $0.0085/GB $0.0120-0.0250/GB $0.0160/GB
Fastly (pay-as-you-go) $0.120/GB $0.190/GB $0.190/GB
Fastly (committed, 10 TB+) ~$0.040/GB ~$0.070/GB ~$0.070/GB
Bunny CDN $0.005/GB $0.030/GB $0.060/GB

Cloudflare's included bandwidth on Pro ($20/month) and Business ($200/month) plans is genuinely unlimited for typical web traffic. The "unlimited" applies to cached content — Cloudflare will push back on pure bandwidth-intensive file distribution where the intent is to use them as a cheap file host.

Fastly's pay-as-you-go rate of $0.120/GB makes it prohibitively expensive for high-volume use. Almost everyone using Fastly at scale negotiates a committed-use contract.

CloudFront pricing in full

CloudFront's advertised rate is just the starting point. The real bill includes:

Data transfer out (origin to edge): free. CloudFront pulls from S3 or EC2 without cross-origin data transfer charges when both are in the same AWS region. This is a genuine advantage if your origin is already on AWS.

Data transfer out (edge to users): $0.0085/GB for first 10 TB/month in US/EU, dropping to $0.0080/GB at 150 TB+. Asia-Pacific rates are 1.5-2x higher. South America is 2x.

HTTP request charges: $0.0100/10,000 HTTPS requests. At 100M requests/month that's $100/month in request charges alone.

CloudFront Shield Standard: free. Shield Advanced: $3,000/month flat plus data transfer charges. Most teams don't need Shield Advanced.

WAF (Web Application Firewall): $5/month per WebACL, $1/million requests, $0.60/million requests for managed rule groups. For a site with 100M requests/month and basic WAF rules, that's roughly $165/month in WAF costs.

Origin Shield: optional caching layer, $0.0120/10,000 requests. Reduces origin load but adds cost.

A realistic CloudFront bill for 10 TB/month, 100M requests, and basic WAF: $85 + $100 + $165 = $350/month. That's not extreme, but it's 1.75x the advertised bandwidth cost.

Cloudflare: what "unlimited" actually means

Cloudflare's model flips the standard CDN pricing on its head. Rather than charging per GB, they charge per feature tier.

  • Free: unlimited bandwidth for cacheable content, basic DDoS protection, SSL
  • Pro ($20/month): better cache control, image optimisation, Polish
  • Business ($200/month): custom WAF rules, priority support, 100% uptime SLA
  • Enterprise: custom pricing, advanced security, dedicated support

The catch: Cloudflare's acceptable use policy prohibits using their CDN as a "large file download" host where the primary purpose is bandwidth delivery (video streaming, large binary distribution). For standard web assets, APIs, and SaaS applications, the limits are generous.

For a site serving 50 TB/month in cached web content, Cloudflare Business at $200/month is a no-brainer compared to CloudFront's $425/month or Fastly's $2,000+/month.

Cloudflare Workers (edge compute) charges $0.30/million requests after the first 10M free (on Workers Paid at $5/month). Lambda@Edge on CloudFront charges $0.60/million requests plus compute time. Workers is roughly 2x cheaper per invocation for simple edge logic. For a detailed breakdown of Cloudflare's add-on billing — Workers, R2, Argo, and Stream — that post covers the full picture.

Fastly: when it's worth the price

Fastly costs more but offers features that CloudFront and Cloudflare don't match cleanly.

Instant Purge: Fastly purges cached content in ~150ms globally. CloudFront purges take 1-3 minutes. Cloudflare Business is seconds but not sub-second. If your use case is news, live events, or e-commerce with rapidly changing inventory, Fastly's purge speed has real value.

VCL (Varnish Configuration Language): Fastly exposes full VCL at the edge. Complex cache logic, request manipulation, and routing that would require Lambda@Edge or Cloudflare Workers on other platforms can be done natively in Fastly's config layer. Less code to maintain.

Real-time log streaming: Fastly streams logs in real time to S3, BigQuery, or Splunk. CloudFront has a 5-15 minute delay. Cloudflare logs are near-real-time on Business+.

The premium is real though. At 10 TB/month on pay-as-you-go, Fastly is $1,200/month vs CloudFront's $350/month vs Cloudflare's $200/month. Unless you need the specific Fastly capabilities, the price difference is hard to justify.

WAF and security pricing compared

Security features are where the real cost differences hide.

Feature Cloudflare CloudFront + WAF Fastly
DDoS protection Included (all plans) Shield Standard free, Advanced $3k/month Included
Managed WAF rules Business ($200/month) $0.60/M requests per rule group Add-on pricing
Bot management Enterprise only AWS WAF Bot Control ($10/M requests) Add-on
Custom WAF rules Business ($200/month) $5/WebACL/month + usage Available

For a site needing basic WAF protection: Cloudflare Business ($200/month) beats CloudFront WAF ($150-300/month depending on traffic) and both beat Fastly's add-on model.

For serious bot management and fraud prevention: Cloudflare Enterprise or Fastly's security products are in the same tier, but both require enterprise contracts.

When each CDN wins

Cloudflare wins:

  • Web assets, SaaS products, marketing sites: flat-rate pricing is unbeatable
  • Tight budget, medium traffic (1-100 TB/month): nothing comes close on price
  • Simple edge compute needs: Workers is cheaper than Lambda@Edge
  • DDoS-sensitive: included protection at every tier

CloudFront wins:

  • Origin is on AWS S3 or EC2: zero origin-to-CDN egress cost
  • AWS-native stack with Lambda@Edge and CloudWatch integration
  • Low to medium traffic where AWS ecosystem benefits outweigh cost
  • When you need tight integration with Route 53 latency routing

Fastly wins:

  • Sub-second purge is non-negotiable (news, live events, real-time inventory)
  • Complex VCL routing logic you don't want to maintain as code
  • Enterprise contract with volume commitments (rates get competitive)
  • Detailed real-time analytics matter more than cost

Realistic numbers

I've audited CDN costs on a range of traffic volumes. Here's what the same traffic looks like across providers:

Monthly traffic Cloudflare Business CloudFront (US/EU) Fastly (committed)
1 TB $200 $208 + $0 WAF ~$400
10 TB $200 $400 + $165 WAF ~$500
50 TB $200 $1,700 + $300 WAF ~$2,200
200 TB $200-custom $6,800 + WAF ~$8,500 (negotiated)

At 50 TB+, CloudFront costs 10x Cloudflare. At 200 TB, the gap is similar unless you negotiate significant CloudFront volume discounts.

The team I most recently helped was spending $4,200/month on CloudFront (40 TB/month, US and APAC traffic) and $800/month on CloudFront WAF. Moving cacheable web assets to Cloudflare Business saved $3,800/month. They kept CloudFront for dynamic origin content where the S3 egress-free benefit applied.


CDN costs compound quietly. If your CDN line item is larger than you'd expect, the fix is usually either a provider switch for static assets or rethinking what's actually cached vs passed through. Book a call and I'll review your CDN config and bill in one session.