Skip to content

Cloud egress cost calculator: AWS, Google Cloud, Azure, Cloudflare and Fastly side by side

See what the same monthly traffic costs to send out of each cloud, with tiered internet rates, a CDN, and cross-AZ and cross-region transfer included.

Runs in your browser. Your inputs are not uploaded.Open formulaPrices updated November 2026
How to verify this

Open your browser's network tab and change an input: nothing is sent. The page computes with the formulas and the dated price table below. Some entries in that table could not be checked against an official page and are labelled. The same engine answers the API and the MCP tool, so you can reproduce any scenario from code.

Jump to results

Your inputs

Traffic
The baseline for the savings. Choose Other to compare without one.
1 TB is as many GB as each vendor defines it: 1,024 for AWS and Google Cloud, 1,000 for Azure, Cloudflare and Fastly.
Traffic between availability zones in one region, as a share of the outbound volume.
Traffic between regions of the same provider, as a share of the outbound volume.
CDN
The same CDN is applied to every origin provider compared. Pulling from a provider's own CDN is free or cheap; pulling into another CDN is billed as internet egress.
Used only when a CDN is selected. Only cache misses reach the origin. Left empty, 80% is assumed.
Destinations
Where your users are. The three shares should add up to 100; otherwise they are scaled and you are told.
South America, Middle East, Africa and the rest.
Compare
Providers to compare

Cheapest: Cloudflare R2 at $0.00/month, $52,736/year less than AWS.

  • Heads-up:Cloudflare R2 charges nothing for egress but bills storage and operations, which are not in this total.
  • Note:Volume is within 5% of a price boundary, so a small change in traffic moves the rate (aws internet egress: 51,200 GB against a boundary at 51,300 GB; azure internet egress: 50,000 GB against a boundary at 51,295 GB).
  • Note:Prices for AWS, Azure, Fastly are not fully verified against an official vendor page. AWS: Internet egress above 51,200 GB after the 100 GB allowance: the $0.07 tier and its 153,600 GB boundary could not be read from an official AWS page (the EC2 data-transfer tables render with JavaScript). They come from an AWS Builder Center community article. The $0.05 floor for US East is confirmed by an AWS blog. Above 500 TB a month the AWS EC2 and S3 pages say to contact AWS, so the $0.05 rate is carried forward there as an assumption. Azure: Azure CDN Zone 2 (Asia Pacific) and Zone 3 (South America): above 1,000,000 GB (1,000 TB) Microsoft publishes 'contact us', so the last published rate is carried forward as an assumption. Fastly: Fastly publishes no per-GB rate above 20 TB a month (contact sales), so the last published rate is carried forward as an assumption. The Fastly pricing page does not say whether a TB is 1,000 or 1,024 GB; decimal is assumed for the tier bounds (10 TB and 20 TB) and for the conversion. This result reaches that assumed range.
Monthly volume
51,200 GB
50 TB, counted as AWS counts a TB
Cheapest
Cloudflare R2
$0.00 per month, $0 per GB, egress only
Your current provider
$4,395
AWS, $4,395 of it internet egress and CDN
Saving per year
$52,736
moving to Cloudflare R2

Monthly cost by provider, split into components

  • Internet egress
  • CDN
  • Inter-AZ
  • Inter-region
Cost comparison, cheapest first
ProviderInternetCDNInter-AZInter-regionTotalVs current
Cloudflare R2$0.00$0.00n/an/a$0.00-$4,395
Azure$4,183$0.00$0.00$0.00$4,183-$212.06
AWS$4,395$0.00$0.00$0.00$4,395$0
Google Cloud$4,813$0.00$0.00$0.00$4,813+$417.97
Fastly$5,316$0.00n/an/a$5,316+$921.20

Cloudflare R2: egress only, no inter-AZ or inter-regionFastly: egress only, no inter-AZ or inter-region Azure: prices not fully verifiedAWS: prices not fully verifiedFastly: prices not fully verified

Not in these totals: Cloudflare R2 (storage, operations); Fastly (requests, package fees).

Destination mix used: 70% North America and Europe, 20% Asia Pacific, 10% rest of the world.

