Dev Tools10 min

Vercel vs Netlify vs Cloudflare Pages — 2026 Deployment Platforms

Comparing Vercel Fluid Compute, Netlify credit-based billing, and Cloudflare Pages unlimited bandwidth on pricing, free tiers, Next.js compatibility, and edge performance. Numbers from April 2026 official pricing.

On this page (14)

April 2026 · Dev Tools

The web deployment landscape crystallized into a clear three-way split in 2026. Vercel for Next.js full-stack. Cloudflare Pages for static sites and edge workloads. Netlify for the Jamstack middle ground. All three ship with git push-to-deploy out of the box.

The real story is in billing and performance. In February 2026, Vercel shipped Fluid Compute to GA and announced "up to 95% cost savings across 45 billion weekly requests." Cloudflare Workers hold cold starts under 5ms. Netlify migrated to credit-based billing in September 2025. The same app gets billed differently, responds at different speeds, and feels different to operate — depending on which platform it lives on.

Short version: Next.js ecosystem → Vercel. High-traffic static or edge-heavy → Cloudflare Pages. Forms and adapter ecosystem → Netlify. The rest of this article benchmarks each claim against April 2026 pricing pages, docs, and community benchmarks. Not "which is better in general" — which is cheaper and faster for which workload pattern.

Vercel, Netlify, Cloudflare Pages free and paid tier comparison — bandwidth, build time, function invocations, pricing
Free and paid tiers at a glance — the right answer depends on your traffic profile / GoCodeLab
Quick Summary
  • Vercel: Hobby free (100GB · 1M invocations), Pro $20/user/mo, Fluid Compute saves up to 95%
  • Netlify: Free 100GB · 300 build min, Pro $19/user/mo, credit-based since Sept 2025
  • Cloudflare Pages: unlimited bandwidth, 500 builds/mo free, Workers Paid $5/mo bundles ecosystem
  • Cold starts: Cloudflare < 5ms > Vercel Fluid ~0ms (warm) > Netlify 150~3,000ms
  • Next.js support: Vercel native > Netlify adapter (30~60% slower builds) > Cloudflare OpenNext (constraints)
  • Edge PoPs: Cloudflare 330+ / Vercel 40+ / Netlify 8-region multi-cloud
  • Cloudflare ecosystem: KV · D1 · R2 · Durable Objects · Hyperdrive bundled at $5
  • Real-world wins tend to come from splitting platforms by subdomain
Lazy Developer Series
Shipping a real SaaS on Vercel
Beating the 10-second timeout with after(), untangling region mismatches.
Read EP.06 →

What each platform actually is — and where it fits

Vercel was founded by Guillermo Rauch in 2015 — the same person behind Next.js. As of 2026, the company sits around $3.2B valuation and maintains front-end deployment leadership by leveraging Next.js as a wedge. The core edge: native Next.js integration. ISR, Image Optimization, Middleware, Server Actions, Cache Components — all of it works with zero config. In February 2026, Fluid Compute went GA and redesigned serverless billing around Active CPU. Hobby plan is personal / non-commercial only. Commercial use starts at Pro ($20/user/month).

Netlify was founded in 2014 and coined the term "Jamstack." Framework adapters span Astro, Next.js, SvelteKit, Nuxt, Gatsby, Hugo — the widest ecosystem of the three. Forms, serverless functions, and Edge Functions come built in, making it strong for "static + some dynamic" patterns. In September 2025, they migrated to credit-based billing, combining build time, function calls, and bandwidth into a single credit pool. Predictability dropped, but for small projects and form-heavy sites it's still practical.

Cloudflare Pages is a static + serverless platform running on Cloudflare's global edge network. The headline features are 330+ PoPs and unlimited bandwidth. Workers Paid ($5/month) alone bundles Workers, Pages Functions, KV, D1, R2, Durable Objects, and Hyperdrive. It's arguably the only realistic alternative for building a full stack without AWS. The catch: Next.js runs through the OpenNext adapter and inherits edge runtime constraints — some Node.js modules unavailable, ISR limited.

Positioning is clean: Vercel is the "Next.js expressway," Cloudflare is the "edge infrastructure stack," and Netlify is the "framework-agnostic Jamstack hub." Your stack and traffic pattern decide the fit.

