"Vercel is too expensive." "Netlify is dead." "Cloudflare is the best." Reddit is full of hot takes. But which platform is actually right depends on your project's size and requirements.
This article compares Vercel, Netlify, and Cloudflare Pages based on official pricing and official documentation. Instead of vague impressions, I'm providing concrete cost simulations by monthly pageviews so you can make an informed decision.
Where Each Platform Stands
First, the fundamental difference. These three companies come from entirely different backgrounds.
Vercel — the company behind Next.js. Every Next.js feature works most reliably on Vercel. App Router, ISR, Middleware, PPR (Partial Prerendering) — new features land on Vercel first. The tradeoff is aggressive usage-based billing that can produce unexpected charges from bandwidth overages or function execution.
Netlify — the JAMstack pioneer. Since 2015, it's had strong compatibility with static site generators like Hugo, Gatsby, and Astro. In September 2025, Netlify switched to credit-based billing. Next.js support runs through the OpenNext adapter, always one step behind Vercel.
Cloudflare Pages — a hosting service from an infrastructure company. Its biggest advantage is the global CDN network spanning 330+ locations. Bandwidth is unlimited and free on all plans — something neither Vercel nor Netlify offers. However, Next.js support is still maturing.
Pricing: Free Tiers and Usage-Based Billing
Vercel
| Hobby (Free) | Pro ($20/month) | |
|---|---|---|
| Bandwidth | 100 GB/month | 1 TB/month |
| Overage bandwidth | Site paused | $0.15/GB |
| Function Invocations | 1M/month | 1M/month (overage $0.60/1M) |
| Fluid Active CPU | 4 hours/month | $20 credit offsets (overage $0.128/hour+) |
| Commercial use | Not allowed | Allowed |
| Monthly credit | — | $20 |
Pro's $20 is not a flat fee — it's a platform fee + $20 credit. Once the credit is exhausted, usage-based billing kicks in.
Netlify
Netlify switched to credit-based billing in September 2025.
| Free | Personal ($9/month) | Pro ($20/member/month) | |
|---|---|---|---|
| Monthly credits | 300 | 1,000 | 3,000/team |
| Commercial use | Allowed | Allowed | Allowed |
Credit consumption rates:
- Deploy: 15 credits/deploy
- Bandwidth: 10 credits/GB
- Compute: 5 credits/GB-hour
- Requests: 3 credits/10K requests
Cloudflare Pages + Workers
| Free | Paid ($5/month+) | |
|---|---|---|
| Bandwidth | Unlimited | Unlimited |
| Static requests | Unlimited | Unlimited |
| Workers requests | 100K/day | 10M/month (overage $0.30/1M) |
| CPU time | 10ms/invocation | 30M ms/month (overage $0.02/1M ms) |
| Builds | 500/month | 5,000/month (Pages Pro $20/month) |
| Commercial use | Allowed | Allowed |
Bandwidth is unlimited and free. This is Cloudflare's biggest differentiator. On Vercel, exceeding 1 TB costs $0.15/GB. On Netlify, it consumes credits. On Cloudflare, bandwidth costs nothing regardless of traffic.
The Reality of Next.js Support
There's a clear hierarchy in Next.js support across the three platforms.
| Feature | Vercel | Netlify | Cloudflare |
|---|---|---|---|
| App Router | Native | Via OpenNext | OpenNext / Vinext (experimental) |
| SSR | Full | Supported | Supported (on Workers) |
| ISR | Full | Supported | Supported (KV caching) |
| Middleware | Full | Supported | Supported |
| PPR | Full | Experimental | Unconfirmed |
| Image Optimization | Native | Extra config needed | Supported (with limits) |
generateStaticParams | Full | Supported | Not supported in Vinext |
Vercel is the only first-class Next.js host. New Next.js features work on Vercel first, and Netlify/Cloudflare catch up via the OpenNext adapter. Right after a major Next.js update, things may not work on Netlify/Cloudflare.
Beyond Next.js
If you're using Astro, Nuxt, SvelteKit, or Remix, all three platforms offer roughly equal support. When you're not heavily dependent on Next.js, Cloudflare's free bandwidth and Netlify's built-in Forms become stronger differentiators.
Bandwidth, DDoS, and Security
Bandwidth Costs
| Vercel Pro | Netlify Pro | Cloudflare Paid | |
|---|---|---|---|
| Included bandwidth | 1 TB/month | Credit-based | Unlimited |
| 100 GB overage | $15 | Credits consumed | $0 |
| 500 GB overage | $75 | Credits consumed | $0 |
| 1 TB overage | Usage billing starts | Credits consumed | $0 |
Cloudflare wins on bandwidth by a wide margin. For image-heavy sites, sites with embedded video, or globally distributed traffic, this difference translates to tens of dollars per month.
DDoS Protection
| Vercel | Netlify | Cloudflare | |
|---|---|---|---|
| Auto DDoS mitigation | All plans | All plans | All plans (330+ locations) |
| WAF | Enterprise | Enterprise | All plans |
| Attack Challenge Mode | Available | — | Available |
| Edge locations | Dozens | Dozens | 330+ |
Cloudflare's DDoS protection is industry-leading, as you'd expect from an infrastructure company. Vercel and Netlify provide basic protection on all plans, but differ in scale and edge presence.
Real incidents:
- Netlify $104K incident (Feb 2024): Massive file downloads caused bandwidth to explode, resulting in a $104,500 bill. Netlify's CEO waived the entire amount on Hacker News
- Vercel Cara incident: An app went viral and Vercel Functions charges reached approximately $96,000
- My site: Hit the Fluid Active CPU limit of 4 hours/month on Vercel's Hobby plan. Bots hitting non-existent URLs triggered SSR, consuming CPU
On Cloudflare, the "DDoS causes bandwidth explosion causes massive bill" scenario structurally cannot happen because bandwidth is unlimited.
Cost Simulation by Monthly Pageviews
Calculated using official pricing, assuming a Next.js static site (~1 MB per page).
Assumptions:
- Mostly static generation (minimal SSR)
- Middleware in use (next-intl for i18n)
- ~1 MB transfer per pageview
- Function Invocations: 1.5x pageviews (Middleware + API Route)
10K PV/month (Personal blog)
| Vercel | Netlify | Cloudflare | |
|---|---|---|---|
| Bandwidth | ~10 GB | ~10 GB | ~10 GB |
| Plan | Hobby (free) *non-commercial only | Free | Free |
| Monthly cost | $0 | $0 | $0 |
| If commercial | Pro $20 | Free $0 | Free $0 |
All three fit within free tiers at 10K PV. But Vercel requires Pro for any commercial use.
100K PV/month (Growing media site)
| Vercel Pro | Netlify Pro | Cloudflare Paid | |
|---|---|---|---|
| Bandwidth | ~100 GB | ~100 GB | ~100 GB |
| Function Invocations | ~150K/month | Credit-based | ~150K/month |
| Monthly cost | $20 (within credit) | $20 | $5 |
| Bandwidth overage | None (within 1 TB) | Credits consumed | None (unlimited) |
Cloudflare is cheapest. Vercel and Netlify cost roughly the same, but Vercel offers better Next.js support.
1M PV/month (Large-scale site)
| Vercel Pro | Netlify Pro | Cloudflare Paid | |
|---|---|---|---|
| Bandwidth | ~1 TB | ~1 TB | ~1 TB |
| Bandwidth overage | $0 (barely within 1 TB) | Heavy credit consumption | $0 (unlimited) |
| Function Invocations | ~1.5M/month | Credit-based | ~1.5M/month |
| Function overage | $0.30 (500K × $0.60/1M) | Credits consumed | $0 (within 10M) |
| Est. monthly cost | $20–40 | $20 + extra credits | $5 |
Even at 1M PV, Cloudflare stays at $5. Vercel is right at the bandwidth limit — any overage adds $0.15/GB. Netlify will likely need additional credit purchases.
Which One Should You Choose
Choose Vercel when:
- You need the latest Next.js features (PPR, Server Actions, etc.)
- You want git-push-to-deploy with the best DX
- Your team relies heavily on preview deployments
- You're under 1M PV/month and can set up Spend Management properly
Choose Netlify when:
- Your site is primarily Astro, Hugo, or Gatsby (static generators)
- You want built-in Forms, Identity, or split testing
- You need commercial use on a free plan (Vercel Hobby doesn't allow it)
- You don't need advanced Next.js features like PPR
Choose Cloudflare Pages when:
- You want zero bandwidth costs
- Your site is image-heavy or has high monthly traffic
- You want industry-leading DDoS protection
- Next.js basics (App Router + SSR + ISR) are sufficient for your needs
Choose a VPS when:
All three platforms above have usage-based billing components. For fully predictable fixed costs, self-hosting on a VPS is an option. For details, see How to Self-Host Next.js with Coolify + VPS.
Wrapping Up
| Aspect | Vercel | Netlify | Cloudflare |
|---|---|---|---|
| Next.js support | Best | Via OpenNext | Maturing |
| Bandwidth cost | $0.15/GB overage | Credit-based | Free |
| Free tier commercial use | Not allowed | Allowed | Allowed |
| DDoS protection | Good | Good | Best |
| Monthly cost (100K PV) | $20 | $20 | $5 |
| Developer experience | Best | Good | Good |
The right answer isn't "which is best" but "what does your project need." Best Next.js DX → Vercel. Lowest cost → Cloudflare. Static sites with built-in features → Netlify.
For a deeper look at how usage-based edge pricing compares to fixed-cost models, see Edge Computing Cost Structure Comparison.
Related articles: