IBRAVRA Media Network
Website & Hosting • 13 min read

Vercel vs Netlify vs Cloudflare Pages: Frontend Hosting Pricing, Worked Per Gigabyte

Three hosts, three meters: Vercel sells a seat plus a usage credit, Netlify sells credits, Cloudflare charges a flat 5 dollars and gives away delivery. This guide prices the same 500 GB, 2 million-request month on all three, with build and function meters included.

By Enow A. Jovial • Published 2026-11-05

Three hosts, three pricing philosophies

Vercel, Netlify, and Cloudflare Pages all deploy a frontend from Git in minutes, and all three host a marketing site for free. The bills diverge the moment the site grows, because each vendor meters a different thing. Vercel sells a seat plus a usage credit, then bills resources on demand at regional rates. Netlify sells credits: every gigabyte, request, and production deploy consumes credits from a monthly pool, and the pool is the bill. Cloudflare charges almost nothing for hosting itself — no egress charge, static asset requests free and unlimited — and a flat $5 minimum for the Workers platform behind its dynamic features. Pick the vendor whose meter matches your traffic shape, because the meter is the price.

At a 500 GB, 2 million-request month with 40 production deploys, the three bills are $73.33 on Netlify Pro, $5 on Cloudflare Workers Paid, and $20 plus CDN usage on Vercel Pro — and the spread is the meter, not the marketing. Bandwidth-heavy static sites are Cloudflare's home turf; Next.js-native teams pay Vercel for the integration; Netlify's credit pool punishes bandwidth first and everything else second.
Netlify's credit meters: 15 credits per production deploy, 10 credits per GB-hour of compute, 20 credits per GB of bandwidth, 2 credits per 10,000 web requests
Netlify's credit meters: 15 credits per production deploy, 10 credits per GB-hour of compute, 20 credits per GB of bandwidth, 2 credits per 10,000 web requests

Who this guide is for, and who should stop here

This guide is for a founder or lead engineer choosing hosting for a marketing site, docs site, blog, or Next.js application with server-rendered pages and light API routes — the workload all three vendors are built for. It assumes Git-based deploys, preview deployments per pull request, and a custom domain with SSL. It is written for teams from a solo founder to a small engineering org, pricing one production site with one seat unless stated otherwise.

It is not for a persistent backend: databases, queues, long-running workers, and stateful servers belong on a backend platform, not a frontend host, and none of the math below prices them. It is also not for a team that needs a contractual uptime SLA on day one — that is an Enterprise conversation on all three vendors, and the self-serve prices below do not include it.

The plan ladders, side by side

VendorFree tierFirst paid tierWhat the paid tier buysAuthority
VercelHobby, $0, personal non-commercial use onlyPro, $20 per monthA $20 monthly usage credit, then on-demand pricing; Flat Rate CDN as an alternative to usage-based CDN billingVercel pricing page and pricing docs
NetlifyFree, $0, 300-credit monthly limitPersonal, $9 to $15 per month; Pro, $20 to $25 per month with unlimited membersCredit pools: 1,000 on Personal, 3,000 to 20,000 on Pro; add-on credits when auto recharge is enabledNetlify pricing page
CloudflareWorkers Free, $0Workers Paid, $5 per month minimum per accountPages Functions billed as Workers; no data-transfer or throughput charges at any tierCloudflare Workers pricing docs

Read the free tiers as what they are: evaluation tiers with ceilings, not production tiers at $0. Vercel's FAQ states Hobby is for personal, non-commercial use, and Hobby accounts are limited to usage caps and cannot purchase additional usage — a commercial site that outgrows Hobby hits a wall and must upgrade. Netlify's Free tier is a 300-credit limit: spend the credits and the meter stops you. Cloudflare's Free plan includes limited Workers and Pages Functions usage, with daily limits that fail requests when exceeded. A launch plan budgeting $0 past the free tier has a shutdown date built in.

The meters that actually bill

MeterVercelNetlifyCloudflare
Bandwidth / data transferFast Data Transfer, regional usage-based rates on Pro; Flat Rate CDN tier available20 credits per GBNo charge: no egress or throughput charges; static asset requests free and unlimited
RequestsCDN Requests, regional rates on Pro; 1 million included on Hobby2 credits per 10,000 web requestsPaid: 10 million included per month, then $0.30 per additional million; Free: 100,000 per day
Production deploysUnlimited deployments; builds metered by CPU minutes15 credits per production deploy; deploy previews unlimitedBuilds are not a per-deploy meter on the Workers pricing page
Build minutesBasic machines $0.007 per build minute on paid teams; duration rounded up to the nearest minute, multiplied by CPUsNot metered by credits; concurrency is the constraint (1 build on Free, 3 on Pro, then $40 each additional)Not a per-minute meter on the Workers pricing page
Functions / computeFluid Active CPU: 4 hours included on Hobby; provisioned memory 360 GB-hours on Hobby; 1 million invocations on Hobby; Pro on demand, regional10 credits per GB-hour of computeCPU time: 30 million milliseconds included per month, then $0.02 per additional million; 10 ms per invocation on Free
Seats1 paid seat included on Pro; $20 per month per additional paid seatPro includes unlimited membersAccount-level plan, not per-seat