Free tier deep dive — bandwidth, builds, functions

Whether the free tier carries a personal project long-term comes down to three numbers: bandwidth, build time, function invocations. April 2026 official docs:

Metric Vercel Hobby Netlify Free Cloudflare Pages
Bandwidth100GB Fast Data Transfer100GBUnlimited
Build timeUnlimited deploys (1 concurrent)300 min/mo500 builds/mo
Function invocations1M/mo125K/mo100K/day (Workers Free, ~3M/mo)
CPU time4 hours Active CPUCredit-based (opaque)10ms/request (Free)
Provisioned memory360 GB-hoursNot published128MB default
Storage1GB Blob10GB (where supported)R2 10GB / KV 1GB separate
Concurrent builds11 (queued)1
Usage restrictionPersonal / non-commercialCommercial OKCommercial OK

On raw bandwidth, Cloudflare dominates. Traffic spikes don't trigger overage invoices. 100GB fills up faster than you'd think — at ~1MB per page, 100K monthly pageviews brushes against Vercel and Netlify Hobby limits. Cloudflare Pages stays at $0 through that range.

Vercel Hobby's decisive constraint is the no-commercial clause. A single advertisement can put you in violation. If your app generates revenue, move to Pro immediately. Netlify and Cloudflare both allow commercial use on free tiers — for indie devs starting revenue-generating projects, Cloudflare is the smoothest free entry point.

Netlify's 300 build-minute cap tends to be the actual bottleneck. A medium Next.js project often builds in 5~8 minutes, so you hit the ceiling at 40~60 deploys/month. Teams that deploy frequently can't rely on Netlify Free. Cloudflare Pages' 500 builds/month lets you deploy 16 times a day with room to spare.

Paid plans and overage simulation

Once you go commercial, overage rates — not base prices — decide the real invoice. Structure:

  • Vercel Pro: $20/user/month + 16 CPU-hours and 1,440 GB-hours memory included — overage Active CPU $0.128/hour, overage memory $0.0106/GB-hour
  • Netlify Pro: $19/user/month + 1TB bandwidth, 25K build minutes — $7 per 500 extra build minutes, $20 per 100GB extra bandwidth, $25 per 1M extra invocations
  • Cloudflare Workers Paid: $5/month minimum + 10M requests and 30M CPU-ms included — $0.30 per extra 1M requests, $0.02 per 1M extra CPU-ms
Scenario A — Small blog (100K monthly visits, 50GB bandwidth, 500K function calls)
Vercel Hobby $0 (personal) / Pro $20. Netlify Free possible (if build quota holds). Cloudflare Pages $0. → Cloudflare Pages wins.
Scenario B — Next.js SaaS (500K monthly visits, 5M function calls, DB-heavy)
Vercel Pro $20 + Fluid Compute keeps CPU overage near zero → billed ~$20~30. Netlify Pro $19 + function overage $25×4 = $119. Cloudflare Workers Paid $5 + extra requests $1.50 = $6.50. → Order: Cloudflare $6.50, Vercel $20, Netlify $119. If Next.js compatibility is non-negotiable, Vercel.
Scenario C — Image hosting site (2TB monthly downloads)
Vercel Pro $20 + 1.9TB overage $380 = $400. Netlify Pro $19 + 1TB overage $200 = $219. Cloudflare Pages $0 (unlimited) or R2 $0 egress + $30 storage for 2TB. → Cloudflare wins decisively. For egress-heavy workloads, Cloudflare is effectively the only option.

Netlify has the highest overage sensitivity. Runaway builds or function-call surges push the invoice up fast. Vercel's Fluid Compute excludes I/O wait from billing, dropping real spend on most full-stack apps. Cloudflare remains the cheapest floor — $5/month covers Workers, Pages Functions, KV, and Durable Objects in one bundle.

Vercel Fluid Compute — real savings examples

Fluid Compute hit GA in February 2026. Per Vercel's official figures: 45 billion weekly requests, customers seeing up to 95% savings, 75%+ of all Vercel Functions now on Fluid. The old serverless model billed the entire function duration — 1 second waiting on an upstream API and 2 seconds waiting on a DB query all got charged. Fluid only bills the Active CPU windows — when your code is actually executing on CPU.

