The cheapest way to host a website
Free static hosting on Cloudflare Pages, Netlify, Vercel and AWS Amplify, plus what a .com really costs to keep at four registrars.
· 5 min read
In short: a simple website can be hosted for free. The only bill you cannot avoid is the domain name, which costs about $10 to $19 a year for a .com. Compare the renewal price, not the first-year price. All prices below were checked in October 2026.
First, is your site static?
A static site is a set of files (HTML, CSS, JavaScript and images) that is the same for every visitor. A portfolio, a landing page, a blog or documentation usually fits. Many site builders and frameworks can export a static site.
If your site needs to run code on a server for each visitor, for example to log people in or save data, it is not fully static. Most of the hosts below still run small server functions for you, with their own limits. For a full backend, see PaaS or a VPS?.
Two terms to know. Bandwidth, also called egress or data transfer, is the data your host sends to visitors. Some hosts include a fixed amount and charge for more. A CDN (content delivery network) keeps copies of your site on servers around the world, so each visitor loads it from one nearby. Every file a visitor's browser asks the CDN for is one CDN request.
Free static hosting compared
All four have a free way to start. They differ in what the free plan allows and what happens when you reach its limit.
Cloudflare Pages
Cloudflare Pages does not charge for static files at all. Requests for static files are free and unlimited, and there is no bandwidth charge. The Free plan allows commercial use, 500 builds a month and 100 projects.
The limit is on server functions: 100,000 requests a day, shared with Cloudflare Workers, resetting at midnight UTC. Past that, functions stop until the next day. The Workers Paid plan is $5 a month and raises that to 10 million requests a month included.
Netlify
Netlify's Free plan gives you 300 credits a month. A production deploy uses 15 credits, 1 GB of bandwidth uses 20, and 10,000 web requests use 2. When the credits run out, your projects pause until the next month, and if one project goes over, every project on the account pauses.
That goes quickly. With the builder's defaults, 1,000 visitors a month view 20 pages each at about 1 MB per page view, which is 20 GB of bandwidth. That alone is 400 credits, more than the free 300. The Personal plan is $9 a month for 1,000 credits.
Vercel
Vercel's Hobby plan is free and includes 100 GB of data transfer, 1 million CDN requests and 1 million function calls a month. It is for personal, non-commercial use only. If your site sells something, runs ads or belongs to a business, you need Pro, which is $20 a month per deploying seat. Pro includes $20 of usage credit, 1 TB of data transfer and 1 million CDN requests.
AWS Amplify
AWS Amplify Hosting has no monthly fee. You pay $0.15 per GB served, $0.01 per build minute and $0.30 per million server-rendered requests. A server-rendered request is a page the server builds fresh for a visit, instead of sending a ready-made file. Its pricing page lists free amounts for 12 months: 1,000 build minutes, 15 GB served and 500,000 server-rendered requests a month. AWS accounts opened under AWS's newer Free plan get up to $200 of credits over 6 months instead.
Which host for a static site?
| Host | Free plan allows business use | Bandwidth on the free plan | What happens at the limit |
|---|---|---|---|
| Cloudflare Pages | Yes | Not charged | Functions stop for the day |
| Netlify | Yes | 20 credits per GB, from 300 a month | All projects pause |
| Vercel Hobby | No | 100 GB a month | Usually wait 30 days |
| AWS Amplify | Yes | 15 GB a month for 12 months | Billed at $0.15 per GB |
The domain: compare renewals
A domain is rented one year at a time from a registrar. Many registrars sell the first year cheaply and charge more to renew. You pay the renewal every year after the first, so it matters more.
Prices for a .com, per year, in US dollars:
| Registrar | First year | Renewal | Three years |
|---|---|---|---|
| Cloudflare Registrar | $10.46 | $10.46 | $31.38 |
| Dynadot | $10.88 | $10.88 | $32.64 |
| Porkbun | $11.08 | $11.08 | $33.24 |
| Namecheap | $11.28 (sale) | $18.48 | $48.24 |
Namecheap also adds a $0.20 ICANN fee a year at checkout for a .com, which is not in the prices above. ICANN is the body that oversees domain names, and registrars pass its small yearly fee on to you. Namecheap's first-year price is a sale price that changes with its promotions.
Other endings show the same pattern more strongly. A .xyz is about $2 for the first year at Porkbun ($2.04), Namecheap ($2.00) and Dynadot ($1.99), then renews at $14.21, $21.48 and $14.45. Cloudflare charges $12.30 for the first year and $11.20 to renew. A .io renews at $50.00 at Cloudflare, $51.80 at Porkbun, $53.50 at Dynadot and $75.98 at Namecheap.
The Cloudflare catch: nameservers
Cloudflare sells domains at cost, with no markup, and renews at the registry's list price. The trade-off is that a domain registered with Cloudflare must use Cloudflare's nameservers. Nameservers are the setting that says which company answers "where does this domain point?" for your domain.
In practice this is rarely a problem. You add DNS records in Cloudflare to point the domain at any host, including Vercel, Netlify or AWS. If you ever want different nameservers, you have to move the domain to another registrar first.
Namecheap lets you point a domain at any nameservers. WHOIS is the public directory of who owns each domain, so WHOIS privacy (or redaction) hides your name, email and address from it. Porkbun includes free WHOIS privacy, SSL (the certificate behind the padlock and https), DNS and email forwarding. Dynadot includes free domain privacy and says its prices can shift with exchange rates. Cloudflare includes free WHOIS redaction where the registry allows it, and one-click DNSSEC, which signs your DNS records so visitors cannot be sent to a fake address.
What to pick
- Cheapest overall: Cloudflare Pages for hosting and Cloudflare Registrar for the domain. A .com costs $10.46 a year, which is about 87¢ a month, and hosting is free.
- You want nameservers other than Cloudflare's: Porkbun or Dynadot. Their .com renewals are at most 62¢ a year more than Cloudflare's, with no nameserver rule.
- Personal project on Vercel: Hobby is free, but switch to Pro before the site makes money.
- A first-year deal: fine, but budget for the renewal. Over three years a Namecheap .com costs about $17 more than a Cloudflare one.
Price your own site in the stack builder, or browse every option under Domains & DNS and Frontend & Static Hosting.