Monthly cost as traffic (or cache hit ratio) changes

Calculating the range…

How it is calculated

Volume

V        = monthly_outbound_tb × tb_to_gb          (GB in a TB as each vendor defines it)
V_origin = V × (1 − cache hit ratio)               (with a CDN; otherwise V_origin = V)

Tiered internet egress for one provider

C_tier(X) = Σ_i  r_i × min( max(X − F − B_(i−1), 0),  B_i − B_(i−1) )
F = free allowance, B_i = cumulative tier bounds measured after F, r_i = rate in tier i
r_i = Σ_g  w_g × r_(g,i)   (w = destination mix as shares of 1; g = North America and Europe, Asia Pacific, rest of the world)

Total for one provider

C_total = C_tier(V_origin) + C_cdn(V) + V × p_az × r_az + V × p_reg × r_reg
r_az is doubled when the provider bills both directions
Origin pulls into the provider's own CDN are 0 when the dataset marks origin_to_cdn_free

Derived values

effective $/GB = C_total ÷ V
difference vs current = C_total − C_total(current provider)

Assumptions

  • Prices are list prices in USD from the dated table below. Negotiated discounts, commitments, request fees, plan or package fees and taxes are not modelled.
  • Tiers are consumed by the total monthly volume. Where a vendor publishes a separate ladder per destination region, the three destination groups each use one representative rate card (named in the data notes) and the tier rate is the destination-mix-weighted average.
  • One CDN is applied in front of every origin provider compared. The CDN bills its own delivery rate on all traffic; only cache misses (volume × (1 − hit ratio)) are pulled from the origin. A provider's own CDN is free or cheap to pull from; any other CDN pulls at that provider's internet egress rate.
  • Fastly is a delivery network with no origin hosting, so its row is the cost of delivering the whole volume through Fastly and ignores the hit ratio. Cloudflare means R2 object storage with free egress.
  • Each vendor's own meaning of a TB is used to turn your TB into GB (1,024 GB for AWS and Google Cloud, 1,000 for Azure, Cloudflare and Fastly). Every ladder is evaluated at that vendor's GB figure.
  • Providers with no compute zones (Cloudflare, Fastly) have no cross-AZ or cross-region charge here, and their total is labelled egress only. Zero-egress storage still bills storage and operations, which are not in the total.
  • AWS and Azure internet egress is priced by the region traffic leaves from: the data are AWS US East (N. Virginia) and Azure sources in North America and Europe.
  • Where a vendor publishes no price above some volume (contact sales), the last published rate is carried forward and the result says so.

The data behind it

