Vercel vs Cloudflare vs Netlify in 2026: What a Small Site's Bill Actually Looks Like
Vercel, Cloudflare, and Netlify pricing broken down for a 50k-visit blog: included limits, real monthly math, and where the overage pain went.
If you host a small site or blog and you've been putting off a "pricing audit" since the bandwidth-scare posts of 2024–2025, here's the update: almost everything has changed, and mostly in the direction of predictability. Vercel rebuilt its CDN billing, Netlify threw out the 100 GB plan model entirely for a credit system, and Cloudflare kept quietly selling the same $5 plan that makes everyone else's math look nervous. I went through the official pricing pages in November 2026 and ran a realistic blog workload through all three. The answer for most solo devs is more boring than the internet memes suggest — but one of the three genuinely changed for the worse.
TL;DR
- A 50k-visits/month text-heavy blog runs on Vercel Hobby or Cloudflare Pages at effectively $0 — both fit far inside the free allowances (Vercel Hobby includes 100 GB transfer + 1M CDN requests; Cloudflare static asset requests are free and unmetered).
- Netlify's new plan changed, and not in your favor: accounts created after Sep 4, 2025 get 300 credits/month on the Free plan, where bandwidth costs 20 credits per GB — that's roughly 15 GB of traffic, not 100 GB. Legacy accounts (pre-Sep 2025) keep 100 GB.
- Vercel's bandwidth-spike anxiety mostly evaporated: Pro ($20/mo) now includes a Flat Rate CDN tier of 1M requests / 1 TB transfer at no extra cost, so a traffic spike just doesn't bill. The on-demand fallback rate is $0.15–$0.35 per GB depending on region.
- Cloudflare's model is structurally different: Workers/Pages Paid is $5/mo flat with 10M requests + 30M CPU-ms included, requests to static assets are free and unlimited, and there is no egress or bandwidth bill at all.
- ISR costs almost nothing on all three at blog scale — the real differential on Vercel remains per-seat pricing ($20/user/mo), not traffic.
- The edge cases that do bill: heavy image optimization on Vercel, build minutes on Netlify legacy plans, and busting Netlify's new credit cap.
What changed since the "bandwidth bill" era
The 2024–2025 horror stories about hosting bills (the famous "$104K Netlify invoice" thread, Vercel $0.15+/GB overage dread for going viral) were all about usage-based bandwidth. Three things happened since:
- Vercel moved CDN pricing to a Flat Rate model for Pro teams (GA in 2026): you buy a capacity tier, not per-GB. Exceeding your tier bumps you up a tier next cycle — a one-day viral spike does not bill. (Vercel docs, "Introducing Flat Rate CDN", as of Nov 2026.)
- Netlify switched all new accounts (from Sep 4, 2025) to credit-based plans with hard caps on the free tier. Legacy plans are frozen in place but closed to new signups.
- Cloudflare didn't really change — which is the news. Workers Paid stays at $5/mo and static asset serving stays unmetered.
The included allowances, side by side
All figures as of Nov 2026, from official pricing pages (links at the bottom). These are the numbers that matter for a small site:
| Resource | Vercel Hobby (free) | Vercel Pro ($20/mo) | Cloudflare Free | Cloudflare Paid ($5/mo) | Netlify Free (new credits) | Netlify Legacy Free | Netlify Legacy Pro ($19/seat) |
|---|---|---|---|---|---|---|---|
| Bandwidth / transfer | First 100 GB Fast Data Transfer | 1 TB (Flat Rate CDN tier, no extra) | Unlimited static assets | Unlimited (no egress charges, stated in docs) | ~15 GB (300 credits at 20 credits/GB) | 100 GB hard limit | 1 TB, then $55/100 GB |
| CDN / edge requests | First 1M | 1M (Flat Rate tier) | 100k Worker requests/day; static asset requests free | 10M/month, +$0.30/M | 2 credits per 10k requests | Included with bandwidth | +$0.30 (credits) per 10k |
| Function compute | 4 hrs Active CPU + 360 GB-hrs memory + 1M invocations | On-demand (Active CPU $0.128–$0.221/hr, invocations $0.60/M) via $20 credit | 10 ms CPU/request, 100k req/day | 30M CPU-ms/month, +$0.02/M CPU-ms | 10 credits per GB-hour compute | 125k invocations/site | 125k invocations/site |
| Builds | Basic build machine included | $0.007/build min (Basic) | 500 builds/mo (Pages) or 3,000 build min/mo (Workers Builds) | 6,000 build min/mo, then $0.005/min | 15 credits per production deploy | 300 build min hard limit | 25,000 build min |
| Overage model | Hard stop (no paid overage on Hobby) | Tier bump next cycle, then on-demand | Hard stop | On-demand metered | Hard cap; auto-recharge packs | Hard limit (Starter: $55/100GB, $7/500 min) | Metered |
A few notes on the surprises in that table:
- Vercel's rates are regional now. Fast Data Transfer on-demand is "$0.15–$0.35 per 1 GB" — the range is real and varies by region (sfo1 is cheaper than São Paulo). When you see $0.40/GB quoted in older 2025 comparisons, that's a stale number (Vercel regional pricing docs, updated Sep 2026).
- Cloudflare's "unlimited bandwidth" is the stated contract, not a marketing claim. The Workers pricing doc says it outright: "There are no additional charges for data transfer (egress) or throughput (bandwidth)", and footnote 3: "Requests to static assets are free and unlimited."
- Netlify bills deploys, not build minutes, on new plans. Each production deploy costs a flat 15 credits regardless of build length. On the Free plan's 300-credit budget, 8 deploys burn half your quota before a single visitor arrives.
What bills actually look like: a 50k-visit blog
Let's model a workload roughly like a solo tech blog — mostly static pages with ISR, images on a separate CDN bucket:
Workload assumptions (monthly):
visits 50,000
page views ~60,000 (some visitors read 2 pages)
total HTTP requests ~120,000 (HTML + scripts + static assets)
egress ~40 GB (text-heavy pages, optimized images)
builds ~12 (weekly deploys, ~3 min each on average)
ISR 4 new/updated posts → ~100 regeneration invocations,
~120k cache-hit reads
idle compute none (all three stop billing between requests)
Vercel
Hobby (free): 40 GB < 100 GB included; 120k requests < 1M included. Function usage is noise against 1M invocations and 4 Active CPU hours. Build machine included. Bill: $0. The catch isn't bandwidth — it's that Hobby's Fair Use Guidelines are for personal, non-commercial use, so a site with ads or affiliate revenue is technically out of bounds, and there is no paid overage: hit the cap, the site stops until the usage resets.
Pro ($20/mo): With Flat Rate CDN enabled (Pro includes the lowest tier at no extra cost), the entire 40 GB / 120k requests workload sits inside 1 TB / 1M requests — $0 of CDN usage billed. Function on-demand charges at iad1 rates: ~100 ISR invocations × $0.60/M ≈ $0.00006; a few hundred milliseconds of Active CPU per regeneration ≈ pennies; ISR read/write units (~0.12M reads × $0.40/M) ≈ $0.05. Everything fits inside the included $20 monthly usage credit regardless. Bill: $20.00 flat. Even a 10× traffic spike stays at $20 — that's the entire point of the tier model, and it's what killed the 2024-era overage anxiety. The things that still surprise people on Vercel are image optimization transformations ($0.05–$0.0812 per 1K beyond the 5K/month Hobby include) and per-seat pricing if the "team" grows to two deployers.
Cloudflare Workers/Pages
Free: Static assets are free with no request or bandwidth limit; 120k requests is a rounding error against 100k requests per day. Pages builds allow 500/month (existing Pages) — fine for 12 deploys. Bill: $0.
Paid ($5/mo): Even a dynamic Workers-backed site serving all 120k requests with ~7 ms average CPU (Cloudflare's own example math) uses 1.2% of the included request quota and 2.8% of included CPU time. Bill: $5.00, and the bill cannot get bigger from bandwidth no matter how much the site goes viral — there is no bandwidth line item on the invoice. If you host images on R2 (as many blogs now do), egress is also explicitly free: storage $0.015/GB-month, Class B reads $0.36/M. The one structural caveat: if your stack expects Vercel-specific platform features, "compatible" adapters for Next.js ISR/fluid-style rendering exist but charge CPU time per render — still practically free at 120k requests/month (7 ms × 120k = 840 CPU-seconds = 2.8% of the 30M ms included allotment at once).
Netlify
Here's where the three paths diverge hard by account age:
Legacy account (Free tier, pre-Sep 2025): 40 GB < 100 GB included; 300 build minutes covers 12 deploys easily. Bill: $0. Legacy Pro at $19/seat (1 TB, 25k build minutes) is far more than a blog will ever touch. These plans are closed to new accounts but not going away.
New credit-based account (any signup after Sep 4, 2025): The Free plan is a 300-credit hard cap. Bandwidth at 20 credits/GB means 15 GB of traffic eats the entire month — a 40 GB blog needs 800 credits just for bandwidth. Production deploys are 15 credits each: 12 deploys = 180 credits. This workload on Free is over-budget by ~2.3× before any visitor loads a second page. Your realistic options, at official rates ($0.01/credit on Personal auto-recharge packs at 500 credits/$5; $0.00667/credit on Pro packs):
- Personal, $9/mo: includes 1,000 credits. Workload cost: 800 (bandwidth) + 180 (deploys) + ~24 (120k web requests at 2/10k) + minimal compute = ~1,004 credits — just over, so expect one $5 auto-recharge pack some months. Effective bill: $9–$14/mo.
- Pro, $20/mo: includes 3,000 credits, and the workload uses ~1,004 — comfortable, with headroom for a 3× traffic spike or more. Effective bill: $20.00 flat, and note Pro includes unlimited members (the $19 legacy seat fee went away).
The uncomfortable summary: for a new account, yesterday's Netlify free option (100 GB) became today's ~$9–14/month plan for the same site. That's the single biggest change in this comparison.
Decision matrix
| Your situation | Best pick | Why |
|---|---|---|
| Solo dev, static or light-ISR site, goal = $0, no monetization yet | Vercel Hobby or Cloudflare Pages (free) | Both absorb the workload inside allowances. Cloudflare if you might exceed limits viral-style (unmetered static + egress); Vercel for the smoothest Next.js workflow. |
| Monetized blog (ads/affiliate) on Next.js | Vercel Pro | Hobby's Fair Use excludes commercial use; Pro is $20 flat with the 1 TB tier making traffic irrelevant to the bill. |
| Monetized site, budget is the constraint | Cloudflare Workers Paid | $5/mo flat, no bandwidth line item at all, egress-free even for assets on R2. Costs more migration effort for Next.js platform features. |
| New Netlify account for a small site | Personal ($9/mo) minimum | The 300-credit Free plan is tuned for prototypes, not sustained traffic; bandwidth is the meter you'll hit first. |
| Existing legacy Netlify account | Stay legacy | Legacy Free/Starter/Pro still trump the credit plans for bandwidth-heavy workloads. (Note: downgrading plan type is one-way — you can't revert to Legacy once switched.) |
| Viral-spike paranoia above all | Cloudflare free tier | Unmetered static assets + unlimited bandwidth is the only offer where a spike cannot appear on any invoice, on any plan. |
Wrap-up
- The 2026 bills for a blog-sized site are flat and small on all three platforms — $0 (Vercel Hobby/Cloudflare Free), $5 (Cloudflare Paid), ~$9–14 (Netlify Personal) or $20 (Vercel Pro/Netlify Pro). The old "bandwidth overage" dread is largely obsolete except on one specific path: a new-account Netlify Free plan, where 15 GB of traffic is the hard wall.
- Per-platform truth to remember: Vercel's costs scale with seats and platform features, not traffic; Cloudflare's costs scale with Worker CPU, not traffic; Netlify's new costs scale with credits, where bandwidth is the most expensive line (20 credits/GB) and each production deploy is a fixed 15-credit toll.
- Before deciding, price your own worst month, not your average one: multiply your busiest-month transfer by the per-GB on-demand rates ($0.15–0.35 Vercel, $0.13/GB Netlify at Pro pack rates, $0 Cloudflare) — the platform with the smallest "worst month" number is the right one for a monetized personal site.
Sources
All figures verified against official pages, Nov 2026:
- Vercel: Pricing on Vercel (docs)
- Vercel: Regional Pricing (docs)
- Vercel: Flat Rate CDN (docs)
- Vercel: Fluid compute pricing (docs)
- Vercel: Pro Plan (docs)
- Cloudflare: Workers Pricing (docs, updated Oct 2026)
- Cloudflare: Workers Builds limits & pricing (docs)
- Cloudflare: Pages limits (docs)
- Netlify: Pricing and Plans (official pricing page)
- Netlify: Legacy pricing plans (docs)