Two rows deserve emphasis. First, Vercel's CDN rates are regional — no single per-gigabyte figure exists for a comparison table. Vercel's own docs table lists Fast Data Transfer as "Regional" for Pro, with "Flat Rate CDN" as the alternative. Any article quoting one Vercel CDN price without a region is inventing it. Second, Netlify's credit model converts every meter to dollars at one rate: Pro add-on credits cost $10 per 1,500 credits, so one credit costs $0.00667 at the margin. That conversion is what makes the worked math below reproducible.

Worked math: the tiny site, where all three cost $0

Profile: 10 GB of bandwidth, 100,000 requests, 2 production deploys, 1 seat, static site.

  • Netlify: bandwidth 10 × 20 = 200 credits; requests 100,000 / 10,000 × 2 = 20 credits; deploys 2 × 15 = 30 credits. Total 250 credits, inside the Free tier's 300-credit limit. Bill: $0.
  • Vercel: 10 GB inside Hobby's first 100 GB of Fast Data Transfer; 100,000 requests inside Hobby's 1 million CDN requests. Bill: $0, for a non-commercial project.
  • Cloudflare: 100,000 requests in a month inside the Free plan's 100,000-per-day allowance, and static asset requests free and unlimited. Bill: $0.

The lesson is not that hosting is free: the three free tiers converge at tiny scale and diverge immediately after it. At this scale, decide on framework, workflow, and deploy experience, because the price difference is zero and the later migration cost is not.

Worked math: the growing site, where the meters bite

Profile: 500 GB of bandwidth, 2 million requests, 40 production deploys, 120 build minutes, 1 seat, static site with light functions.

Netlify, in credits first:

Netlify Credits=(500×20)+(2,000,00010,000×2)+(40×15)=10,000+400+600=11,000\text{Netlify Credits} = (500 \times 20) + \left(\frac{2{,}000{,}000}{10{,}000} \times 2\right) + (40 \times 15) = 10{,}000 + 400 + 600 = 11{,}000

Pro includes 3,000 credits, so 8,000 credits must be bought as add-ons:

Add-On Cost=8,000×$101,500=$53.33\text{Add-On Cost} = 8{,}000 \times \frac{\$10}{1{,}500} = \$53.33
Netlify Total=$20+$53.33=$73.33 per month\text{Netlify Total} = \$20 + \$53.33 = \$73.33 \text{ per month}

Cloudflare, on Workers Paid:

Cloudflare Total=$5.00\text{Cloudflare Total} = \$5.00

Requests (2 million) sit inside the 10 million monthly inclusion, static assets are free and unlimited, and there is no egress charge to add. A purely static site is covered by Free at $0 within its daily limits — but a site with functions exceeding Free's 100,000 requests per day belongs on Paid, and $5 is the honest budget.

Vercel, on Pro:

Build Cost=120×$0.007=$0.84\text{Build Cost} = 120 \times \$0.007 = \$0.84

That $0.84 sits inside Pro's $20 monthly usage credit, so the seat and the builds together cost $20 before CDN usage. CDN usage beyond the credit is billed at regional rates Vercel does not publish as a single figure, or replaced by a Flat Rate CDN tier at a fixed monthly capacity price. The honest Vercel total is therefore $20 plus CDN usage beyond the credit — or $20 plus the Flat Rate tier — and any article giving a single Vercel total for a bandwidth-heavy site without naming the region or the tier is guessing at the largest line item.

Cloudflare's Workers Paid plan: a $5 monthly minimum, no data-transfer charges, Pages Functions billed as Workers, 10 million requests included
Cloudflare's Workers Paid plan: a $5 monthly minimum, no data-transfer charges, Pages Functions billed as Workers, 10 million requests included

Builds, concurrency, and the queue you feel

Bandwidth decides the monthly bill; builds decide the daily experience. Vercel prices Basic build machines at $0.007 per build minute on paid teams, with duration rounded up to the nearest minute and multiplied by the machine's CPU count. Vercel's own example: a build taking 2 minutes 34 seconds on an Enhanced machine (8 CPUs) bills at 3 minutes × 8 CPUs × $0.0035, which equals $0.084. Short, frequent builds are cheap; long, CPU-heavy builds compound through the multiplier, which is why cutting build time beats negotiating price.

Netlify does not meter builds in credits at all — it meters concurrency. Free and Personal allow 1 concurrent build, Pro allows 3, and each additional concurrent build costs $40. A team merging five pull requests at once on Pro waits in a queue of three; the fix is a $40 concurrency purchase, not a bigger credit pool. Cloudflare's Workers pricing page carries no per-minute build meter either, shifting the comparison back to bandwidth and functions, where Cloudflare already wins for static sites.

