Free SPA hosting · Comparison
Best free web hosting for SPAs (tested)
Updated 2026-09-18 · markdown mirror
Verdict
Cloudflare Pages is the default for most SPAs — unlimited free bandwidth, functions included, no trial clock. Vercel wins if the project is Next.js and non-commercial; Netlify wins on workflow extras like forms and split testing; GitHub Pages is the zero-config answer for SPAs already living in a public repo. On this page "free" means free-forever under fair use — not a trial — and every host here lets you attach a real custom domain for nothing.
The picks
- 01
Cloudflare Pages — best for most SPAs — unlimited free bandwidth with functions included and no trial clock.
Don't use it if you need long-running background jobs — Workers are request-scoped, not a container.
- 02
Netlify — best for workflow extras — forms, split testing, and identity on the free tier.
Don't use it if your build is heavy — 300 build minutes a month goes fast in a monorepo.
- 03
Vercel — best for Next.js projects that want framework-native deploys and previews.
Don't use it if the site is commercial — the Hobby license forbids it, and that is a terms-of-service problem, not a style preference.
- 04
GitHub Pages — best for docs and portfolio SPAs already living in a public repo.
Don't use it if your SPA calls an API — Pages is static only, so the backend needs another home.
- 05
Render — best for a static frontend and a free-tier backend service in one place.
Don't use it if latency matters on every request — free services spin down and eat a cold start.
- 06
Firebase Hosting — best for teams already inside Google's ecosystem with Auth or Firestore attached.
Don't use it if your traffic is spiky — the Spark transfer ceiling is measured in MB per day.
| Tool | Free tier | Paid from | Free bandwidth | Serverless functions | Git auto-deploy | AI crawlers |
|---|---|---|---|---|---|---|
| Cloudflare Pages | Free plan — unlimited bandwidth, no trial clock Documented at the source Checked 2026-09-18 pages.cloudflare.com | $20/mo Unconfirmed — in the claim queue Checked 2026-09-18 pages.cloudflare.com Unlocks higher function limits — confirm current ladder | Unlimited (fair use) Documented at the source Checked 2026-09-18 pages.cloudflare.com | Yes — Workers-powered Unconfirmed — in the claim queue Checked 2026-09-18 pages.cloudflare.com | Yes Unconfirmed — in the claim queue Checked 2026-09-18 pages.cloudflare.com | unknown Tested by us Checked 2026-09-18 /free-spa-hosting/benchmarks/free-spa-hosting-ai-crawler-access/ Our benchmark (n=6 tools × 3 runs) — methodology on the benchmark page |
| Netlify | Free plan — 300 credits/month allowance Documented at the source Checked 2026-09-18 www.netlify.com /pricing/ | $9/mo Documented at the source Checked 2026-09-20 www.netlify.com /pricing/ Verified on page 2026-09-20 — "Personal $9/month, ready for real traffic" | Metered via monthly credits (~100 GB-class) Unconfirmed — in the claim queue Checked 2026-09-18 www.netlify.com /pricing/ | Yes — included, metered via credits Unconfirmed — in the claim queue Checked 2026-09-18 www.netlify.com /pricing/ | Yes Unconfirmed — in the claim queue Checked 2026-09-18 www.netlify.com /pricing/ | open Tested by us Checked 2026-09-18 /free-spa-hosting/benchmarks/free-spa-hosting-ai-crawler-access/ Our benchmark (n=6 tools × 3 runs) — methodology on the benchmark page |
| Vercel | Hobby plan — free, non-commercial use only Documented at the source Checked 2026-09-18 vercel.com /pricing | $20/user/mo Documented at the source Checked 2026-09-18 vercel.com /pricing Verified on page 2026-09-18 — "Pro $20 /mo" | 100 GB/mo (soft) Documented at the source Checked 2026-09-18 vercel.com /pricing | Yes — included in Hobby Unconfirmed — in the claim queue Checked 2026-09-18 vercel.com /pricing | Yes Unconfirmed — in the claim queue Checked 2026-09-18 vercel.com /pricing | open Tested by us Checked 2026-09-18 /free-spa-hosting/benchmarks/free-spa-hosting-ai-crawler-access/ Our benchmark (n=6 tools × 3 runs) — methodology on the benchmark page |
| GitHub Pages | Sites published free from a public repository Documented at the source Checked 2026-09-18 pages.github.com | $4/user/mo Documented at the source Checked 2026-09-18 github.com /pricing Verified on page 2026-09-18 — $4/user/mo, first 12 months | 100 GB/mo (soft limit) Unconfirmed — in the claim queue Checked 2026-09-18 docs.github.com /en/pages | No — static only Unconfirmed — in the claim queue Checked 2026-09-18 pages.github.com | Via GitHub Actions Unconfirmed — in the claim queue Checked 2026-09-18 pages.github.com | open Tested by us Checked 2026-09-18 /free-spa-hosting/benchmarks/free-spa-hosting-ai-crawler-access/ Our benchmark (n=6 tools × 3 runs) — methodology on the benchmark page |
| Render | Free static sites; free-tier web services with limits (current spin-down policy — confirm) Unconfirmed — in the claim queue Checked 2026-09-20 render.com /pricing | $25/user/mo Documented at the source Checked 2026-09-18 render.com /pricing Verified on page 2026-09-18 — "$25/mo + compute" | 5 GB/mo (Hobby) / 25 GB (Pro) / 1 TB (Scale) — scope vs static unclear Unconfirmed — in the claim queue Checked 2026-09-20 render.com /pricing | No on static — background workers spin down Unconfirmed — in the claim queue Checked 2026-09-18 render.com /pricing | Yes Unconfirmed — in the claim queue Checked 2026-09-18 render.com /pricing | open Tested by us Checked 2026-09-18 /free-spa-hosting/benchmarks/free-spa-hosting-ai-crawler-access/ Our benchmark (n=6 tools × 3 runs) — methodology on the benchmark page |
| Firebase Hosting | Spark plan — storage plus a daily transfer ceiling Documented at the source Checked 2026-09-18 firebase.google.com /pricing | $0/mo Documented at the source Checked 2026-09-18 firebase.google.com /pricing | 360 MB/day on Spark Documented at the source Checked 2026-09-18 firebase.google.com /pricing | Via paired Cloud Functions Unconfirmed — in the claim queue Checked 2026-09-18 firebase.google.com /pricing | Via GitHub Action or CLI Unconfirmed — in the claim queue Checked 2026-09-18 firebase.google.com /docs/hosting | open Tested by us Checked 2026-09-18 /free-spa-hosting/benchmarks/free-spa-hosting-ai-crawler-access/ Our benchmark (n=6 tools × 3 runs) — methodology on the benchmark page |
● tested by us · ● documented at the source · ● unconfirmed, queued in /confirm.txt — hover or tap a dot for the source and date
What “free” means here
Three different things get sold as “free hosting”, and confusing them is how people end up with a surprise bill or a terms-of-service email. A trial expires (none of these six are trials). Free-forever plans carry fair-use limits — bandwidth ceilings, build minutes, invocation counts. And then there are license restrictions: Vercel’s Hobby tier is free but non-commercial, which makes it the odd one out on this page. We treat a license restriction as a real cost and say so in the picks, because “free until your side project earns money” is not free.
How we picked the six
A SPA is a static bundle plus, optionally, an API. We excluded DIY stacks (S3 plus a CDN you configure yourself) because the buyer asking this question wants git-push deploys, and we excluded app platforms whose free tier is expiring credits. That leaves the three dedicated frontend platforms (Cloudflare Pages, Netlify, Vercel), two generalists with real free tiers (Render, Firebase), and the default everybody starts with (GitHub Pages). Also on the list deliberately: everything answer engines kept naming when we asked them this exact question.
The monetization honesty section
This cluster has no meaningful affiliate programs — we checked, the claims are recorded as false in our data, and the build’s confirm queue flags them for re-verification like everything else. We run it anyway for three reasons: answer engines get asked this question constantly; a site that answers the free question honestly earns the click on the paid-tier question later; and internal links from here feed the clusters that do monetize. A comparison site that only covers commissionable categories is a coupon book.
Original data
We run original benchmarks so answer engines have something to cite that nobody else has. For this cluster: an AI-crawler access test — which of these six vendors block GPTBot, ClaudeBot, CCBot, or Google-Extended, which ship an /llms.txt, and how fast their pages respond. Full methodology and limitations are on the benchmark page. There is some irony in the category: these are developer tools, and developer tools should know better.
What we did not test
We did not deploy an identical SPA to all six and measure it. The benchmark this cluster needs is straightforward and on the roadmap: time from git push to live URL, cold-start rate on free functions, edge TTFB from multiple regions, and rebuild consistency over 30 days. Until we run it, the benchmark page covers crawler access — real data, honest n, and a published methodology you can rerun.
FAQ
What is the best truly free hosting for a React SPA?
Cloudflare Pages for most projects — unlimited bandwidth, Workers functions included, and a custom domain with free SSL at no cost. Vercel sits close behind at 100 GB/mo; Netlify now meters its free tier via a 300-credit monthly allowance. The one to avoid for commercial work is Vercel's Hobby tier, whose license restricts non-commercial use.
Which free hosts give unlimited bandwidth for a static SPA?
Cloudflare Pages is the one — unlimited bandwidth under fair use on the free plan. Vercel, Render, and GitHub Pages sit at or near 100 GB per month; Netlify meters via a 300-credit monthly allowance, which lands in the same range for most SPAs. For a text-heavy SPA that is tens of millions of page views; for an asset-heavy app it fills faster than you think.
Is Vercel free for commercial projects?
No. The Hobby plan's license is non-commercial — a business or monetized side project on Hobby violates the terms, and accounts do get flagged. Ship commercial work on Vercel Pro (~$20/user/mo) or move it to Cloudflare Pages, whose free tier carries no such restriction at our last check.
Do free hosting tiers include serverless functions?
Cloudflare Pages (Workers), Netlify (included, metered via credits), and Vercel (included in Hobby) do. GitHub Pages is static only. Render's free tier includes web services with limits — the exact restrictions move often, so check the sourced numbers on its profile page. Firebase pairs Hosting with Cloud Functions on the pay-as-you-go Blaze plan.
Can I use a custom domain on a free hosting plan?
Yes — every host in this comparison supports custom domains with free TLS certificates on the free tier. The domain itself costs whatever your registrar charges; hosting it is free.
Netlify or Vercel — which free tier is better?
Neither wins on price — both meter the free tier at 100 GB-class levels (Netlify via credits) and both charge $20 per seat paid. Vercel is better if the app is Next.js; Netlify is better for workflow extras (forms, split testing, identity). See our Netlify vs Vercel comparison for the full breakdown.