Allowances and conventions. * = at least one price is not verified against an official page
Provider1 TB =Free allowanceInternet egressInter-AZInter-regionChecked
AWS *1,024 GB100 GBTiered$0.01/GB each direction$0.02/GBNot fully verified
Google Cloud1,024 GB1 GBTiered$0.01/GB$0.02/GB2026-11-05
Azure *1,000 GB100 GBTieredFree$0.02/GBNot fully verified
Cloudflare R21,000 GBNoneZero egressn/an/a2026-11-05
Fastly *1,000 GB100 GBDelivery networkn/an/aNot fully verified
Internet egress ladders (USD per GB; tier bounds are cumulative GB after the free allowance)
ProviderDestinationTiers
AWS *All destinationsto 10,240 GB: $0.09; to 51,200 GB: $0.085; to 153,600 GB: $0.07; above 153,600 GB: $0.05
Google CloudNorth America and Europeto 1,023 GB: $0.12; to 10,239 GB: $0.11; above 10,239 GB: $0.08
Google CloudAsia Pacificto 1,023 GB: $0.12; to 10,239 GB: $0.11; above 10,239 GB: $0.085
Google CloudRest of the worldto 1,023 GB: $0.19; to 10,239 GB: $0.18; above 10,239 GB: $0.15
Azure *All destinationsto 10,235 GB: $0.087; to 51,195 GB: $0.083; to 153,595 GB: $0.07; above 153,595 GB: $0.05
Fastly *North America and Europeto 9,900 GB: $0.12; to 19,900 GB: $0.08; above 19,900 GB: $0.08 (assumed)
Fastly *Asia Pacificto 9,900 GB: $0.19; to 19,900 GB: $0.14; above 19,900 GB: $0.14 (assumed)
Fastly *Rest of the worldto 9,900 GB: $0.19; to 19,900 GB: $0.14; above 19,900 GB: $0.14 (assumed)
CDN ladders (USD per GB delivered) and origin pulls
CDNDestinationTiersFree allowancePulling from the same provider's origin
Amazon CloudFront *North America and Europeto 9,216 GB: $0.085; to 50,176 GB: $0.08; to 152,576 GB: $0.06; to 510,976 GB: $0.04; to 1,047,552 GB: $0.03; to 5,241,856 GB: $0.025; above 5,241,856 GB: $0.021,024 GBFree
Amazon CloudFront *Asia Pacificto 9,216 GB: $0.12; to 50,176 GB: $0.10; to 152,576 GB: $0.095; to 510,976 GB: $0.09; to 1,047,552 GB: $0.08; to 5,241,856 GB: $0.07; above 5,241,856 GB: $0.061,024 GBFree
Amazon CloudFront *Rest of the worldto 9,216 GB: $0.11; to 50,176 GB: $0.105; to 152,576 GB: $0.09; to 510,976 GB: $0.08; to 1,047,552 GB: $0.06; to 5,241,856 GB: $0.05; above 5,241,856 GB: $0.041,024 GBFree
Google Cloud CDNNorth America and Europeto 10,240 GB: $0.08; to 153,600 GB: $0.055; to 1,024,000 GB: $0.03; above 1,024,000 GB: $0.02NoneCache fill $0.01 / $0.02 / $0.02 per GB
Google Cloud CDNAsia Pacificto 10,240 GB: $0.09; to 153,600 GB: $0.06; to 1,024,000 GB: $0.05; above 1,024,000 GB: $0.04NoneCache fill $0.01 / $0.02 / $0.02 per GB
Google Cloud CDNRest of the worldto 10,240 GB: $0.09; to 153,600 GB: $0.06; to 1,024,000 GB: $0.05; above 1,024,000 GB: $0.04NoneCache fill $0.01 / $0.02 / $0.02 per GB
Azure CDN Standard from Microsoft (classic) *North America and Europeto 10,000 GB: $0.081; to 50,000 GB: $0.075; to 150,000 GB: $0.056; to 500,000 GB: $0.037; to 1,000,000 GB: $0.028; above 1,000,000 GB: $0.023NoneFree
Azure CDN Standard from Microsoft (classic) *Asia Pacificto 10,000 GB: $0.129; to 50,000 GB: $0.121; to 150,000 GB: $0.112; to 500,000 GB: $0.093; to 1,000,000 GB: $0.075; above 1,000,000 GB: $0.075 (assumed)NoneFree
Azure CDN Standard from Microsoft (classic) *Rest of the worldto 10,000 GB: $0.233; to 50,000 GB: $0.186; to 150,000 GB: $0.168; to 500,000 GB: $0.149; to 1,000,000 GB: $0.13; above 1,000,000 GB: $0.13 (assumed)NoneFree
Cloudflare CDNAll destinationsNo chargeNoneFree
What is not verified, and why
ProviderNote
AWSInternet egress above 51,200 GB after the 100 GB allowance: the $0.07 tier and its 153,600 GB boundary could not be read from an official AWS page (the EC2 data-transfer tables render with JavaScript). They come from an AWS Builder Center community article. The $0.05 floor for US East is confirmed by an AWS blog.
AWSAbove 500 TB a month the AWS EC2 and S3 pages say to contact AWS, so the $0.05 rate is carried forward there as an assumption.
AzureAzure CDN Zone 2 (Asia Pacific) and Zone 3 (South America): above 1,000,000 GB (1,000 TB) Microsoft publishes 'contact us', so the last published rate is carried forward as an assumption.
FastlyFastly publishes no per-GB rate above 20 TB a month (contact sales), so the last published rate is carried forward as an assumption.
FastlyThe Fastly pricing page does not say whether a TB is 1,000 or 1,024 GB; decimal is assumed for the tier bounds (10 TB and 20 TB) and for the conversion.
Hidden gotchas
TopicWhat catches people out
Cross-AZ trafficAWS bills inter-AZ transfer in each direction, so 1 GB between zones costs twice the listed per-GB rate. Google Cloud bills the sender only; Azure currently does not charge.
Free allowancesAllowances differ (AWS 100 GB a month across all services, CloudFront 1 TB, Azure 100 GB, Fastly 100 GB) and are subtracted before the first tier, so they matter most at small volumes.
Origin pullsPulls from a provider's storage into its own CDN are often free (CloudFront, Azure CDN); pulling into a different CDN is billed as internet egress, and Google Cloud CDN charges a cache-fill rate.
Zero-egress storageCloudflare R2 charges nothing for egress but still bills storage and operations, and anything else you connect to the bucket bills on its own.
NAT and gatewaysNAT gateway, load balancer and PrivateLink processing fees are billed on top of data transfer and are not in these totals; the AWS NAT Gateway & PrivateLink Estimator covers them.
DestinationsSome vendors price by where the user is (CloudFront, Google Cloud, Fastly) and others by where the traffic leaves from (AWS, Azure). Asia Pacific and South America users are usually the expensive ones.
Tier boundariesRates fall as volume grows, so the cost per GB is not constant. Near a boundary a small change in traffic changes the rate you are paying on the next GB.

