Infrastructure

Vercel vs Cloudflare Pages: Performance, Pricing, and Edge Functions (2026)

May 2026 · 9 min read

Verdict up front: If you ship Next.js and you're under 100GB/month bandwidth, Vercel's DX is worth €20/month. If you ship anything else, or if your bandwidth is over 1TB/month, Cloudflare Pages saves you 70-95% with marginal DX cost. We host techconcepts.org on Cloudflare Pages — €0/month for ~250GB bandwidth.

The pricing math at different scales

For a 5GB Next.js app serving 500GB bandwidth/month with 1M function invocations:

  • Vercel Hobby (free): blocked at 100GB bandwidth, would force upgrade to Pro
  • Vercel Pro: €20/month (1TB included), this stays free
  • Cloudflare Pages: €0 + €5/month Workers Paid (10M requests included) = €5/month

For the same site at 5TB bandwidth + 5M function invocations:

  • Vercel Pro: €20 base + €40/100GB × 40 = €1,620/month
  • Cloudflare Pages + Workers Paid: €5/month (bandwidth unmetered, requests within 10M tier)

The €1,615/month difference is real. We've audited three startups in 2025-2026 whose Vercel bill was over €1,500/month and migrated all of them to Cloudflare Pages. None lost meaningful functionality.

Edge function cold starts

Both platforms run V8 isolates instead of containers, so cold starts are measured in milliseconds, not seconds. Real benchmarks:

  • Cloudflare Workers: <5ms cold start, 0ms warm
  • Vercel Edge Functions: <50ms cold start, 0ms warm
  • Vercel Serverless Functions (Node): 200-800ms cold start (Lambda underneath)

Cloudflare wins on raw cold-start latency. The gap matters most for low-traffic regions where functions go cold frequently — a function deployed worldwide that gets one request per hour from APAC will be cold every time on Vercel Serverless. On Cloudflare Workers it's still <5ms.

Image optimisation

Vercel's image optimisation is built into Next.js — drop in <Image> and you get on-demand resizing, AVIF, lazy loading. Cloudflare Pages doesn't auto-optimise images, but Cloudflare Images (a separate product) does — €5/month for 100k stored + 100k delivery, then €1 per additional 100k.

For a site with 500 product images and 5M views/month, Vercel includes image optimisation in Pro (1TB bandwidth applies to optimised outputs). Cloudflare Images would cost about €55/month for the same workload. Net: Vercel wins on image-heavy sites.

Analytics

Vercel Analytics: built-in real user monitoring, €10/month for 25k events. Reasonable.

Cloudflare Web Analytics: free, unlimited events. Less granular per-page breakdown but enough for 90% of teams. We use it on techconcepts.org and it's adequate.

Build limits

  • Vercel Hobby: 6,000 build-minutes/month
  • Vercel Pro: 24,000 build-minutes/month, €40/1000 minutes over
  • Cloudflare Pages: 500 builds/month (count, not minutes), no per-minute cap

Cloudflare's "500 builds" sounds restrictive but is actually generous — that's ~17 deploys/day, which most teams don't approach. The flat-count model means a 30-minute build doesn't penalise you. Vercel's per-minute model penalises slow builds (Next.js builds with 50+ pages routinely hit 5-10 minutes).

Side-by-side

FeatureVercelCloudflare Pages
Free tier bandwidth100GBUnmetered
Pro tier base price€20/month€0 (+ €5 Workers Paid)
Bandwidth overage€40/100GBNone
Edge function cold start<50ms<5ms
Serverless function cold start200-800msN/A (no node runtime)
Next.js supportFirst-partyVia OpenNext (community)
Image optimisationBuilt-in (Pro)Separate product (€5/month)
Analytics€10/monthFree, unlimited
Build minutes24k (Pro), then €40/1k500 builds/month, no minute cap
Custom domains50 (Hobby), unlimited (Pro)100
Preview deploymentsYes (per PR)Yes (per branch)
KV / Object storageVercel KV (Redis), BlobWorkers KV, R2 (S3-compat)
R2 / Blob pricing€0.15/GB stored, egress charged€0.015/GB stored, zero egress
DDoS protectionIncludedIncluded (industry-leading)
Workers runtimeNode + Edge runtimeV8 isolates only

When to choose Vercel

  • You ship Next.js and use App Router with all the bells (ISR, PPR, Server Components)
  • You are under 100GB/month bandwidth
  • Image optimisation is critical (e-commerce, photography sites)
  • You want first-party support contracts (Enterprise)
  • Your team values DX polish over cost

When to choose Cloudflare Pages

  • You ship anything other than Next.js (Astro, SvelteKit, Hugo, Eleventy, plain HTML)
  • You are over 500GB/month bandwidth
  • You need R2 storage with zero egress fees (replace AWS S3)
  • You want to keep your stack on one cloud (DNS + CDN + Pages + Workers + R2)
  • Cost matters more than incremental DX

Migration: what to expect

Most migrations Vercel → Cloudflare Pages take 1-3 days for a standard Next.js or static site. The friction points:

  • ISR with on-demand revalidation needs to be reimplemented with Workers KV
  • Vercel Cron Jobs (if used) need to become Cloudflare Cron Triggers
  • Environment variables move 1:1, no friction
  • Custom domains need a DNS update — plan for 1-2 hour propagation

Moving between Vercel and Cloudflare Pages?

We've migrated 20+ Next.js sites between Vercel and Cloudflare Pages. We know which features won't survive the move and how to handle them.

Book a discovery call

Related Posts

Cloudflare Pages Deploy WorkflowCloud Cost OptimizationSaaS Infrastructure Cost Guide
← All blog posts

Cutting your hosting bill in half?

If your Vercel bill is over €200/month, there's a 70% chance you can cut it by 60% on Cloudflare Pages without losing functionality. Free 20-minute audit.

Book a discovery call