Comparison

Cloudflare or Vercel? Follow the egress line item

The verdict

If the bill matters, pick Cloudflare. Bandwidth is unlimited on every tier and egress is free at any volume; Workers Paid is 5 dollars a month including 10 million requests, then 30 cents per additional million. If day-one Next.js support matters more than the bill, pick Vercel. Pro is 20 dollars per seat per month with a matching usage credit, 1 TB of bandwidth and 6,000 build minutes, then 15 cents per GB. At a mid-sized profile - roughly 250,000 visitors, 5 million API requests and three seats - one published comparison put Vercel near 305 dollars a month against about 15 dollars on Cloudflare Workers. That is the whole argument, and it is structural rather than promotional.

One important 2026 change: Cloudflare Workers reached full parity with Pages for static assets, server rendering and custom domains in March, and Cloudflare's own guidance is now to start new projects on Workers rather than Pages. Existing Pages projects stay supported with no forced migration deadline, but every new platform feature ships to Workers first. On the Vercel side, Fluid compute with Active CPU pricing changed the cost model significantly by billing execution rather than wall-clock time.

Vercel vs Cloudflare on price, platform and lock-in

Published prices below were current in mid-2026 and both vendors change them. Verify against the live pricing pages before you commit a budget; the ratio between the two has been stable even when the absolute numbers moved.

Dimension Vercel Cloudflare
Base plan Pro at 20 dollars per developer per month, including a 20 dollar usage credit, 1 TB bandwidth and 6,000 build minutes. Workers Paid at 5 dollars per month for the account, not per seat, including 10 million requests.
Bandwidth 15 cents per GB above the included 1 TB. This is the line item that surprises people. Unlimited on every tier, including free. Zero egress charges at any volume.
Compute pricing Fluid compute bills Active CPU at 0.128 dollars per hour plus 0.0106 per GB-hour of memory. Waiting on a database is not billed as CPU. 30 cents per million requests beyond the included 10 million, plus CPU time. Simple to forecast.
Next.js support First party. Cache Components, Partial Prerendering and on-demand revalidation work the day they ship. Works through the OpenNext adapter and improved a lot, but new Next features arrive here second.
Platform primitives Blob, Edge Config, and a marketplace that provisions third-party databases on your Vercel bill. D1, R2, KV, Durable Objects, Queues, Workers AI and Hyperdrive, all first party and on one bill.
Function limits 300 seconds default on all plans, with an opt-in 1800 second maximum in beta for Pro and Enterprise. Short CPU budgets per request by design. Long jobs belong in Queues or Durable Objects, not in the request path.
Exit cost Low for a static or standard Next app; higher once ISR, Edge Config and image optimization are load-bearing. Low for static; high once D1, Durable Objects or R2 hold your data, because those have no drop-in equivalent.

When each platform is the right call

Choose Cloudflare when

  • You serve real bandwidth: media, downloads, large images, or a public API with chatty clients.
  • You want the database, object storage, queue and cache from one vendor on one invoice with no egress between them.
  • The team is larger than three people, because Cloudflare does not charge per seat and Vercel does.
  • You are on Astro, which Cloudflare acquired in January 2026, or any framework-agnostic static build.
  • Latency to a global audience matters and you want compute in hundreds of locations rather than a handful of regions.

Choose Vercel when

  • You run Next.js and want every new framework feature working on the day it is announced, with no adapter in between.
  • Preview deployments are part of how your team reviews work. Vercel's is still the best implementation of that workflow.
  • Traffic is modest enough that the included 1 TB covers you, which is a lot of pages for a small product.
  • You need a function that runs for minutes, where Vercel's 300 second default and 1800 second option beat a Worker CPU budget.
  • Engineering time costs more than hosting, which for a funded team of three or four is usually the correct read.

Reading the bill before it arrives

The bandwidth difference is not a promotional trick that will be withdrawn later. Cloudflare owns the network and treats transit as the cost of running the business it is actually in, so unlimited egress follows from the model rather than from a marketing decision. Vercel resells cloud infrastructure it does not own and has to price egress accordingly. Understanding that is the difference between expecting Vercel to match the price eventually and planning as though it never will.

Vercel's Fluid compute deserves credit as a genuine improvement, though. Active CPU pricing bills the time your code is executing rather than the time your function is alive, so a handler that spends 400 ms waiting on a database and 100 ms processing is charged for the 100 ms. For I/O-bound API routes, which is most of them, that is a large reduction over the old duration-based model. It does not close the bandwidth gap, but it makes the compute half of the bill competitive.

The honest cost on Cloudflare's side is the Next.js tax. Running Next.js through the OpenNext adapter works and keeps improving, and the Build Adapters API introduced in Next.js 16 made non-Vercel hosting a supported path rather than a hack. It is still second in line for new features, and if your team plans to adopt Cache Components or Partial Prerendering the week they ship, you will be waiting or debugging. Teams on Astro, SvelteKit, Nuxt, or a plain static build never encounter this and should weight the bandwidth argument much more heavily.

One practical note for anyone starting today: build for Workers rather than Pages. Workers reached feature parity in March 2026 and is where new capability lands, so choosing Pages for a new project means choosing the slower-moving of the two products for no benefit. Pricing pages are at vercel.com and cloudflare.com, and both are worth checking against your own traffic shape rather than a preset in someone else's calculator.

Where this fits in a full stack

The hosting and deploy layer covers Netlify, Render, Fly.io and the container platforms this comparison skipped. For a content site where hosting cost is most of the operating budget, the static and content site stack guide makes the call in context.

For a product with a login, a database and a billing integration, the SaaS stack guide weighs hosting against the rest of the build. Other close calls are collected in the comparisons index.