Three ways to reduce this number

  1. Raise the CDN cache hit ratio: each 10 points of hit ratio removes 10% of the origin egress.
  2. Serve large public objects from zero-egress storage or a CDN with no per-GB charge instead of straight from compute.
  3. Keep chatty services in one availability zone where resilience allows it, and compress responses before they leave.

Use it from code

The same engine is available as a REST endpoint and as an MCP tool named calc_cloud_egress_bandwidth_calculator. Your scenario as an API call:

curl -X POST 'https://api.x12i.com/v1/calc/cloud-egress-bandwidth-calculator' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "input": {
    "current_provider": "aws",
    "monthly_outbound_tb": 50,
    "inter_az_pct": 0,
    "inter_region_pct": 0,
    "cdn": "none",
    "dest_na_eu_pct": 70,
    "dest_apac_pct": 20,
    "dest_other_pct": 10,
    "compare_providers": [
      "aws",
      "gcp",
      "azure",
      "cloudflare",
      "fastly"
    ]
  },
  "options": {
    "explain": false
  }
}'

Schema: GET /v1/calc/cloud-egress-bandwidth-calculator/schema

Frequently asked questions

How much does AWS charge for data transfer out?

Data transfer into AWS is free. Out to the internet from US East, the first 100 GB a month across all AWS services is free, then $0.09 per GB for the next 10,240 GB and $0.085 per GB for the next 40 TB, with lower rates at higher volumes; the full ladder is in the data table on this page. Traffic between availability zones is $0.01 per GB in each direction and traffic to another Region is about $0.02 per GB. Rates vary by Region, and CloudFront has its own ladder with 1 TB a month free.

Is Cloudflare R2 egress really free?

Yes for the egress itself: Cloudflare's R2 pricing states there are no charges for egress bandwidth for any storage class. R2 still bills storage, operations (Class A and Class B requests) and any other metered service you connect to the bucket. That is why this calculator labels Cloudflare's total as egress only and warns that storage and operations are not in it.

What is inter-AZ data transfer and why is it billed?

Availability zones are separate data centres inside one cloud region. Traffic between instances in different zones crosses the provider's network between buildings, so AWS charges $0.01 per GB in each direction and Google Cloud charges the sender $0.01 per GiB, while Azure does not charge today. Chatty services spread across zones for resilience can move more data between zones than they send to users, which is why this calculator takes cross-AZ traffic as a percentage of outbound volume that can exceed 100%.

Does a CDN lower my egress bill?

It can. The CDN bills its own per-GB delivery rate on all traffic, but only cache misses go back to your origin, so a higher hit ratio shrinks the origin egress. Pulling from a provider's own CDN is often free, which makes that provider cheaper; pulling into a different CDN is billed as ordinary internet egress. Use the cache hit ratio range in the chart to see where the saving flattens out.