← Back to Tools

S3 + CloudFront Cost Calculator

Estimate monthly hosting costs for a static website, client download portal, image library, or small media workload. Keep the rates editable so you can model your AWS region, CloudFront price class, and cache behaviour without spreadsheet drift.

Storage · requests · CDN egress · origin fetches · invalidations · simple client estimates

Monthly estimate

Defaults are intentionally conservative placeholders based on common public AWS-style pricing units. Confirm current AWS pricing before using the result for quotes, billing, or production architecture decisions.

Total standard storage held in the bucket.
USD per GB-month. Edit for your S3 region or storage class.
Monthly data sent from CloudFront to visitors.
USD per GB. Edit for price class, tier, or geography.
Approximate viewer requests to CloudFront.
HTTP/HTTPS request charge per 10,000 requests.
Higher cache hit means fewer S3 GETs and less origin transfer.
Usually $0 for S3 origin fetches to CloudFront; editable for other origins.
S3 GET requests caused by CloudFront cache misses.
Deploy uploads, syncs, inventory, and list operations.
S3 write/list request rate per 1,000 requests.
First 1,000 paths are commonly free; edit the free allowance below.
Monthly free path allowance.
Charge for each path above the free allowance.
Origin fetch data0 GB
S3 GET requests0
Billable invalidation paths0

What this calculator includes

The goal is a transparent first-pass model, not a replacement for the AWS pricing calculator. Keep the editable rates aligned to your actual account, region, and price class.

IncludedS3 storage, S3 GETs from cache misses, S3 PUT-style requests, CloudFront viewer requests, CloudFront data transfer out, optional origin transfer, and invalidation paths above the free allowance.
Not includedRoute 53 hosted zones, WAF, Lambda@Edge, CloudFront Functions, logs, Athena queries, KMS, cross-region replication, taxes, support plans, private pricing, or free-tier credits.
Cache modelOrigin fetches are estimated as CloudFront data out multiplied by cache-miss ratio. Real object sizes, TTLs, compression, and query-string behaviour can change this.
Quote disciplineFor client quotes, add a sensible buffer, write down assumptions, and separate AWS pass-through cost from managed-service labour and margin.

The simple model

S3 storage cost = storage GB × S3 storage rate CloudFront data cost = CloudFront data out GB × CloudFront data rate CloudFront request cost = viewer requests ÷ 10,000 × CloudFront request rate Origin fetch GB = CloudFront data out GB × (1 - cache hit ratio) S3 GET cost = viewer requests × (1 - cache hit ratio) ÷ 1,000 × S3 GET rate S3 PUT cost = PUT-style requests ÷ 1,000 × S3 PUT rate Invalidation cost = max(0, paths - free allowance) × invalidation rate Total = all included line items

Verify before billing a client

AWS pricing changes by region, tier, protocol, geography, feature, and account terms. Use this page for planning and conversations; verify against current AWS pricing and your billing data before making financial commitments.

Turn hosting estimates into operational baselines

Pair cost modelling with DNS backup, Cloudflare hardening, and a website security baseline so hosting decisions remain cheap, recoverable, and secure-by-default.