$0 to $1,869 a Month: What a Static Website Really Costs on Azure, by Size
"Static sites are basically free to host." That's mostly true, until it suddenly isn't. On Azure, the same pile of HTML, CSS and JavaScript can cost $0, $9, $69 or $1,869 a month. What changes the bill is how big the si
"Static sites are basically free to host."
That's mostly true, until it suddenly isn't. On Azure, the same pile of HTML, CSS and JavaScript can cost $0, $9, $69 or $1,869 a month. What changes the bill is how big the site is, and above all how much of it people download.
I wanted to know exactly where each one of my sites would sit as it grows.
So I priced five static sites, from a tiny portfolio to a site serving 20 TB a month, against every reasonable way to host them on Azure.
All prices are public list prices in US dollars, taken from the Azure Retail Prices API in October 2026 for East US / Zone 1 (North America and Europe). Cloud pricing changes often, so check before you plan a budget around it.
The four ways to host a static site on Azure
| What it is | Fixed cost | Per GB served | |
|---|---|---|---|
| Static Web Apps, Free | Managed static hosting with CI/CD, free TLS, global distribution | $0 | Not available: the site stops being served at the cap |
| Static Web Apps, Standard | Same, with an SLA, more storage and paid overage | $9 per app | $0.20 after 100 GB |
| Blob Storage static website | A storage account serving files from the $web container |
~$0 | $0.087 after 100 GB |
| Blob Storage + Front Door Standard | Azure's CDN in front of that storage account | $35 | $0.0825 (first 10 TB) |
Two others exist, but you shouldn't pick them for a static site:
- App Service. A Linux B1 plan is about $12.41 a month. Your files are served from a single region with no CDN, and egress is billed at the same rates as Blob Storage. You'd be paying for a web server you don't need.
- Azure CDN from Microsoft (classic). It hasn't accepted new profiles since August 2025 and retires on 30 September 2027. Front Door Standard replaces it.
Disk size picks the product. Traffic sets the price.
This was the first surprise. Storage is the cheapest thing in this whole post. Hot blob storage is about $0.021 per GB-month, so even a 5 GB site costs 10 cents to store.
But size still matters, because Static Web Apps has hard limits:
| Static Web Apps limit | Free | Standard |
|---|---|---|
| Storage per environment | 250 MB | 500 MB |
| Storage across all environments | 500 MB | 2 GB |
| Files per app | 15,000 | 15,000 |
| Included bandwidth per month | 100 GB per subscription | 100 GB per subscription |
| Bandwidth beyond that | None: "we will not be able to serve your site" | $0.20 / GB |
| Custom domains per app | 2 | 6 |
| Preview environments | 3 | 10 |
Two of those lines deserve bold type:
- The 100 GB is per subscription, not per app. If you run five sites on the Free plan in one subscription, they share a single 100 GB.
- The Free plan has no overage. It doesn't send you a bill. It stops serving your site. Switching to Standard takes a click and doesn't cause downtime, but you have to notice first.
So the size of your site doesn't show up on your bill directly. It decides which product you're allowed to use, and each product charges a very different price per GB.
Five sites, five sizes
To compare like with like, I made two assumptions:
- About 1 MB transferred per page view. A typical page is around 2 MB on first load, but repeat visitors hit the browser cache and lean static sites weigh less. Swap in your own number.
- About 20 requests per MB transferred, which means an average file size of around 50 KB. This matters because Blob Storage and Front Door both charge per request.
| Site | On disk | Files | Served per month | ≈ Page views |
|---|---|---|---|---|
| Portfolio | 30 MB | 300 | 5 GB | 5,000 |
| Blog or docs | 200 MB | 3,000 | 50 GB | 50,000 |
| Busy tools site | 450 MB | 8,000 | 400 GB | 400,000 |
| Popular site | 1.5 GB | 25,000 | 3 TB | 3 million |
| Very popular site | 5 GB | 100,000 | 20 TB | 20 million |
And here's what each one costs per month:
| Site | SWA Free | SWA Standard | Blob (direct) | Blob + Front Door |
|---|---|---|---|---|
| Portfolio | $0 | $9 | $0.04 | $35.51 |
| Blog or docs | $0 | $9 | $0.40 | $40.05 |
| Busy tools site | ✗ over 100 GB | $69 | $29.31 | $75.37 |
| Popular site | ✗ | ✗ too big ($589 if it fit) | $276 | $338 |
| Very popular site | ✗ | ✗ too big ($3,989 if it fit) | $1,853 | $1,869 |
Bold marks the cheapest option you'd actually use for a real site with a custom domain over HTTPS. That's why "Blob (direct)" is never bold, even though it's often the lowest number. The next section explains why.
The catch in the cheapest column
Blob Storage's static website feature looks unbeatable: a few cents for a small site, with the same 100 GB of free egress.
But it comes with three limits that the price list doesn't mention:
-
No HTTPS on a custom domain. Azure Storage supports custom domains over HTTP only. To serve
https://yourdomain.com, you need Front Door (or the retiring classic CDN) in front of it. In practice, then, Blob direct only works if you can live with a*.web.core.windows.netURL. - No CDN. Every visitor is served from the region your storage account lives in.
-
No automatic compression. Blob serves files exactly as you upload them. To get Brotli or gzip, you pre-compress the files and set
Content-Encodingyourself. Otherwise you pay egress on uncompressed bytes, which can easily be three to five times more.
So the real choice for a production site is between Static Web Apps and Blob + Front Door.
Where the lines cross
Once you're past the Free plan, there are only two prices that matter:
- Static Web Apps Standard: $9 + $0.20 per GB over 100 GB.
- Blob + Front Door: $35 + about $0.10 per GB ($0.0825 for egress plus about $0.018 in request fees, under my assumptions).
Put those two together and the crossover lands at about 460 GB a month. Below that, Static Web Apps Standard is cheaper and much simpler. Above it, Front Door wins, and the gap grows quickly: at 3 TB, SWA would cost about 1.7× as much.
Here's the whole decision as a ladder:
| Your site | Use | Expect to pay |
|---|---|---|
| ≤ 250 MB, ≤ 15,000 files, ≤ 100 GB/month (across the subscription) | SWA Free | $0 |
| ≤ 500 MB, ≤ 15,000 files, up to ~460 GB/month | SWA Standard | $9 – $81 |
| Bigger than 500 MB or 15,000 files, or above ~460 GB/month | Blob + Front Door Standard | $35 + ~$0.10/GB |
You might expect a big site to get cheaper per GB as it grows. It does a little: Front Door egress drops to $0.065 after 10 TB. But even at 20 TB a month, the fixed fees are a rounding error. At scale, Azure static hosting is a bandwidth bill.
The meter nobody budgets for: requests
Look at the "very popular" row again. Front Door charges $0.009 per 10,000 requests. At 400 million requests, that's about $347 a month, before a single byte of egress. Blob direct charges $0.004 per 10,000 reads, which still comes to $160.
Static Web Apps doesn't have a request meter. That's one reason it stays competitive for longer than its $0.20/GB headline suggests.
Request count is the meter you control most directly:
-
Bundle and fingerprint your assets (
app.3f9a1c.js) and serve them withCache-Control: public, max-age=31536000, immutable. Repeat visitors then make almost no requests. - Inline your tiny files. A 2 KB SVG icon costs a whole request.
- Don't ship 40 font files. Subset them and use one variable font.
Five ways to keep the bill small
- Compress everything. Static Web Apps does it for you. On Front Door, turn compression on in the route. On Blob direct, upload pre-compressed files.
- Shrink your images. On most sites, images are the biggest share of the bytes. AVIF or WebP at the right dimensions often cuts total transfer in half.
- Watch the shared 100 GB. On Static Web Apps it's per subscription, so one successful app can use up the free bandwidth of every other app you run in that subscription.
- Set a budget alert. Azure Cost Management budgets alert you. They don't stop spending. That's still far better than finding out from the invoice.
- Read your first few invoices. In this Microsoft Q&A thread, several users on the $9 Standard plan reported being billed two to three times that for months. For some, the only fix was to recreate the app. Make sure each line on your invoice matches a meter you expect.
The short version
- Under 250 MB and 100 GB a month: Static Web Apps Free, $0. Just watch the cliff.
- Under 500 MB and about 460 GB a month: Static Web Apps Standard, $9 plus $0.20 per GB.
- Anything bigger: Blob Storage behind Front Door Standard, $35 plus about $0.10 per GB.
- Disk size decides which of these you're allowed to use. Traffic decides what you pay. Requests are the line item that surprises you.
I run two small static sites on Azure. Some media tools and nice little portfolio manager. Neither has a backend I can confirm that no other surprises with payment and costs occurred so far.
What's your static site's monthly transfer, and which of these rows are you in?
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.