AWS S3 Pricing: Storage, Requests & Transfer Breakdown

11 min read

Amnic

Amnic

Breaking Bill

AWS

Table of Contents

No headings found on page

AWS S3 pricing starts at $0.023 per GB-month for the first 50 TB on S3 Standard in US East (N. Virginia), drops to $0.022 for the next 450 TB, and $0.021 above 500 TB. The cheapest class, S3 Glacier Deep Archive, sits at $0.00099 per GB-month, a 23× spread between the top and bottom of the pricing ladder. Rates referenced in this guide are sourced from the official AWS S3 pricing page for US East (N. Virginia); other regions run roughly 5% to 30% higher.

The per-GB rate is one of six dimensions you actually pay for: storage, requests, retrievals, data transfer, management, and replication. Most teams find out the gap when the bill arrives 2 to 3× the storage line (LeanOps). One Geocodio engineer logged 20,167 GB of NAT Gateway traffic to S3 in a single day, costing $907 in transfer fees that a free VPC Gateway Endpoint would have eliminated. 

This guide gives the exact per-GB, per-request, and per-GB-transferred numbers, with worked examples and the real cost edges teams hit in AWS storage cost guides and community threads.

AWS S3 pricing at a glance

S3 storage pricing per GB-month

Storage class

Price per GB-month

Min storage duration

Min billable object size

Retrieval fee per GB

S3 Standard (first 50 TB)

$0.023

None

None

None

S3 Standard (next 450 TB)

$0.022

None

None

None

S3 Standard (over 500 TB)

$0.021

None

None

None

S3 Intelligent-Tiering (frequent)

$0.023

None

None

None

S3 Intelligent-Tiering (infrequent)

$0.0125

None

None

None

S3 Intelligent-Tiering (archive instant)

$0.004

None

None

None

S3 Standard-IA

$0.0125

30 days

128 KB

$0.01

S3 One Zone-IA

$0.01

30 days

128 KB

$0.01

S3 Express One Zone

$0.11

1 hour

None

None

S3 Glacier Instant Retrieval

$0.004

90 days

128 KB

$0.03

S3 Glacier Flexible Retrieval

$0.0036

90 days

40 KB

$0.01 to $0.03

S3 Glacier Deep Archive

$0.00099

180 days

40 KB

$0.0025 to $0.02

S3 request pricing per 1,000 requests

Request type

Standard

Standard-IA

One Zone-IA

Glacier Instant

Glacier Flexible

Deep Archive

PUT, COPY, POST, LIST

$0.005

$0.01

$0.01

$0.02

$0.03

$0.05

GET, SELECT

$0.0004

$0.001

$0.001

$0.01

$0.0004

$0.0004

Lifecycle transitions (per 1,000 destination objects)

$0.01

$0.01

$0.01

$0.02

$0.03

$0.05

S3 data transfer pricing per GB

Transfer scenario

Price per GB

Data IN from internet

$0.00

Data OUT to internet, first 100 GB/month (all AWS)

$0.00

Data OUT to internet, next 10 TB

$0.09

Data OUT to internet, next 40 TB

$0.085

Data OUT to internet, next 100 TB

$0.07

Data OUT to internet, over 150 TB

$0.05

Inter-region (S3 to another AWS region)

$0.02

Intra-region via VPC Gateway Endpoint

$0.00

Intra-region via NAT Gateway

$0.045 processing + $0.045 data

S3 Transfer Acceleration

$0.04 surcharge

Multi-Region Access Points routing

$0.0033

For a deeper view of how transfer fees compound across services, see simplifying data transfer costs across AWS.

S3 storage pricing

The price you pay per byte depends on the storage class assigned to the object. S3 Standard at $0.023 per GB-month is the default, and the rate steps down at the 50 TB and 500 TB thresholds within a single account in a single region. The remaining classes are billed at a flat per-GB-month rate, with minimum storage durations and minimum billable object sizes that catch teams off guard.

Worked example: 10 TB of data, one month, same region

Class

Calculation

Monthly cost

S3 Standard

10,240 GB × $0.023

$235.52

S3 Standard-IA

10,240 GB × $0.0125

$128.00

S3 One Zone-IA

10,240 GB × $0.01

$102.40

S3 Glacier Instant Retrieval

10,240 GB × $0.004

$40.96

S3 Glacier Flexible Retrieval

10,240 GB × $0.0036

