S3 STORAGE CLASS ADVISOR · RUNS IN YOUR BROWSER

Is your S3 bucket in the wrong storage class?

Paste GB stored, object count, GB read back and GET requests for each bucket or prefix and get the monthly cost in Standard, Standard-IA, Intelligent-Tiering and Glacier Instant Retrieval — including the 128 KB minimum billable size, the per-GB retrieval fees and the 30/90-day minimum durations that make a "cheaper" class cost more.

Nothing is uploaded and AWS is never contacted. The text box is analysed in this browser and never leaves your device.

1. Paste one row per bucket or prefix

Prefer a CLI, or want a CI check?

Same logic, zero dependencies, one command — reads a file or stdin:

node cli.mjs analyze rows.csv
cat rows.csv | node cli.mjs analyze - --current standard
node cli.mjs analyze rows.csv --fail-on warn      # exit 1 when a class change would save 20% or more
node cli.mjs analyze rows.csv --json --prices my-prices.json

Get cli.mjs and engine.mjs — Node 18+, nothing to install, no network call. More: S3 storage classes compared: Standard vs IA vs Intelligent-Tiering vs Glacier.

What's recognised

InputHandling

Prices are illustrative and dated; edit them with --prices in the CLI. Other regions, volume tiers, free tier, lifecycle transition and PUT charges, Glacier Flexible/Deep Archive and One Zone-IA are not modelled.

Common questions

Does this connect to my AWS account?

No. It reads the rows you paste and never contacts AWS. It cannot see your real invoice, free tier, request mix, lifecycle transition fees or discounts, so every dollar figure is your numbers times list prices you can edit.

Where do I get the numbers?

S3 Storage Lens (or an S3 Inventory rollup in Athena) gives bytes and object count per bucket or prefix. CloudWatch S3 request metrics or Storage Lens activity metrics give GET requests and bytes downloaded. Put one row per bucket or prefix: name, GB stored, objects, GB read back per month, GETs per month.

Why is Standard-IA sometimes more expensive than Standard?

Standard-IA bills every object as at least 128 KB, charges $0.01 per GB retrieved, and bills at least 30 days of storage. Many small objects, data you read often, or objects that live under a month all cost more there than in Standard.

How does it price Intelligent-Tiering?

Data you did not read this month is assumed cold: part in the Infrequent tier and the rest in Archive Instant, the rest at Standard rates, plus the per-object monitoring fee. Objects under 128 KB are never tiered, so they cost the same as Standard. It is a model, not a measurement of your access pattern.

Is my data uploaded anywhere?

No. The browser page analyses the text in your own browser and never sends it anywhere. The CLI reads a local file or stdin and makes no network call.