All comparisons
Hosting · 9 min read

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.

TL;DR — My take

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.

Pick Vercel if

Next.js app, fast-moving team, you need preview URLs, ISR, image optimisation and Speed Insights working on day one without thinking about it.

Pick Cloudflare Pages if

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.

The full breakdown

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.

FeatureVercelCloudflare 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

The good
  • 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.
The painful bits
  • 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

The good
  • 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.
The painful bits
  • 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.
When to choose

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.
When to choose

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.
My take

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.

Bottom line

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.