$36.86

S3 Glacier Deep Archive

10,240 GB × $0.00099

$10.14

The same 10 TB costs 23× more in Standard than in Deep Archive. The catch: Glacier Deep Archive charges a 180-day minimum, so deleting an object after 30 days still bills you for the remaining 150 days, and retrieval is separately priced.

Minimum object size matters too. A bucket full of 10 KB thumbnails on Standard-IA is billed as if every object were 128 KB, so 1 million 10 KB objects (10 GB on disk) bill as 128 GB. At $0.0125 per GB-month that is $1.60 instead of $0.13. A Quora thread on 8 million 200 KB images breaks down a similar trap (Quora).

For petabyte workloads, the tiered drop on Standard matters. 1 PB stored for a month: first 50 TB at $0.023 + next 450 TB at $0.022 + next 524 TB at $0.021, totaling roughly $22,583.30 in storage alone before any request or transfer fees (Quora).

S3 request and retrieval pricing

Every API call against an S3 object is billed. The rates vary by class and operation type, and they are the line most teams forget to model.

S3 Standard charges $0.005 per 1,000 PUT, COPY, POST, or LIST requests, and $0.0004 per 1,000 GET or SELECT requests. The infrequent-access and Glacier classes charge 2× to 10× more for writes and reads, which is the trade for the lower storage rate.

Worked example: an image-hosting app, S3 Standard, one month

  • 5 million image uploads (PUTs): 5,000 × $0.005 = $25.00

  • 50 million image views (GETs): 50,000 × $0.0004 = $20.00

  • Storage of 2 TB at $0.023: $47.10

  • Total: $92.10, of which 49% is request fees.

A Quora answer on user-upload apps spells out the same dynamic: storage is rarely the dominant line for any workload with steady read traffic (Quora).

Lifecycle transitions are billed per 1,000 destination-class objects ($0.01 for IA classes, up to $0.05 for Deep Archive). Moving 100 million objects from Standard to Glacier Deep Archive costs $5,000 in transition fees, often more than a year of storage savings on a small bucket (AWS re:Post).

Retrieval fees apply when reading from IA or Glacier classes:

  • Standard-IA / One Zone-IA: $0.01 per GB read

  • Glacier Instant Retrieval: $0.03 per GB

  • Glacier Flexible Retrieval: $0.01 (bulk) to $0.03 (expedited) per GB

  • Glacier Deep Archive: $0.0025 (bulk, 48 hours) to $0.02 (standard, 12 hours) per GB

Restoring 1 TB from Deep Archive on a standard retrieval: 1,024 × $0.02 = $20.48 in retrieval, plus PUT/GET request fees on the restored objects. That single restore costs 2 months of the storage it just retrieved.

S3 data transfer pricing

Data going into S3 is free. Data going out is where bills break. The first 100 GB of egress per month is free across the entire AWS account. After that, S3 internet egress tiers from $0.09 per GB down to $0.05 per GB at scale. 

Inter-region transfers to another AWS region are $0.02 per GB. Intra-region transfers depend on the network path: free over a VPC Gateway Endpoint, but $0.045 per GB processing plus $0.045 per GB data through a NAT Gateway. The distinction is covered in detail in ingress vs egress.

Worked example: SaaS app serving 10 TB of user files per month to the internet

  • 100 GB free

  • 10,140 GB × $0.09 = $912.60

  • Egress alone: $912.60, against $235.52 of Standard storage. Egress is 3.9× storage cost.

Put CloudFront in front and S3-to-CloudFront within the same region is free; CloudFront-to-internet egress runs $0.02 to $0.06 per GB depending on region, cutting the line by half or more (Quora).

Transfer Acceleration adds $0.04 per GB on top of standard egress for faster long-distance uploads. Multi-Region Access Points add $0.0033 per GB on top of inter-region rates for global routing.

S3 management and insights pricing

Visibility features are billed per object monitored, per month:

  • S3 Inventory: $0.0025 per million objects listed

  • S3 Storage Class Analysis: $0.10 per million objects monitored per month

  • S3 Storage Lens (free): included

  • S3 Storage Lens (advanced): $0.20 per million objects monitored per month

  • S3 Object Tagging: $0.01 per 10,000 tags per month

  • S3 Metadata journal updates: $0.30 per million updates

