Vercel vs Netlify vs Cloudflare Pages: Which Free Host?
Compare the free plans of Vercel, Netlify and Cloudflare Pages: commercial use, bandwidth, what happens at the limit, Next.js support and how to deploy.
- Published
- Reading time
- 8 min read
Contents
- The short answer
- The free plans side by side
- Vercel
- Netlify
- Cloudflare Pages and Workers
- How to deploy to each
- Vercel
- Netlify
- Cloudflare Workers with static assets
- Environment variables and secrets
- When none of them fits
- Decision checklist
- FAQ
- Can I use Vercel's free plan for a site with ads?
- Is Cloudflare Pages really unlimited?
- What happens if my Netlify site uses all its credits?
- Can I move my site between them later?
- Which one is fastest?
- Further reading
Vercel, Netlify and Cloudflare all let you push a project to GitHub and get a fast, HTTPS website a minute later, for free. On the surface they look interchangeable. The differences show up later: when your site starts making money, when traffic spikes, or when your framework needs a server.
This guide compares the three free plans on the things that actually decide the choice, shows how to deploy to each, and ends with a simple rule. Plans and prices change often, so the numbers here are as of November 2026, with links to each official pricing page.
Nil's note
DevPlainly runs on Cloudflare: the site is a static Next.js export served by Cloudflare Workers, and it redeploys on its own every time I push to GitHub. I picked Cloudflare because the site shows ads, and Vercel's free plan doesn't allow commercial use. One thing that surprised me: every deploy turned the default *.workers.dev address back on, so the same site was reachable at two URLs until I disabled it in the config file.
The short answer
- Cloudflare Pages (or Workers) if you want the most generous free plan, your site is static or mostly static, and you might earn money from it.
- Vercel if you build with Next.js and want every feature working with zero setup, and the project is personal or you'll pay for Pro.
- Netlify if you want built-in extras like form handling and deploy previews for any framework, and your traffic fits its monthly credits.
The free plans side by side
| Feature | Vercel Hobby | Netlify Free | Cloudflare Pages Free |
|---|---|---|---|
| Commercial use | No, personal projects only | Yes | Yes |
| Static traffic | 100 GB of data transfer a month | Counted in 300 monthly credits | Unlimited requests and bandwidth |
| At the limit | Features pause until the next cycle | The site pauses until next month | Static files keep being served |
| Builds | Included, with monthly limits | Each deploy spends credits | 500 builds a month |
| Server code | Vercel Functions | Netlify Functions | Workers, 100,000 requests a day |
| First paid plan | Pro, $20 per month per deploying seat | Personal, $9 per month | Workers Paid, $5 per month |
| Best at | Next.js | Extras for any static site | Price and traffic |
Two rows matter more than the rest: commercial use and what happens at the limit. A free plan that pauses your site the day a post goes viral is a different deal from one that keeps serving it.
Vercel
Vercel makes Next.js, and it shows. Features like incremental static regeneration, image optimization, middleware and server actions work on Vercel the day they're released, with no adapter or configuration. The dashboard, preview deployments for every pull request and the logs are all polished.
The catch is the Hobby plan's terms: it's for personal, non-commercial use. Vercel's fair use rules count client work, a SaaS and sites that make money (ads and affiliate links included) as commercial, which requires Pro. Hobby also has a monthly cap of 100 GB of data transfer that you can't buy more of; going over pauses the affected features instead of billing you.
Pro costs $20 a month per deploying seat and includes $20 of usage credit, 1 TB of data transfer and more of everything. For a business that's reasonable. For a student's side project that might show ads one day, it's the reason to look elsewhere.
Netlify
Netlify popularized deploying static sites from Git, and it still has the most extras built in: form handling without a backend, deploy previews, split testing, redirects and headers from a simple file, and functions. It works equally well with React, Vue, Astro, Hugo or plain HTML.
Since late 2025 new accounts use credit-based plans. The Free plan gives you 300 credits a month, and everything spends them: production deploys, bandwidth, web requests and function calls. When the credits run out the site is paused until the next month; there's no surprise bill, but there's also no website. The Personal plan is $9 a month for 1,000 credits, and Pro is $20 a month for 3,000.
For a portfolio or a small project, 300 credits is usually enough. A site that suddenly gets traffic, or one you deploy many times a day, can burn through them.
Cloudflare Pages and Workers
Cloudflare's free plan is the most generous of the three for static sites: requests to static files are free and unlimited, on the free plan and the paid one. Your site runs on Cloudflare's network, and commercial use is allowed. The Pages free plan has 500 builds a month, up to 20,000 files per site and 25 MiB per file.
Server code runs as Workers. On the free plan you get 100,000 requests a day for that dynamic part; static files don't count toward it. If you need more, Workers Paid starts at $5 a month.
There's one thing to know before you start: Cloudflare now recommends Workers with static assets for new projects, and that's where new features land. Pages still works and isn't going away, and Cloudflare has a guide to migrate from Pages to Workers. For a new site, start on Workers; the free static hosting is the same.
The trade-off is Next.js. Static exports work perfectly (this site is one), but full Next.js with server rendering needs the OpenNext adapter, and new Next.js features can take a while to be supported there.
How to deploy to each
All three connect to a GitHub repository and rebuild on every push, which is what you want for a real project. From the command line, a first deploy looks like this:
Vercel
npm i -g vercel
vercel # preview deployment
vercel --prod # production
Netlify
npm i -g netlify-cli
netlify deploy --build # preview (draft URL)
netlify deploy --build --prod # production
Cloudflare Workers with static assets
Add a wrangler.jsonc to the project. This is the one DevPlainly uses, for a static site that builds into out/:
{
"name": "my-site",
"compatibility_date": "2026-10-01",
// stop every deploy from re-enabling the *.workers.dev address
"workers_dev": false,
"assets": {
"directory": "./out",
"not_found_handling": "404-page"
}
}
Then deploy:
npm run build
npx wrangler deploy
For a single-page app (React, Vue, Angular) use "not_found_handling": "single-page-application" instead, so refreshing a route like /profile loads the app instead of a 404.
Environment variables and secrets
All three have a settings page for environment variables, and all three separate preview from production values. Two rules apply everywhere:
- Anything that starts with
NEXT_PUBLIC_,VITE_or similar is bundled into the JavaScript and visible to every visitor. Never put secrets there. - Keep a
.env.examplein the repository with the variable names and no real values, so the next person (or you, in six months) knows what to set. More in how to use .env files safely.
When none of them fits
These platforms are built for websites and APIs that start and stop quickly. A database, a long-running process, a Discord bot or a self-hosted app needs a server. A small VPS with Docker handles all of those for a few dollars a month; start with securing a new Linux VPS and put a reverse proxy with Caddy in front of your apps.
Decision checklist
- Will the site make money (ads, affiliate links, a product, client work)? → Cloudflare or Netlify, or Vercel Pro
- Is it a Next.js app using server features (ISR, server actions, middleware)? → Vercel
- Could it get sudden traffic, and must it stay online? → Cloudflare
- Do you want forms or other extras without writing a backend? → Netlify
- Is it a static site or a single-page app? → any of them; Cloudflare is the cheapest as it grows
FAQ
Can I use Vercel's free plan for a site with ads?
No. Vercel's Hobby plan is limited to personal, non-commercial use, and sites that earn money, including ads and affiliate links, count as commercial. You need the Pro plan, or a host whose free plan allows commercial use, like Cloudflare or Netlify.
Is Cloudflare Pages really unlimited?
For static files, yes: Cloudflare doesn't charge for or limit requests to static assets. The limits are on builds (500 a month on Pages Free), files per site, file size and the server code you run as Functions or Workers.
What happens if my Netlify site uses all its credits?
On the Free plan, the site is paused until your credits reset the next month. You can upgrade to a paid plan to bring it back sooner.
Can I move my site between them later?
Yes, and for a static site it takes minutes: they all run your build command and serve a folder. Moving gets harder if you rely on a platform-specific feature, like Netlify Forms or Vercel's image optimization, so keep those in mind.
Which one is fastest?
For visitors, all three serve static files from a global network, and the difference is small. Build speed and how quickly your server code starts vary more, and depend on the project.
Further reading
Written by Nil Martinez
Developer · DAM & DAW student
Developer studying multiplatform (DAM) and web (DAW) application development. I work every day with TypeScript, Angular, React, Java, Python, FastAPI, MySQL and Docker on Kubuntu, and I write about the tools I actually use.
Keep reading
PostgreSQL vs MySQL: Differences and Which to Learn
PostgreSQL vs MySQL compared: the SQL that behaves differently, features, licensing and hosting, with every query tested on both and a rule for choosing.
Comparisons9 min read
SQLite vs PostgreSQL: Which Should You Use for Your Project?
An honest comparison of SQLite and PostgreSQL covering performance, concurrency, features, hosting and backups — with a simple rule for choosing.
Comparisons6 min read
REST vs GraphQL: Differences, Trade-offs and When to Use Each
REST and GraphQL compared with real request examples: data fetching, caching, versioning, errors, security and tooling — plus a simple rule for choosing.
Comparisons6 min read