// Example: Next.js API handler (I/O-bound)
export async function GET(req) {
  // 100ms — JSON parsing, validation (Active CPU)
  const body = await req.json()
  // 400ms — Supabase query wait (I/O, Fluid bills nothing)
  const data = await supabase.from('users').select()
  // 30ms — response serialization (Active CPU)
  return Response.json(data)
}
// Total execution time: 530ms
// Legacy billing: 530ms (all of it)
// Fluid billing: 130ms (Active CPU only) → 75% saved

From Vercel's case studies: "Many of our API endpoints were lightweight and involved external requests, resulting in idle compute time. By leveraging in-function concurrency, we were able to share compute resources between invocations, cutting costs by over 50% with zero code changes." For typical Next.js apps, expect function invocation counts to drop 30~50% with proportional cost reduction.

The catch: memory billing. Memory is charged in GB-hours over the full lifetime of the function instance. WebSockets and streaming endpoints holding long-lived connections can run up memory charges. Hobby includes 360 GB-hours; Pro includes 1,440 GB-hours. Past that, overage kicks in. Fluid's benefit is limited for CPU-heavy workloads (ML inference, image resizing, encryption) where Active CPU dominates total wall time.

Practical takeaway: if external API/DB calls exceed 50% of your handlers' time, Fluid effects are significant. Next.js full-stack SaaS nearly always fits this pattern. Vercel's blog provides comparison tools to simulate the conversion from existing usage.

Cold start benchmarks — 5ms vs 250ms vs 3 seconds

Serverless functions incur a "cold start" on the first request after idle — latency spikes compared to warm state. For indie SaaS, this shows up during early-morning first requests or low-traffic page hits. 2026 benchmark data splits the three platforms cleanly:

Platform Cold start Warm response Mechanism
Cloudflare Workers< 5ms~1msV8 Isolates + Shard-and-Conquer hashing (99.99% warm)
Vercel Fluid~0ms (warm pool)20~50msInstance pre-warming + in-function concurrency
Vercel legacy serverless~250ms50~80msAWS Lambda backend
Netlify Functions150~3,000ms80~150msAWS Lambda (high regional variance)

Cloudflare Workers' sub-5ms cold start comes from V8 Isolates. Instead of spinning up a container, the platform runs your function directly inside the JavaScript engine. Initialization overhead is near zero. On top of that, "Shard-and-Conquer" consistent hashing routes same-request traffic to the same node, keeping warm-hit rate at 99.99%. The remaining 0.01% still cold-starts in single-digit milliseconds.

Vercel Fluid Compute keeps instances warm and uses "in-function concurrency" — a single instance handles multiple concurrent requests. This cuts legacy serverless cold starts by ~25% and effectively eliminates cold starts for active functions.

Netlify, running on AWS Lambda, is the slowest. Benchmarks have measured cold starts up to 3 seconds. For low-traffic sites or early-morning first requests, users feel the wait. Real-time-sensitive or intermittent-traffic services are best routed away from Netlify.

Netlify credit-based pricing dissected

Since September 2025, Netlify uses a unified credit pool. Previously, build time, function calls, and bandwidth each had independent caps and overage rates. Now they share one credit unit with internal conversion between categories.

Netlify's official conversions (approximate): 1 build minute = 1 credit, 1,000 function invocations = 1 credit, 1 GB bandwidth = 1 credit. Actual rates shift over time, and premium features like Edge Functions burn premium credits. Pro includes 500 credits/month — in theory 100 deploys if your builds are 5 minutes each, but sharing with other usage drops the practical ceiling to 50~70 deploys.

The complaint is predictability. "My build ran long and drained my credits" posts keep showing up in dev forums. The dashboard shows real-time credit burn, but end-of-month overage surprises still happen. Accounts created before September 4, 2025 can stay on the legacy plan — some users just don't migrate.

Netlify's strengths still hold. Forms are built in — no third-party service needed to catch contact-form submissions (100 submissions/month free). The adapter ecosystem is the widest of the three, which matters on Astro, SvelteKit, Nuxt, and other non-Next.js stacks. Identity (auth), Large Media (Git LFS integration), and Split Testing (A/B) are integrated features that Vercel and Cloudflare don't match natively.

