Free calculator

S3 storage class cost calculator

Every class priced against the same data, with the minimum durations and retrieval fees in the table. Those two columns are why the cheapest per-GB class is often the expensive one.

One bucket or the whole account.

Only affects Intelligent-Tiering, which charges per object to monitor.

The number that decides whether a cold class is actually cheaper.

Storage classStorageRetrievalMinimumTotal / monthvs Standard
S3 Standard$235.52$0.00none$235.52baseline
Intelligent-Tiering (frequent)$235.52$0.00 + $1.25 monitoringnone$236.77+$1.25
Standard-IA$128.00$5.1230 days$133.12-$102.40
One Zone-IA$102.40$5.1230 days$107.52-$128.00
Glacier Instant Retrieval$40.96$15.3690 days$56.32-$179.20
Glacier Flexible Retrieval$36.86$5.1290 days$41.98-$193.54
Glacier Deep Archive$10.14$10.24180 days$20.38-$215.14

Minimum billable duration is the trap. Deleting an object from Standard-IA after two weeks still bills 30 days; Glacier classes bill 90 or 180. Intelligent-Tiering adds $0.00 per 1,000 objects a month, which is nothing for large objects and material for millions of small ones. Request charges and lifecycle transition charges at $0.01 per 1,000 objects are not included here and matter most on small-object buckets.

The scan reads your actual class mix, non-current version bytes and incomplete multipart uploads per bucket, which is usually where the surprise is rather than in the class choice.

Estimate the whole bill

Picking a class without regretting it

  • Start with how often it is read. Read monthly or more: Standard. Read a few times a year: Standard-IA. Read almost never but must be instant: Glacier Instant Retrieval. Read effectively never and hours are fine: Deep Archive.
  • Then check object size. Cold classes and Intelligent-Tiering both have per-object overheads. Below about 128 KB, Intelligent-Tiering will not tier an object at all and the small-object charges dominate. Cold classes are for big objects.
  • Then check how long the data lives. Anything deleted within 30 days should stay in Standard, because the minimum duration on every colder class is at least that long. Lifecycle rules that transition after 30 days and expire after 45 are a common way to pay twice.
  • Then look at what is actually in the bucket. Turn on S3 Storage Lens, which has a free tier. It reports non-current version bytes and incomplete multipart upload bytes per bucket, and those two lines are more often the answer than the class choice is.
  • And put a CDN in front of anything public. Storage class does nothing about egress. CloudFront reduces the per-GB rate and serves repeats from cache, so the bytes never leave S3 twice.

Frequently asked questions

Which S3 storage class is cheapest?

Glacier Deep Archive at about $0.00099 per GB-month, but only for data you will genuinely never read: it has a 180-day minimum and restores take hours. For data with an unpredictable access pattern, Intelligent-Tiering usually wins. For data read regularly, Standard is cheapest once retrieval fees are counted, despite the highest headline rate.

What is the minimum billable duration and why does it matter?

Standard-IA and One Zone-IA bill a minimum of 30 days per object, Glacier Instant and Flexible Retrieval 90 days, and Deep Archive 180. Delete or transition an object before that and you are billed as if it stayed. Moving short-lived data to a cold class reliably costs more than leaving it in Standard.

Is Intelligent-Tiering always worth it?

It charges about $0.0025 per 1,000 objects a month to monitor access patterns. That is negligible on large objects and material on millions of small ones. It is a good default for data lakes and backup buckets where access is unpredictable, and the wrong choice for a bucket whose access pattern you already know, where a plain lifecycle rule is cheaper.

Do lifecycle transitions cost anything?

Yes, about $0.01 per 1,000 objects transitioned. On a bucket with ten million small objects, moving everything to a colder class costs $100 in transition charges before the saving starts. This is the reason bucket-wide lifecycle rules on small-object buckets sometimes cost more than they save in the first year.

What usually costs more than the storage class choice?

Non-current object versions kept forever by versioning, incomplete multipart uploads that do not appear in the object list, and request charges on small-object workloads. In most buckets we scan, those three account for more than the difference between any two storage classes.