All five serve static files on your own domain with HTTPS, and all five can take a folder you built elsewhere. The free tiers differ in what they allow, what they count, and what happens when you go past it.
The short answer
- A business site that may get a lot of traffic: Cloudflare Pages. Bandwidth and requests are unlimited on the free plan, and its docs do not restrict commercial use.
- Builds from Git with forms and functions: Netlify, as long as the site fits in 300 credits a month; when they run out, every project pauses.
- A Next.js app: Vercel, but Hobby is for non-commercial, personal use; a business needs Pro.
- Documentation or a personal site in a public repository: GitHub Pages.
- A client’s staging site, or a small business site behind a password: Subnomic. Commercial use and password protection are on the free plan, a rollback takes a second, and the site sits next to your storage and registry. Its free traffic is 1 GB a month.
Side by side
| Netlify Free | Vercel Hobby | Cloudflare Pages Free | GitHub Pages | Subnomic Free | |
|---|---|---|---|---|---|
| Commercial use | No restriction found in its terms | Non-commercial, personal use only | No restriction found in its docs | Not for running an online business, e-commerce or SaaS | Allowed |
| What is counted | 300 credits a month: 15 per production deploy, 20 per GB of bandwidth, 2 per 10k requests | 100 GB of data transfer and 1,000,000 CDN requests a month | Unlimited bandwidth and requests; 500 builds a month | 1 GB site, 100 GB a month soft bandwidth limit | 1 site, 1 GB of traffic a month, 512 MB stored |
| When a limit is reached | Every project is paused until credits renew | Wait until 30 days have passed | — | Soft limits | The site can be paused until the month rolls over; nothing is deleted or billed |
| Preview per deploy | Unlimited deploy previews, not metered | Yes, from the CLI without --prod or a non-production branch | Unlimited preview deployments | Not documented | Every deploy keeps its own address, served with noindex |
| Rollback | Publish any earlier deploy | To the immediately previous deployment | To any successful production deployment | Not documented | To any of the last ten deployments, without rebuilding |
| Password protection | Not on the Free plan | Pro, per project; Hobby has Vercel Authentication | Previews can be limited to your Cloudflare account; Access free for up to 50 users | Private sites need GitHub Enterprise Cloud | A shared password or workspace members only, on every plan |
| Deploy a built folder | netlify deploy --dir | vercel deploy, or --prebuilt for vercel build output | wrangler pages deploy <dir> | An Actions workflow uploading the folder | subnomic sites deploy |
| Builds your code | Yes | Yes | Yes | Yes (Jekyll, or your workflow) | No: you build, it serves |
The repository behind a GitHub Pages site on a free account must be public. Cloudflare now suggests starting new projects on Workers, whose static assets are also free and unlimited, with the same 20,000-file and 25 MiB-per-file limits as Pages.
By what you are hosting
- A company website or landing page. Any of the five can serve it; for a business, Vercel Hobby and GitHub Pages are excluded by their own terms. Traffic decides between the rest: unlimited on Cloudflare Pages, 300 credits on Netlify, 1 GB on Subnomic Free and 30 GB on Pro.
- A SaaS front end. A single-page app built to static files can be served by all of them. Server code needs more: functions on Netlify, Vercel or Cloudflare, or a service on Subnomic, where a Nuxt server build or a Linux binary runs in its own microVM (one 256 MB service on Free).
- An e-commerce site. A static host serves the storefront; payments run on your payment provider. GitHub Pages’ limits page names e-commerce sites among what it is not for.
- Many client sites. Count projects and protection: Netlify allows 500 projects, Cloudflare Pages 100 per account, Vercel Hobby 200 but not for client work, Subnomic 10 sites on Pro and 50 on Team, each with its own password or members-only access and up to ten domains.
When each one fits
- Netlify builds from Git, runs functions and forms, and its previews do not use credits. On the free plan, a traffic spike that spends the 300 credits pauses every project until they renew.
- Vercel fits Next.js and frameworks that need its build and server runtime. Hobby is for non-commercial, personal projects; a business site belongs on Pro.
- Cloudflare Pages has the most generous free bandwidth here, builds from Git, and runs Workers alongside.
- Render also deploys static sites for free, with pull-request previews and free TLS; on its Hobby plan they share the workspace’s 5 GB of included outbound bandwidth a month.
- GitHub Pages fits documentation and personal sites that live in a public repository.
- Subnomic fits a business's site or a staging copy for a client: commercial use on the free plan, a password or members-only protection, rollback that moves a pointer, and the site in the same workspace as its storage, registry and servers. It does not build your code and its free traffic is small: 1 GB a month.
Moving a site over
Build as you do today, then link the output folder and deploy:
npm run build subnomic sites create my-site --dir dist subnomic sites deploy --prod
Netlify-style _redirects and _headers files work as they are. Which folder each tool builds covers Vite, Astro, Hugo and others; Deploy from GitHub Actions covers CI. What comes with a site is on the Sites page, and the Free plan's limits on Free plan.
Sources
What this page says about other products is taken from their own pages, read on 12 November 2026. Plans and limits change; if one of these has, tell us and we will correct it.
- Netlify: credit-based pricing plans
- Netlify: how credits work
- Netlify: pricing
- Netlify: manage deploys
- Netlify: password protection
- Netlify: CLI
- Vercel: Hobby plan
- Vercel: fair use guidelines
- Vercel: instant rollback
- Vercel: environments and previews
- Vercel: CLI deploy
- Cloudflare Pages: overview
- Cloudflare Pages: limits
- Cloudflare Pages: product page
- Cloudflare Pages: preview deployments
- Cloudflare Pages: rollbacks
- Cloudflare Pages: direct upload
- Cloudflare Workers: pricing
- Cloudflare Access: plans
- GitHub Pages: limits
- GitHub Pages: creating a site
- GitHub Pages: custom workflows
- GitHub Pages: site visibility
- Render: static sites
- Render: outbound bandwidth