Next.js feature compatibility matrix

If you're on Next.js, the decision is nearly made for you. Vercel is built by the Next.js team — new features ship day one. April 2026, Next.js 16 feature support breakdown:

Next.js feature Vercel Netlify Cloudflare (OpenNext)
Server Components (RSC)FullFullFull
Server ActionsFullFullPartial
ISR (revalidate)FullOn-Demand onlyLimited
Image OptimizationNativeAdapterCloudflare Images
MiddlewareFullFullFull (edge)
Cache ComponentsFullPlannedNo
Partial Prerendering (PPR)FullPartialNo
Edge RuntimeFullEdge FunctionsNative
Full Node.js modulesAllAllSome blocked
Build speed (same project)baseline30~60% slower20% slower

Next.js' latest features (Cache Components, PPR) only ship fully on Vercel. Netlify covers most of it via adapter, but ISR semantics differ and builds run noticeably longer. Cloudflare Pages goes through the OpenNext adapter and picks up edge-runtime constraints. You can't use fs, net, or child_process, and ISR requires wiring Incremental Cache into KV separately.

On the flip side, Cloudflare's Image Optimization routes through Cloudflare Images (faster CDN), and Edge Runtime is native — Middleware performance edges ahead. If your Next.js codebase is edge-friendly or doesn't rely on Node-only modules, Cloudflare Pages can actually win.

Cloudflare ecosystem — KV · D1 · R2 · Durable Objects

Cloudflare's real edge is that $5/month Workers Paid bundles 6+ data services. Each as a standalone SaaS would run into tens or hundreds of dollars. April 2026 pricing breakdown:

Service Use case Price (Paid)
Workers KVGlobal key-value store, config/session/personalizationReads 10M $0.50, writes 1M $5
D1Managed SQLite, lightweight relational DBReads 25M $1, writes 50K $1
R2S3-compatible object storage, zero egressStorage $0.015/GB, Class A 1M $4.50
Durable ObjectsWebSockets, real-time collaboration, distributed locks, rate limiters1M requests $0.15, storage $0.20/GB/mo
QueuesMessage queue, async work1M operations $0.40
HyperdriveExternal PostgreSQL connection pooling + accelerationIncluded in Workers Paid

Practical combo: sessions/config on KV, user data on D1, images/files on R2, chat rooms on Durable Objects, background jobs via Queues. Everything at the same $5. An AWS equivalent stack: RDS (PostgreSQL) $15 + DynamoDB $10 + S3 $5 + egress $100+ + SQS $2 = $130+/month minimum. Cloudflare's egress-free bandwidth makes file-heavy services land in a completely different cost range.

R2's zero-egress policy is especially decisive. AWS S3 egress from Seoul region is $0.126/GB. At 2TB monthly downloads: AWS $250, R2 $0 (egress) + $30 (storage for 2TB). For image hosting, video streaming, and backup storage services, Cloudflare becomes effectively irreversible — the cost gap is that wide.

Durable Objects is the only practical choice for stateful edge computing. WebSocket chat rooms, Google Docs-style real-time collaboration, distributed locks, rate limiters — all classic use cases. Vercel and Netlify have no equivalent, forcing external services (Pusher, Ably) to fill the gap.

Edge network and global TTFB

Real TTFB (Time to First Byte) depends on PoP count and location. April 2026 network sizes and measured performance:

  • Cloudflare: 330+ PoPs across 120+ countries — covers Seoul, Singapore, Tokyo — lowest global TTFB
  • Vercel: own edge network (40+ regions) + AWS/GCP regions — strong NA/EU, middling Asia
  • Netlify: multi-cloud AWS/GCP/Azure (8 main regions) — high regional variance

TTFB benchmarks from Korea (static content): Cloudflare Seoul PoP 30~50ms, Vercel Tokyo/Seoul region 80~120ms, Netlify US-West default 250~400ms. For apps with significant Korean/SEA user bases, Cloudflare is overwhelmingly the fastest experience.