Functions: the second meter, priced three ways

A site with API routes, form handling, or edge rendering pays a second bill, metered differently by each vendor. Cloudflare's model is the most transparent: 10 million requests and 30 million CPU milliseconds included on Paid, then $0.30 per additional million requests and $0.02 per additional million CPU milliseconds, with no charge for duration beyond CPU time and no egress charge. A function-heavy site can be priced from its own logs with those two rates.

Vercel's Fluid compute meters Active CPU — the time function code actively consumes — with 4 hours included on Hobby and on-demand regional pricing on Pro, plus provisioned memory at 360 GB-hours on Hobby. The meter rewards short, cacheable functions and punishes long-running ones: cache at the edge, and the function meter falls with the invocation count. Netlify meters compute at 10 credits per GB-hour, which converts at the Pro add-on rate to $0.0667 per GB-hour — letting a team compare function cost directly against the bandwidth line in the same credit pool.

Decision matrix: which host for which site

SiteFirst choiceWhy it winsAuthority
Static marketing site, docs, or blog with real trafficCloudflare Pages$5 Paid or $0 Free; no egress charge; static requests free and unlimitedCloudflare Workers pricing docs
Next.js application with server components, ISR, and Vercel integrationsVercel ProNative framework integration; $20 seat plus $20 credit; Flat Rate CDN removes the regional CDN meterVercel pricing page and docs
Team that wants one credit pool and deploy-preview workflow, moderate trafficNetlify ProUnlimited members; 3 concurrent builds; credit math is fully reproducibleNetlify pricing page
Tiny non-commercial side projectAny free tier, by workflowAll three are $0 at the tiny profile; framework and DX decideAll three pricing pages
Bandwidth-heavy media or download siteCloudflare PagesBandwidth is the meter that breaks the other two billsCloudflare Workers pricing docs

Founder & CEO Insight — Enow A. Jovial

"Founders pick a host by its homepage and discover its meter. The meter is the product: Cloudflare charges for compute and gives away delivery, Netlify charges for everything through one pool, Vercel charges for the seat and lets usage follow. Price your traffic shape — gigabytes, requests, deploys — before you price the logo, because the shape is the bill." For the observability fork, the Datadog versus Grafana Cloud versus New Relic observability pricing playbook runs the same workload through all three meters.
— Enow A. Jovial, Founder & Chief Executive Officer

Operator boundaries

This comparison fits frontend hosting. It does not fit a team needing a database with the site: pair any host with a backend platform and price that separately, because none of the bills above includes one. It does not fit a team needing a dedicated environment, a signed BAA on a self-serve tier, or a contractual SLA — Vercel lists HIPAA BAA as a $350-per-month Pro add-on and SAML SSO at $300 per month, which marks where self-serve ends and enterprise begins. And it does not fit a team treating the free tier as production: Hobby's non-commercial restriction, Netlify's 300-credit limit, and Cloudflare's daily Free limits are hard ceilings, not soft warnings.

Netlify's add-on credits are available when auto recharge is enabled, and the pricing page notes auto recharge is disabled by default. A team that budgets add-on credits without enabling auto recharge will hit the credit limit mid-month and discover the deploy queue stopped, not slowed. Enable the recharge before launch week, or buy the larger Pro credit tier up front.

Cross-border note: all three vendors serve globally from edge networks, and none of the prices above varies by visitor country — the bill follows the account's plan and usage, not the audience's geography. Data residency is an enterprise feature on all three, not a self-serve toggle.

Before migrating, run one month of your real traffic through the credit formula: gigabytes × 20, requests ÷ 10,000 × 2, production deploys × 15. If the total fits inside 3,000 credits, Netlify Pro at $20 is honest; if bandwidth alone exceeds 10,000 credits, Cloudflare's $5 platform fee is the number to beat.
  • [x] Phase 1: Meter your site — Pull last month's bandwidth, requests, deploys, and build minutes from your current host's analytics.
  • [x] Phase 2: Run all three formulas — Price the same profile on Netlify credits, Cloudflare Paid, and Vercel's seat-plus-credit model, naming the CDN assumption for Vercel.
  • [x] Phase 3: Test the free tier honestly — Confirm the project qualifies: non-commercial for Vercel Hobby, inside 300 credits for Netlify Free, inside daily limits for Cloudflare Free.
  • [x] Phase 4: Set the guardrails — Enable Netlify auto recharge or buy the larger tier, set Vercel's on-demand budget (default $200), and confirm Cloudflare Paid if functions exceed Free daily limits.

Related reading on this site: the CDN pricing guide for per-gigabyte delivery rates, the edge functions comparison for the compute layer behind these hosts, and the headless WordPress vs Next.js guide for the architecture these hosts deploy, and the Docker vs Kubernetes vs Amazon ECS container deployment pricing guide for the container layer behind the frontend. Budget the full build with the website cost calculator.