Worked example: 50 million-object bucket with Storage Lens advanced and full tagging

  • Storage Lens advanced: 50 × $0.20 = $10

  • Tagging (2 tags per object, 100M tags total): 100,000,000 / 10,000 × $0.01 = $100

  • Total: $110/month just to see what you have.

S3 Batch Operations: $0.25 per job + $1.00 per million objects processed. A one-shot cleanup of 100 million objects is $100.25. Tag-driven cost allocation is covered in aws tagging.

S3 replication pricing

Cross-Region Replication (CRR), Same-Region Replication (SRR), and Batch Replication share the same model: pay storage on both sides, request fees for each replicated object, and inter-region data transfer when applicable. Replication Time Control (RTC) adds $0.015 per GB on top.

Worked example: replicating 5 TB of Standard data to another region

  • Source storage: 5,120 GB × $0.023 = $117.76

  • Destination storage: 5,120 GB × $0.023 = $117.76

  • Inter-region transfer: 5,120 GB × $0.02 = $102.40

  • PUT requests on destination (assume 1 million objects): 1,000 × $0.005 = $5.00

  • Total: $342.92/month, 2.9× the cost of single-region storage.

RTC for the same 5 TB: + 5,120 × $0.015 = $76.80, pushing the monthly to $419.72.

S3 transform and query pricing

These are pay-per-use, not flat:

  • S3 Object Lambda: $0.005 per GB of data returned by the Lambda

  • S3 Select: $0.002 per GB returned + $0.0004 per 1,000 SELECT requests + the underlying GET cost

  • S3 Batch Operations: $0.25 per job + $1.00 per million objects

Worked example: S3 Select scanning 1 TB to return 50 GB

  • 1,024 GB scanned × $0.002 = $2.05

  • 50 GB returned × $0.0007 = $0.04

  • Plus the GET on each underlying object

Cheap individually, expensive if a job runs hourly.

S3 free tier pricing

The 12-month AWS Free Tier gives every new account, per month:

  • 5 GB of S3 Standard storage

  • 20,000 GET requests

  • 2,000 PUT, COPY, POST, or LIST requests

  • 100 GB of data transfer out

A static site with light traffic stays inside this comfortably. A user-upload app hits the PUT cap within an hour of launch (2,000 PUTs is roughly 65 uploads a day), and any video or image traffic blows past 100 GB of egress in a single viral day. Past 12 months the entire bill flips to standard rates with no warning (Quora on 1 TB storage cost).

Why AWS S3 pricing is hard to predict

The published per-GB rate is the easy number. What makes the bill move is the way six dimensions compound, and the way real workloads slip across pricing edges that were never modelled. The pattern of these traps is documented in cloud cost traps and fixes.

1. NAT Gateway charges on S3 traffic that should have been free: When EC2 in a private subnet reads from S3, the default route is through the NAT Gateway, billing $0.045 per GB processed plus $0.045 per GB transferred. A VPC Gateway Endpoint for S3 is free to create and makes the path zero-cost. Geocodio logged $907 in one day on this exact mistake.

2. Orphaned multipart uploads silently billed: Uploads that fail or get abandoned leave parts in S3 that are billed as storage but invisible in the console. Industry estimates put 1% to 5% of bucket capacity in this state on uninstrumented buckets. A lifecycle rule with AbortIncompleteMultipartUpload after 7 days fixes it permanently. (AWS S3 docs)

3. Lifecycle transitions priced per request, so cleaning costs more than keeping: Moving 100 million 1 KB objects from Standard to Glacier Deep Archive: 100,000 × $0.05 = $5,000 in transition fees, against $0.10 in monthly storage savings. The transition only pays back on objects larger than the minimum billable size and accessed rarely enough to justify the move.

4. Glacier retrieval fees exceeding storage cost for one-off restores: Restoring 1 TB from Deep Archive on standard retrieval: $20.48 in retrieval. The same 1 TB stored for a month costs $1.01. A single restore costs 20 months of storage. Teams who treat Deep Archive as "cold backup" without modelling restore frequency end up paying more than Standard.

5. The 23× class spread on the same byte: Both S3 Standard and Glacier Deep Archive are designed for the same 11 nines of durability, despite dramatically different access and retrieval characteristics. The 23× price gap reflects how the data is accessed, not how safely it is stored. In many environments, storage tiering policies are either missing or unmanaged, which leaves a large share of these savings unrealized.