Vercel's Tokyo/Singapore regions can reach ~100ms in Korea when explicitly configured. Hobby has limited region pinning; Pro enables per-project region selection. Defaults often point to US regions (iad1, sfo1), causing Korean users to wait 200ms+. Setting regions in vercel.json is important.

Netlify lacks automated geographic routing, so regional variance is large. Pro+ with Edge Functions helps, but standard Functions still run from the default region (us-east-1) and feel slow from Korea.

Build speed, DX, and dashboard experience

Specs aside, day-to-day feel matters. Build speed, DX, and dashboard quality breakdown:

  • Build speed: Vercel as baseline. Same Next.js project, Netlify runs 30~60% longer, Cloudflare Pages 20% longer. Cache hit rate differences drive most of the gap.
  • Preview deployments: All three auto-generate PR-level preview URLs. Vercel's "Preview Deployment" has the most intuitive UI; Netlify calls it Deploy Previews with similar functionality.
  • Rollback: Vercel offers one-click rollback from deployment history. Netlify matches it. Cloudflare Pages supports rollback but the UI is relatively rougher.
  • Analytics: Vercel Web Analytics (Pro), Cloudflare Web Analytics (Free), Netlify Analytics ($9/mo extra). Cloudflare gives the most metrics free.
  • CLI: Vercel CLI, Netlify CLI, Wrangler (Cloudflare) all mature. Wrangler has the most sophisticated local emulation (miniflare).
  • Logs: Vercel Observability (Pro), Netlify Functions logs, Cloudflare Tail. Real-time monitoring quality: Vercel > Cloudflare > Netlify.

Vercel wins the overall DX title. Dashboard, preview URLs, log viewer, and analytics integration are best-tuned for team workflows. Cloudflare has the deepest infrastructure but a learning curve. Netlify has a clean UI but trails on new feature adoption speed.

Full comparison table

Dimension Vercel Netlify Cloudflare Pages
Free bandwidth100GB100GBUnlimited
Paid starting$20/user/mo$19/user/mo$5/mo
Cold start~0ms (Fluid warm)150~3,000ms< 5ms
Next.js supportNative (full)Adapter (mostly)OpenNext (constrained)
Serverless billingActive CPU (Fluid)Credit-basedPer-request
Global PoPs40+ edge + AWS/GCPAWS/GCP/Azure 8 regions330+ PoPs
Commercial free useNot allowedAllowedAllowed
EcosystemNext.js + Vercel Postgres/KV/BlobForms, Identity, Split TestingKV, D1, R2, DO, Queues, Hyperdrive
Function timeoutHobby 10s / Pro 60s10s / per-functionWorkers 30s CPU
Build speed (Next.js)Fastest30~60% slower20% slower
DX / dashboardBestCleanDeep but learning curve
Egress costDeducts from bandwidthDeducts from bandwidthR2 $0

Recommendations and combining platforms

No reason to pick one and stick with it. Combining platforms often wins on both cost and performance.

Scenario Pick Why
Next.js full-stack SaaSVercel ProFluid Compute 95% savings, Cache Components/PPR native
Image/video hostingCloudflare Pages + R2Zero egress, 330+ PoPs for global low latency
Astro / SvelteKit projectsNetlifyAdapter ecosystem, built-in forms
Real-time collaboration / WebSocketCloudflare + Durable ObjectsOnly edge stateful solution of the three
Global TTFB mattersCloudflare330+ PoPs, largest edge network
Intermittent low-traffic siteVercel Fluid / CloudflareLow cold start; avoid Netlify
Personal project (no revenue)Vercel HobbyAll Next.js features free
Form-heavy marketing pageNetlifyForms built in, 100 submissions/mo free
AI inference / ML endpointsCloudflare Workers AIEdge execution, bundled model offerings

A common real-world split: static assets (images, CSS, JS, video) on Cloudflare Pages + R2 for zero egress, Next.js server logic on Vercel Pro with Fluid Compute savings, form intake on Netlify Forms. Just route subdomains correctly.

# Pattern A — Subdomain split (most common)
static.example.com → Cloudflare Pages (images, docs, heavy assets)
app.example.com → Vercel Pro (Next.js full-stack)
forms.example.com → Netlify (form intake)

