DEV Community

Conor Dobbs
Conor Dobbs

Posted on • Originally published at tools.thesoundmethod.me

Cloudflare vs Vercel for a SaaS in 2026 — which one I actually picked

Heads up: this post contains affiliate links to the two platforms it compares. I link both. I pay for both. The recommendation is the same one I'd give a friend over coffee. If the affiliate rate changed tomorrow the article wouldn't.

i run production workloads on both Cloudflare and Vercel. currently I have a SaaS on Cloudflare (Workers + D1 + Pages) and a marketing/landing-page stack on Vercel (Next.js 15 App Router). here's what shipping both taught me.

The short version

for a new SaaS in 2026, my default is Cloudflare Workers + D1 + Pages. the reasons aren't what the marketing pages emphasize.

for a content-heavy site that needs SSR, image optimization, and a fast deploy cycle, my default is Vercel. their developer experience for Next.js is unmatched.

Where Cloudflare wins

Cost predictability. Workers has a known per-request price. D1 reads and writes have known per-operation pricing. R2 has zero egress fees. you can build a SaaS that handles 100k requests a day and predict the bill within a few dollars. Vercel bills can spike in a single deploy if a function loop misbehaves. I've watched both happen.

Global by default. Workers run at the edge in 300+ locations without configuration. Vercel's edge functions exist but cost more and have stricter runtime limits.

Zero-egress storage. R2 is S3-compatible without the egress bill. for any product that serves user-uploaded files, this is a >10x cost difference vs putting them in S3 behind Vercel.

The integrated stack means less glue. Workers, D1, KV, R2, Queues, Durable Objects, Email Routing. all in one dashboard, billed together. Vercel has integrations with external services but you're still managing 5 dashboards.

Where Vercel wins

Next.js DX. Vercel built Next.js. the deploy story is one git push and everything works. App Router, server components, ISR, image optimization, font subsetting, configured optimally without you knowing. Cloudflare Pages can host Next but the integration is less seamless.

Preview deployments per pull request. better than Cloudflare's equivalent. the preview URL is shareable, the env is automatically a non-prod copy, the GitHub PR comment integration is useful.

Build toolchain. build logs are readable. build failures are debuggable. cache hits are reported clearly. Cloudflare's build experience has improved, but Vercel still leads.

If your stack is React-and-React-only. Vercel's optimizations assume Next.js or Remix. if you write SvelteKit or Astro on Vercel, you're paying full price for tooling you don't use.

The pricing reality

for a SaaS with ~100k requests/day, ~1GB egress, light DB use:

  • Cloudflare: free tier covers most of this. Workers Paid plan ($5/mo) gets unlimited script invocations and bound resources. add ~$5-15/mo for D1 + R2 storage. realistic monthly: $10-25.
  • Vercel: Hobby tier won't work for commercial use (their AUP). Pro starts at $20/seat/mo. add per-execution function pricing, ISR cache, image optimization. realistic monthly: $30-100+ depending on traffic.

the 3-5x cost difference at this scale is real, and it widens with scale (Vercel's per-execution and bandwidth pricing gets ugly).

Workers vs Vercel Functions specifically

Cloudflare Workers run on V8 isolates. they cold-start in <5ms. their runtime is limited to web APIs plus Workers-specific bindings. no Node-built-in modules unless you opt in via nodejs_compat.

Vercel Functions run on AWS Lambda + Node.js 20. they cold-start in 200-1500ms depending on bundle size. full Node ecosystem available.

writing a thin API: Workers wins on latency and cost. using a Node library that doesn't work on V8 isolates (some ORMs, native modules, anything that touches fs): Vercel.

How I'd actually pick

pick Cloudflare if any of these are true:

  • you're cost-sensitive (early-stage, indie hacker, side-project scaling up)
  • you serve user-uploaded files (R2 zero egress matters)
  • you need global low-latency from day 1
  • your backend can be written in TypeScript without Node-specific deps

pick Vercel if any of these:

  • you're building a Next.js app and want the smoothest DX
  • your team is React-experienced and doesn't want to learn Workers patterns
  • you need preview deployments per PR with shareable URLs
  • you're willing to pay for DX

What I do

i use both. the SaaS backend lives on Cloudflare (cost + global + the D1+R2 integration is too good to pass up). the marketing landing pages, blog, and dev portfolio live on Vercel (Next.js + Vercel is the smoothest deploy story I've used).

i treat them as complementary, not competitive. the mistake people make is picking one for everything because they read an "X vs Y" article and went all-in.


If you want more of these, I write production-use comparisons at tools.thesoundmethod.me — no vendor PR, just what I'd tell a friend.

Top comments (0)