1. Paste one row per bucket or prefix
2. What it found
Modelled monthly cost per row
| Row | Standard | Standard-IA | Intelligent-Tiering | Glacier IR | Best |
|---|
Findings
| Rule | Level | Detail |
|---|
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
| Input | Handling |
|---|
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.