# Pattern B — Cloudflare as front CDN, Vercel as origin
Cloudflare (CDN/WAF/DDoS)Vercel (serverless origin)
# → Cloudflare absorbs egress, Vercel handles execution only

# Pattern C — Full Cloudflare stack (AWS alternative)
Cloudflare Pages (front) + Workers (API)
+ D1 (DB) + R2 (files) + DO (realtime)
# → Full-stack infra starting at $5/month

FAQ

Q. How much does Vercel Fluid Compute actually save?

Per Vercel's official announcement, customers saw up to 95% cost savings across 45 billion weekly requests. Typical Next.js I/O-bound apps see a 30~50% reduction in function invocation count, with many case studies reporting over 50% total cost savings. A function doing 100ms of CPU work + 400ms of DB wait used to bill the full 500ms; Fluid bills only the 100ms. The more external API/DB calls your handlers make, the bigger the win.

Q. Which has the fastest cold start?

Cloudflare Workers — under 5ms. V8 Isolates architecture and Shard-and-Conquer hashing keep 99.99% of requests warm. Vercel Fluid Compute holds near-zero cold starts for active functions and cuts legacy serverless 250ms by ~25%. Netlify, running on AWS Lambda, has cold starts up to 3 seconds in benchmarks — the slowest. This matters most for intermittent-traffic sites.

Q. Where does Next.js full-stack run best?

Vercel — built by the Next.js team. Cache Components, PPR, Server Actions, ISR, Image Optimization, Middleware all work with zero config. Netlify supports most of it via adapter but ISR behavior differs and builds run 30~60% longer. Cloudflare Pages goes through OpenNext and inherits edge runtime constraints (some Node APIs blocked, ISR limited). If prioritizing latest Next.js features, Vercel is the only choice.

Q. What makes Cloudflare's ecosystem different?

Workers Paid at $5/month bundles Workers, Pages Functions, KV, Durable Objects, and Hyperdrive. KV for sessions/config, D1 for SQLite relational DB, R2 for S3-compatible storage with zero egress, Durable Objects for WebSocket/real-time collaboration/distributed locks/rate limiters. You can build a full stack without an external database. Equivalent AWS architecture typically runs $100+ more per month.

Q. What changed with Netlify's credit-based pricing?

Starting September 2025, new sign-ups moved to a unified credit system. Build time, function calls, and bandwidth all draw from one pool — harder to predict. Pro plan includes 500 credits; roughly 1 credit = 1 build minute / 1,000 function invocations / 1 GB bandwidth. Accounts created before September 4, 2025 can stay on legacy plans. For heavy-traffic sites where predictability matters, Vercel Pro or Cloudflare's flat fee is usually easier to budget.

Q. Can I mix all three?

Yes, and it's common. Static site on Cloudflare Pages for unlimited bandwidth, Next.js full-stack on Vercel, form intake on Netlify Forms. Just point subdomains at the right services. Using Cloudflare as a front-end CDN with Vercel as origin is another popular cost-saver. You avoid vendor lock-in while pulling the strongest feature from each platform.

Wrap-up

All three platforms are mature as of 2026. "Which is better" is the wrong frame — "which fits your stack" is the real question. Next.js → Vercel. Static site → Cloudflare Pages. Forms/adapter needs → Netlify.

The free tiers carry you a long way. Think about paid upgrades when traffic grows or you move to a team. Mixing platforms is a valid long-term strategy — domain-level separation beats vendor lock-in when you need to pivot.

Three trends worth watching as of April 2026: first, Vercel Fluid Compute now powers 75%+ of all Vercel Functions and has measurably dropped Next.js full-stack bills. Second, Cloudflare D1 has moved past GA with real production references, making AWS RDS replacement a concrete option. Third, Netlify's credit-based pricing is driving heavy users to reconsider. The right choice shifts each year — review your workload periodically.

Lazy Developer Series
Deployment platforms
on a real SaaS
Not just pricing — operating, debugging, and shipping through the full flow.
Browse the series →

Pricing and limits are based on each platform's April 2026 public pricing pages. Plans and policies change frequently — verify with official docs before committing.
GoCodeLab has no affiliate relationship with any of the services covered.

Share