Vercel vs Cloudflare Pages
Vercel makes shipping a Next.js app feel like cheating. Cloudflare makes the bill at the bottom of the page small enough to ignore. Both are excellent — for very different reasons.
Use Vercel for the apps where developer experience pays for itself — early-stage products, anything Next.js-shaped, anything where preview deploys and analytics actually move the needle. Move to Cloudflare Pages the moment bandwidth, function invocations or build minutes start showing up as a real line item, or when you’re building edge-first APIs where Workers genuinely is the right runtime. The honest answer is: most of my clients run Vercel for the app and Cloudflare for everything around it.
Next.js app, fast-moving team, you need preview URLs, ISR, image optimisation and Speed Insights working on day one without thinking about it.
High-traffic site, static or edge-first, you live in Workers land, you care about per-request cost, or you’re tired of bandwidth surprises.
Side-by-side, line by line
Numbers below are correct as of early 2026. Both platforms tweak their plans every few months — always sanity-check before you commit a £10k/year app to either.
| Feature | Vercel | Cloudflare Pages |
|---|---|---|
| Free tier | 100GB bandwidth, 100k function invocations, 6,000 build minutes. | EdgeUnlimited bandwidth, 100k Worker requests/day, 500 builds/month. |
| Bandwidth pricing | $0.40 per GB after free tier (Pro plan, post-2024). | EdgeEffectively free. Truly unmetered for static assets. |
| Function pricing | $2 per million invocations + GB-hours of compute. | Edge$0.50 per million Worker requests, no separate compute charge. |
| Next.js support | EdgeFirst-party. Every feature works on day one. | Via @cloudflare/next-on-pages. Improving but not 1:1. |
| Build experience | EdgeBest-in-class. Preview URLs, comments, Speed Insights baked in. | Solid, fast. Less polished UI, no preview comments. |
| Cold starts | Node functions: ~150-400ms. Edge: <50ms. | EdgeWorkers: <5ms. The fastest cold starts in the industry. |
| Edge runtime | Vercel Edge (Workers under the hood). Limited APIs. | EdgeCloudflare Workers. The platform itself. Mature, deep. |
| Image optimisation | EdgeBuilt in. next/image just works. Charged per source image. | Cloudflare Images is separate, $5/mo + per-image. More work. |
| Storage / DB primitives | Vercel Blob, Postgres, KV — all fine, all Vercel-priced. | EdgeR2 (S3-compatible, no egress), D1, KV, Durable Objects, Queues. |
| Analytics | EdgeWeb Analytics + Speed Insights, both excellent. | Web Analytics free. No real-user perf metrics built in. |
| DDoS / WAF | Basic. Pay for Enterprise tier or front with Cloudflare. | EdgeWorld-class. It's literally Cloudflare’s day job. |
| Vendor lock-in | Medium. Next.js is portable, but ISR + image opt are Vercel-shaped. | EdgeWorkers code is bound to the runtime, but standards-based. |
Vercel
- Best Next.js DX on the planet — and it’ll stay that way; they make Next.js.
- Preview deploys with comments are genuinely better than any rival.
- Speed Insights and Web Analytics save you setting up your own RUM.
- ISR, On-Demand Revalidation and the image pipeline just work.
- Their support, when you pay for it, is excellent.
- Bandwidth pricing has bitten serious teams. A viral post can blow your budget.
- Function invocations get expensive once you’re doing real work.
- Build minutes are stingy on the Hobby tier.
- Pricing has changed three times in two years. Plan accordingly.
Cloudflare Pages
- Bandwidth is essentially free. A massive deal at scale.
- Workers cold starts under 5ms — nothing else comes close.
- R2 has no egress charges. S3-compatible storage that doesn’t punish success.
- Built-in DDoS protection and WAF — literally what they do best.
- Pricing model is sane: per-request, predictable, no surprises.
- Next.js support via next-on-pages is good, not perfect. ISR and middleware have caveats.
- Worker runtime isn’t Node — some npm packages won’t work.
- Less polished build UI. Preview comments are absent.
- Documentation is sprawling — finding the right primitive takes time.
Vercel
- You're shipping a Next.js app and want zero-config production support.
- Preview deploys with comments are worth real money to your team.
- You need ISR, on-demand revalidation or image optimisation working today.
- You're early-stage and traffic is small enough that bandwidth doesn't matter.
- You want Speed Insights and Web Analytics out of the box.
- The team is small and shipping speed matters more than infra economics.
Cloudflare Pages
- Static-heavy site or marketing pages with serious traffic.
- You're building edge-first APIs that fit Workers cleanly.
- You need R2 storage with no egress charges (think file-heavy SaaS).
- You already use Cloudflare for DNS, CDN or Zero Trust.
- You want world-class DDoS protection bundled in for free.
- Bandwidth is your single biggest cost line and you've had enough.
What I actually do on real projects
For most paying clients, I deploy the application to Vercel and put Cloudflare in front of it for DNS, caching of static asset paths, WAF and analytics. That gets you the best of both worlds: Vercel’s DX during development and Cloudflare’s economics on the public-facing edge. It’s slightly more configuration than picking one platform, but it pays for itself the first time a page goes mildly viral.
The exception is anything heavy on file storage or where I’m writing a lot of backend logic at the edge. R2 + Workers + D1 is genuinely a beautiful stack for certain shapes of product — think: image-heavy marketplace, geo-routed API, high-fanout webhook receiver. There, Cloudflare wins outright and Vercel doesn’t even compete.
I’d also point out: Vercel’s bandwidth pricing is the only thing I genuinely dislike about the platform. $0.40/GB sounds tiny until you have a 5MB hero video autoplaying on a homepage that catches a TechCrunch piece. I’ve seen a single weekend cost a startup more than their monthly compute bill. Stick a CDN in front of any Vercel app whose marketing site might ever go popular.
The honest conclusion
Vercel sells developer experience and Cloudflare sells economics. Both are honest products doing what they say on the tin. If you’re building a serious app with a long expected lifespan, you’ll likely end up using both — Vercel for the application surface, Cloudflare for everything edge-shaped. Don’t treat it as a binary choice unless you have to.
Still not sure which to pick?
I make these calls every week on real projects. If you want a straight answer for your stack — not a list of trade-offs — get in touch.