AWS data transfer out to the internet costs $0.09 per GB in US East after a free allowance of 100 GB a month. The allowance is not the strange part. The discount ladder is: the blended rate you actually pay per gigabyte rises all the way to 10 TB a month, peaks at $0.0891 per GB, and only falls after that. The published $0.05 floor is not reachable at any volume AWS quotes a list price for.
How much does AWS data transfer out to the internet cost per GB in 2026?
Four rates, in a ladder. The EC2 On-Demand pricing page and the S3 pricing page both render that ladder from the same AWS pricing feed, the endpoint each page names in its own markup. The feed states tier boundaries in gigabytes, and those boundaries are binary.
| Tier, as the pricing page labels it | Boundary in the feed | US East (N. Virginia) |
|---|---|---|
| First 10 TB / Month | 0 to 10,240 GB | $0.09 per GB |
| Next 40 TB / Month | 10,240 to 51,200 GB | $0.085 per GB |
| Next 100 TB / Month | 51,200 to 153,600 GB | $0.07 per GB |
| Greater than 150 TB / Month | 153,600 GB and above | $0.05 per GB |
The first tier ends at 10,240 GB, not 10,000. That is 240 GB of extra room at the top rate, worth $21.60, and invisible on the pricing page, which prints only the words 10 TB. The same page says where the published ladder stops: "If the Data Transfer per month is greater than 500 TB / month, please contact us". The feed checks out against AWS prose in the one place it can: it gives EU (Ireland) a first tier of $0.09 per GB, and the S3 pricing page's worked example says "The Data Transfer out charge from Amazon S3 in Europe (Ireland) to internet is $0.09 per GB."
Is the first 100 GB of AWS data transfer out to the internet free?
Yes, and it is one allowance for the account, not one per service. The S3 pricing page: "AWS customers receive 100GB of data transfer out to the internet free each month, aggregated across all AWS Services and Regions (except China and GovCloud). The 100 GB free tier for data transfer out to the internet is global and does not apply separately or individually to AWS Regions." In its announcement of free egress for customers leaving, AWS says over 90 percent of customers pay nothing for egress because "we provide 100 gigabytes per month free from AWS Regions to the internet". That is $9.00 a month in US East, $15.40 in Africa (Cape Town). Do not confuse it with the new-account tier's "100 GB of data transfer out (to internet, other AWS Regions, or Amazon CloudFront) each month for one year", which covers more and expires.
The tier ladder aggregates as well, and the EC2 pricing page names the services it counts: "Rate tiers take into account your aggregate usage for Data Transfer Out to the Internet across Amazon EC2, Amazon S3, Amazon Glacier, Amazon RDS, Amazon Redshift, Amazon SageMaker, Amazon SES, Amazon SimpleDB, Amazon SQS, Amazon SNS, Amazon DynamoDB, AWS Storage Gateway, AWS CloudShell, and Amazon CloudWatch Logs." Read that list for what is missing. Lambda is absent, yet the Lambda pricing page says its traffic "from outside the region the function executed, will be charged at the Amazon EC2 data transfer rates". Same rates, no stated aggregation. Elastic Load Balancing and API Gateway are absent too, and AWS does not say whether they push your other services into a cheaper tier.
What is the blended AWS egress rate at 1 TB, 50 TB and 500 TB?
AWS publishes marginal rates. You pay a blended one. Free 100 GB first, then the US East ladder:
| Egress in a month | US East bill | Effective rate per GB | Above the $0.05 floor by |
|---|---|---|---|
| 100 GB | $0.00 | $0.0000 | free |
| 1 TB (1,024 GB) | $83.16 | $0.0812 | 62.4% |
| 10 TB (10,240 GB) | $912.60 | $0.0891 | 78.2% |
| 50 TB (51,200 GB) | $4,394.70 | $0.0858 | 71.7% |
| 100 TB (102,400 GB) | $7,980.20 | $0.0779 | 55.9% |
| 150 TB (153,600 GB) | $11,564.20 | $0.0753 | 50.6% |
| 500 TB (512,000 GB) | $29,486.20 | $0.0576 | 15.2% |
Look at the third column between 1 TB and 10 TB. It goes up. Below the first boundary every billable gigabyte costs the same $0.09, so the only thing diluting your rate is the fixed 100 GB allowance, and the more you send the less that dilution is worth. The blended rate peaks at $0.0891 per GB at 10,340 GB a month, the last point before the $0.085 tier opens. Growing from 1 TB to 10 TB multiplies the bill by 11, not by 10.
Where does the AWS data transfer out rate stop falling?
Effectively at $0.0576 per GB, not at the published $0.05. Above 153,600 GB every extra gigabyte costs $0.05, so the bill is $0.05 per GB plus a fixed $3,891.20 carried over from the tiers you already climbed. Blended, that is $0.05 plus $3,891.20 divided by monthly volume, approaching the floor without reaching it. Getting within 10% of $0.05 takes about 760 TB a month. AWS stops quoting list prices at 500 TB, where the blended rate is still 15.2% high. On published rates alone, nobody pays anything close to $0.05 per GB.
How far the ladder falls at all depends on the Region, and the spread is wide:
| Region | First tier | Above 150 TB | Fall across the ladder |
|---|---|---|---|
| AWS GovCloud (US) | $0.155 | $0.065 | 58.1% |
| US East (N. Virginia), EU (Ireland), Canada (Central) | $0.09 | $0.05 | 44.4% |
| Africa (Cape Town) | $0.154 | $0.112 | 27.3% |
| Asia Pacific (Mumbai) | $0.1093 | $0.08 | 26.8% |
| South America (Sao Paulo) | $0.15 | $0.114 | 24.0% |
| Asia Pacific (Sydney) | $0.114 | $0.092 | 19.3% |
In Sydney the ladder is nearly flat. Volume buys 19.3% and never more, so a Sydney workload planning to grow into a discount is planning on something that does not exist. GovCloud falls furthest and is one of the two partitions the 100 GB allowance excludes by name.
Is data transfer in to AWS free, and where does that rule break?
Inbound from the internet is free, stated twice. The AWS Architecture blog's data transfer overview says "There is no charge for inbound data transfer across all services in all Regions", and the CUR data transfer guide says "There's no charge for data transfer from the internet to AWS."
The blog's wording is broader than the rule. Inside a Region the same guide says the opposite: "For a given resource, you're charged for both inbound and outbound traffic in a data transfer within an AWS Region." That is the meter behind cross-AZ data transfer charges, and why one cross-zone hop is metered twice. Traffic reaching the internet through a managed device pays again, which is how NAT Gateway processing charges stack on top of the rates above.
Between Regions, two AWS pages disagree outright. The EC2 FAQ says a transfer between instances in two Regions is billed twice: "it is charged at Inter-Region Data Transfer Out for the first instance and at Inter-Region Data Transfer In for the second instance". The CUR guide says the receiving side is free: "There's no charge for the data transferred into the destination Region. The data transfer charge is determined by the data transferred out from the source Region." The CUR guide describes real line items and names the zero-charge one, so model inter-Region transfer as one-sided and treat the FAQ as stale. If a design turns on the answer, price it against an actual S3 replication bill rather than either page.
Does serving through CloudFront remove AWS data transfer out charges?
At the origin, yes. The CloudFront pay-as-you-go pricing page says data transfer out is "Free for origin fetches from any AWS origin such as Amazon Simple Storage Service (S3), Amazon Elastic Compute Cloud (EC2), or Elastic Load Balancers, including origins in private subnets through VPC origins." The S3 pricing page agrees, listing "Data transferred out to Amazon CloudFront (CloudFront)." among transfers it does not charge for.
Two qualifiers sit on that same page. The first is the word cacheable: "Any cacheable data transferred to CloudFront edge locations from AWS resources incurs no additional charge." The second: "Data transfer out from AWS services for all non-origin fetch traffic (such as multi-CDN traffic) to CloudFront will incur their respective regional data transfer out charges." Point a second CDN at the same origin and that half of the traffic is back on the ladder.
The charge moves rather than disappearing, and CloudFront's free tier is ten times the Region's: "1 TB of data transfer out to the internet per month" against 100 GB. CloudFront's worked examples treat that terabyte as 1,000 GB while the regional ladder's first tier is 10,240 GB, so AWS uses decimal terabytes on one page and binary ones on the other. Example 1 there also contradicts itself: it shows "100 x $0.085 per GB" for 100 GB, which is $8.50, and prints a total of $0. The total is right, because the free terabyte covers it. The calculation column is not.
How much data transfer out does a CloudFront flat-rate plan include?
Fifty terabytes for $15 a month, on the Pro plan. The CloudFront pricing page prices four plans per distribution; the flat-rate pricing plan documentation publishes their allowances.
| Plan | Price per distribution | Data transfer allowance | Requests |
|---|---|---|---|
| Free | $0/month | 100 GB | 1M |
| Pro | $15/month | 50 TB | 10M |
| Business | $200/month | 50 TB | 125M |
| Premium | $1,000/month | 50 TB, configurable to 600 TB | 500M |
Hypothetically, 50 TB of the same bytes leaving US East directly costs $4,394.70 after the free 100 GB. The Pro allowance covers it for $15, a factor of 293, and carries AWS WAF, Route 53 DNS, a TLS certificate and 50 GB of S3 storage credits besides. That is not like for like and is not a quote, but the gap is wide enough that any workload pushing cacheable bytes to the internet without a CDN deserves a second look.
The documented limits matter more than the headline. "Usage allowances are not hard limits", AWS says "you will not incur overage charges, regardless of how much you exceed your allowance", and the penalty is delivery quality rather than money: "If you continue to substantially exceed your plan's usage allowance without upgrading, we may adjust how we deliver your traffic." Traffic your AWS WAF rules block is excluded, since "Blocked DDoS attacks and requests blocked by AWS WAF never count against your usage allowance."
One eligibility rule is easy to trip over. The same documentation lists when "AWS accounts are not eligible for pricing plans", and one condition is "Your account is using AWS Free Tier." A brand new account cannot subscribe to the $0 Free plan at all, which is also why the Free plan's 100 GB and the pay-as-you-go 1 TB are not two answers to one question.
Does AWS pay for your data transfer out when you leave AWS?
It credits it, after approval, and the two AWS FAQs describing the programme give different deadlines. The EC2 FAQ tells an approved customer "you will then have 90 days to complete your move off of AWS". The S3 FAQ, on the same programme, says "you will then have 60 days to complete your move off of AWS". The EC2 FAQ matches the 2025 update note on the AWS News Blog announcement, so plan on 90 days and confirm it in writing.
The process is not automatic, and the EC2 FAQ is blunt about order: "Do not start your move before your credit request is approved." Coverage is narrow: "Only data transfer out charges in support of your move off of AWS are eligible for credits. However, data transfer out from specialized data transfer services, such as Amazon CloudFront, AWS Direct Connect, AWS Snow Family, and AWS Global Accelerator, are not included." The CDN path that is cheapest for serving users is the one the migration credit will not cover.
Small accounts skip the paperwork: "If you have less than 100 GB of data stored in your AWS account you can already move this data off of AWS for free under AWS's existing 100 GB monthly free tier for data transfer out."
Which CUR usage types show AWS data transfer out to the internet?
One family, with a trap beside it. The CUR data transfer guide says "Data
transfer from AWS to the internet have a UsageType of"
{{Region}}-DataTransfer-Out-Bytes,
so USE2-DataTransfer-Out-Bytes is Ohio egress. Unprefixed usage
types are not a separate category: "Data transfer usage types that don't have
the Region prefix, such as DataTransfer-Regional-Bytes or
DataTransfer-Out-Bytes, represent data transfer from the US East
(N. Virginia) Region."
The trap is CloudFront, which uses the same shape. The guide's own tip: "Use the lineItem/ProductCode column to distinguish CloudFront data transfer from data transfer out to the internet. The usage types for these data transfer types look similar." Group on usage type alone and you add edge egress to Region egress for a number that matches nothing. These charges land under the source service, so they also hide inside the EC2 - Other bucket in Cost Explorer, which is why the CUR answers this better than Cost Explorer. Traffic leaving through an internet-facing endpoint pays for the address too, covered in what public IPv4 addresses cost.