6. Egress dominates the bill the moment there is no CDN: Serving 10 TB of files a month directly from S3: $912 in egress. Same 10 TB through CloudFront in the same region: free origin pull + $200 to $600 in CloudFront egress depending on region. Most "S3 is expensive" complaints trace to a missing CloudFront layer.

7. Per-request economics shifting between classes: A bucket optimized for storage cost (Standard-IA at $0.0125) becomes expensive the moment access pattern shifts: writes are 2× more, reads are 2.5× more, retrievals are billed per GB. The same workload pattern bills wildly differently across two classes that both call themselves "cheap".

Static pricing tables understate the bill because they show one dimension at a time. Real S3 bills are the product of six dimensions multiplied by a workload pattern that is rarely modelled before the architecture ships. For a structured way to spot and act on those gaps, see aws cost optimization tools.

FAQs about AWS S3 pricing

How much does 1 TB on S3 cost? 

On S3 Standard in US East: 1,024 GB × $0.023 = $23.55 per month for storage alone, before requests or transfer.

What is S3 Standard per GB? 

$0.023 per GB-month for the first 50 TB in a region, $0.022 for the next 450 TB, $0.021 above 500 TB.

What is S3 data transfer pricing per GB? 

$0.09 per GB for internet egress after the first 100 GB free, dropping to $0.05 per GB above 150 TB per month. Inter-region is $0.02 per GB. Intra-region via VPC Gateway Endpoint is free.

What is S3 bucket pricing? 

There is no charge for the bucket itself. The bucket is a namespace. You pay for the objects inside it, the requests against them, and the data transferred (Quora).

How much is S3 Glacier Deep Archive per GB-month? 

$0.00099 per GB-month, the cheapest S3 class. Restoring data adds $0.0025 (bulk, 48 hours) to $0.02 (standard, 12 hours) per GB, plus a 180-day minimum storage commitment.

What is the cheapest S3 storage class? 

S3 Glacier Deep Archive at $0.00099 per GB-month for storage. Net cost is only the cheapest if data is read fewer than ~6 times a year, because retrieval and request fees on Deep Archive run 5× to 50× higher than Standard (Quora).

Is the AWS S3 free tier actually free? 

For the first 12 months, yes, up to 5 GB storage, 20,000 GETs, 2,000 PUTs, and 100 GB egress per month. Past any of those caps in a given month, the entire usage bills at standard rates for the overage.

What S3 charges might I miss? 

Lifecycle transition fees (per 1,000 destination objects), incomplete multipart upload parts (billed as full storage until aborted), NAT Gateway processing on S3 traffic that should have used a Gateway Endpoint, and the 128 KB minimum billable object size on IA and Glacier Instant classes. More on this in surfacing hidden cloud costs.

Does S3 charge for empty buckets? 

No. With no objects, no requests, no transfer, an empty bucket costs $0 per month.

How does S3 pricing scale after the free tier? 

Linearly. Every byte stored bills at the per-GB rate of its class, every request bills per 1,000, every GB out to the internet bills at the tiered egress rate. There is no spend commitment, no minimum, no contract. Bills scale with usage one cent at a time, which is why surprise bills tend to come from a single dimension (usually egress or request volume) running away rather than a price change.

How Amnic helps you control S3 costs

Amnic shows the six-dimension breakdown of live S3 spend by bucket, class, region, and request type, with anomaly detection on the lines that usually run away (egress, orphaned multiparts, lifecycle transition spikes). The cost analyzer maps every dollar to the workload that produced it, and the recommendations engine turns the "23× class spread" from a static number into a tiering action against your actual access patterns.

Start a free trial or talk to us.

Source:

FinOps OS powered by context-aware AI agents.

Start with a 30-day no-cost trial.

Read-only.

No credit card.

No commitment.

Want to assess how your FinOps journey can scale?

Benchmark maturity, close governance gaps, and drive ROI in under 20 minutes

Can your engineering context keep up with the speed of AI?

Start with a 14-day Runtime Accountability Audit. Read-only access. No commitment.

No credit card · No migration · No agents

STAY AHEAD

Can your engineering context keep up with the speed of AI?

Start with a 14-day Runtime Accountability Audit. Read-only access. No commitment.

No credit card · No migration · No agents

STAY AHEAD

Can your engineering context keep up with the speed of AI?

Start with a 14-day Runtime Accountability Audit. Read-only access. No commitment.

No credit card · No migration · No agents

STAY AHEAD