Affiliate Reviews Hosting Reviews

Netlify vs Cloudflare Pages for Frontend Devs: Real Build Limits and Cost Test

June 29, 2026 10 min read 2 views

You've picked a framework, wired up a repo, and now you need somewhere to deploy. Both Netlify and Cloudflare Pages are "free" β€” until they aren't. The build minute caps, bandwidth rules, and edge compute pricing are buried deep in each platform's docs, and they hit you at different project stages in very different ways.

This article cuts through the marketing copy and shows you exactly where each platform shines, where it bites, and which one makes sense for your specific situation.

What you'll learn

  • How each platform's build pipeline works and where caching helps (or doesn't)
  • Exact free tier limits for build minutes, bandwidth, and sites
  • How edge functions differ between the two and what that means for your architecture
  • Where paid tier pricing diverges and when costs spike unexpectedly
  • Which platform fits solo projects, agencies, and growing SaaS products best

Prerequisites

This article assumes you're already comfortable with Git-based deployments, have a frontend project (React, Vue, Astro, plain HTML β€” it doesn't matter), and understand what a CDN is at a conceptual level. You don't need to have used either platform before.

How each platform builds and deploys your site

Both platforms pull from your Git repo, run a build command, and push the output to a CDN. That's where the similarities end.

Netlify runs builds on its own managed build infrastructure. You get a Linux environment, a build cache shared across deploys, and tight integration with Netlify's own ecosystem β€” forms, identity, split testing, and serverless functions are all first-party features. Every push to any branch triggers a deploy preview automatically.

Cloudflare Pages also builds from your repo, but the output lands on Cloudflare's global network β€” the same one running Cloudflare's CDN, Workers, and R2. Build infrastructure is separate from delivery infrastructure. Cloudflare Pages integrates directly with Cloudflare's storage and edge products, which matters a lot if you're already in that ecosystem.

One important architectural difference: Cloudflare Pages serves assets from its edge globally with no concept of a single origin. Netlify also uses a CDN, but historically its CDN reach has been smaller and some regions still see higher latency compared to Cloudflare's enormous point-of-presence footprint.

Free tier limits: where Netlify and Cloudflare Pages actually differ

Here's where developers get surprised. Both advertise a free tier, but the actual constraints are structured very differently.

Netlify free tier

  • Build minutes: 300 per month. That sounds comfortable until you have a monorepo with multiple sites, or a CMS that triggers a rebuild on every content change.
  • Bandwidth: 100 GB per month. Reasonable for low-traffic projects, but a single viral post or a site with large assets will burn through this fast.
  • Sites: Unlimited sites on the free plan.
  • Serverless functions: 125,000 invocations and 100 hours of compute per month.
  • Forms: 100 submissions per month β€” this one catches people off guard.
  • Concurrent builds: 1. Only one build runs at a time on the free tier.

Cloudflare Pages free tier

  • Build minutes: Effectively unlimited for most use cases β€” Cloudflare does not publish a hard monthly cap on build minutes at the free tier the way Netlify does.
  • Bandwidth: Unlimited. Cloudflare does not charge for bandwidth on Pages.
  • Sites: Up to 100 projects.
  • Concurrent builds: 1 on the free tier (same as Netlify).
  • Workers (edge functions): 100,000 requests per day on the free tier, shared with your Cloudflare Workers quota.

The bandwidth difference is the most significant real-world gap. Netlify's 100 GB/month cap is a hard wall β€” overage is charged per GB. Cloudflare Pages has no published bandwidth billing, which makes it genuinely better for asset-heavy sites or anything that might go viral.

Feature Netlify Free Cloudflare Pages Free
Build minutes/month 300 Uncapped (generous)
Bandwidth/month 100 GB Unlimited
Sites Unlimited Up to 100
Concurrent builds 1 1
Edge function requests 125K invocations/month 100K requests/day
Forms 100 submissions/month None (bring your own)

Build performance: speed, caching, and concurrent builds

Raw build speed depends heavily on your framework, but the build infrastructure has a measurable effect on cache hit rates and cold-start times for the build worker itself.

Netlify has invested heavily in its build cache. Node modules and framework-specific caches (Next.js, Gatsby build artifacts, etc.) are stored and restored between builds. On a warmed cache, an incremental Next.js build on Netlify is noticeably faster than a clean build. The caveat: cache restoration adds a few seconds up front, and if your dependency tree changes frequently, you'll bust the cache often anyway.

Cloudflare Pages also supports build caching, though it's been historically less mature. For most static site generators β€” Astro, Hugo, Eleventy, plain Vite builds β€” this doesn't matter much because builds are fast regardless. Where Netlify's caching advantage shows up most is in SSR-heavy frameworks that produce large build artifacts.

If you're running an agency managing multiple client sites and pushing changes across several repos simultaneously, the single concurrent build limit on both free tiers is painful. Netlify's Pro plan ($19/month per seat) unlocks 3 concurrent builds. Cloudflare Pages' paid plan ($20/month, flat rate) bumps you to 5 concurrent builds.

Edge functions and serverless: a different philosophy

This is where the two platforms diverge most sharply at an architectural level, and it's the decision that matters most for anything beyond a pure static site.

Netlify Functions are AWS Lambda under the hood. They run in a single region by default (us-east-1) unless you explicitly enable Edge Functions. Standard functions have cold starts. Netlify's Edge Functions run on Deno Deploy and execute at the edge globally β€” but the two runtimes have different APIs and deployment models, so you can't just swap one for the other.

Cloudflare Pages Functions are built on Cloudflare Workers. They run at the edge globally by default β€” there's no regional fallback, no cold start in the traditional sense (Workers use an isolate model that starts in microseconds), and the runtime is V8 isolates rather than Node.js or Deno. This means some Node.js-specific APIs are unavailable, but Cloudflare provides polyfills for many of them.

If you're building an API-heavy app where latency matters globally, Cloudflare Pages Functions have a structural advantage. If you're already comfortable with Node.js and want Lambda-compatible behavior, Netlify Functions are less surprising. For a deeper comparison of how this edge-vs-regional tradeoff plays out at the infrastructure level, the Vercel vs Fly.io cost and cold-start breakdown covers the same conceptual territory from a different angle.

Forms, redirects, and platform extras

Netlify ships a set of platform primitives that Cloudflare Pages deliberately does not include.

Netlify Forms let you add a hidden input to any HTML form and Netlify captures submissions without any backend. The free tier allows 100 submissions/month. It's genuinely useful for small contact forms, but the cap is low and the paid tier charges per submission in ways that add up. Most developers eventually replace it with a dedicated form service anyway.

Netlify Split Testing lets you serve different branch deploys to different percentages of traffic β€” simple A/B testing without any JavaScript SDK. It's baked into the free tier and surprisingly handy for content experiments.

Netlify Identity is a basic user auth service built on GoTrue. It covers simple use cases but doesn't scale well, and most production apps outgrow it quickly. If you're choosing between authentication tools for a more serious project, the Clerk vs Auth0 comparison is worth reading before you build on top of Netlify Identity.

Cloudflare Pages doesn't bundle any of these extras. Instead, it integrates with the broader Cloudflare platform: KV for key-value storage, R2 for object storage, D1 for SQLite-at-the-edge, Queues, and more. If you need forms, you reach for a third-party service. If you need auth, same story. This is a deliberate philosophy β€” Cloudflare Pages is a deployment and edge compute platform, not a feature bundle.

Pricing when you grow: where the cost cliffs are

Both platforms have a paid tier, but the upgrade economics are structured very differently.

Netlify Pro runs $19/month per member (team seat pricing). It includes 1,000 build minutes, 400 GB bandwidth, 3 concurrent builds, and higher function limits. The key gotcha: if you blow past the 1,000 build minutes, overage is billed per additional minute. A busy CMS-driven site with frequent rebuilds can rack up noticeable overage charges before you notice.

Cloudflare Pages paid tier is part of the Cloudflare Workers Paid plan at $5/month. Yes, $5 β€” it bundles 10 million Worker requests per day, access to more Cloudflare platform features, and 5 concurrent builds. The Cloudflare Pro plan at $20/month is for the full Cloudflare dashboard (WAF, analytics, security features) and isn't required just to unlock Pages paid features.

For most indie developers and small teams, Cloudflare Pages is dramatically cheaper at scale purely because bandwidth is unmetered and the edge compute quota on the paid plan is enormous relative to Netlify's function limits. The cost cliff comparison here is similar in shape to what you see in the Render vs Railway pricing traps analysis β€” the free tier looks identical but the upgrade paths diverge sharply.

One scenario where Netlify's pricing can still win: if you need multiple team members with access controls, per-seat pricing can be more predictable than paying for Cloudflare's higher-tier plans for team features.

Common pitfalls and gotchas

Here are the issues that actually trip people up after they've committed to one platform.

Netlify pitfalls

  • Build minute drain from CMS webhooks: If your headless CMS triggers a rebuild on every content save, you'll burn through 300 minutes in days on a content-heavy site. Set up a debounce or use on-demand incremental regeneration if your framework supports it.
  • Function cold starts at scale: Standard Netlify Functions run in a single AWS region. Global users will see latency. Use Edge Functions for latency-sensitive operations, but be aware of the Deno runtime differences.
  • 100 GB bandwidth cap surprise: A single image-heavy landing page that gets picked up on a popular forum can hit this in hours. Set up billing alerts or pre-provision a CDN in front.
  • Form spam: Netlify Forms has basic honeypot support but gets hammered by bots. Your 100 free submissions can disappear fast if you're not filtering.

Cloudflare Pages pitfalls

  • Workers runtime incompatibility: Node.js APIs that aren't available in the V8 isolate environment will throw at runtime, not at build time. Test your Pages Functions locally with Wrangler before deploying.
  • Build cache reliability: Cache restores are less consistent than Netlify's on complex monorepos. If you're seeing unexpectedly slow builds, check whether your cache keys are being busted unnecessarily.
  • No built-in forms or identity: If you're migrating from Netlify, anything that relied on Netlify Forms or Identity needs a replacement before you switch.
  • 100 project limit on free tier: Agencies managing many client sites will hit the 100-project cap on the free tier. Paid plan raises this significantly.
  • D1 and KV in Pages Functions are still evolving: The Cloudflare platform integrations work well, but the APIs and limits change more frequently than a mature hosted database. Pin your Workers SDK version and test after Cloudflare platform updates.

Wrapping up: which one should you pick

Neither platform is universally better β€” they optimize for different constraints. Here's the practical decision framework.

Choose Cloudflare Pages if:

  • You need unlimited bandwidth and your site could get heavy traffic spikes
  • You want edge compute that runs globally with no cold starts and a generous free quota
  • You're already using other Cloudflare products (R2, D1, Workers KV)
  • You're an indie developer keeping costs near zero on multiple projects

Choose Netlify if:

  • Your team uses CMS-driven previews heavily and needs reliable branch deploy previews with rich notifications
  • You want built-in primitives (forms, split testing, identity) without wiring up third-party services
  • Your stack is Next.js or Gatsby and you want mature build caching out of the box
  • You need per-seat access controls and a polished team dashboard

Concrete next steps:

  1. Deploy a copy of your current project to both platforms and compare build times on a real build.
  2. Check your last 30 days of traffic β€” if you're consistently over 80 GB, Cloudflare Pages' unlimited bandwidth is a meaningful saving.
  3. Audit which Netlify platform features you actually use (Forms, Identity, Split Testing). If the answer is none, there's little reason to pay for Netlify's pricing structure over Cloudflare's.
  4. If you're building edge-heavy features, prototype one function in each platform's runtime before committing β€” the Workers isolate model behaves differently enough from Lambda that it's worth validating your use case first.
  5. Set billing alerts on whichever platform you choose. Both free tiers have hard limits that are easy to hit silently.

Frequently Asked Questions

Does Cloudflare Pages really have unlimited bandwidth on the free tier?

Yes, Cloudflare Pages does not charge for bandwidth at any tier, including the free plan. This is one of the most significant practical differences from Netlify, which caps free tier bandwidth at 100 GB per month and charges overages beyond that.

How many build minutes does Netlify give you on the free plan?

Netlify's free tier includes 300 build minutes per month. This can disappear quickly if you have a CMS that triggers a rebuild on every content save, or if you're running multiple sites from the same account.

Can I run server-side code on Cloudflare Pages without upgrading to a paid plan?

Yes, Cloudflare Pages Functions run on Cloudflare Workers and are available on the free tier with a limit of 100,000 requests per day. The Workers isolate runtime has no cold starts, but it doesn't support all Node.js APIs, so you'll need to test your code against the V8 isolate environment.

Is Netlify still worth using if Cloudflare Pages is cheaper?

Netlify makes sense if you rely on its built-in features like Forms, Split Testing, or Identity, or if you need a polished team dashboard with per-seat access controls. For a solo developer or small team running straightforward static or SSR sites, Cloudflare Pages' pricing is hard to beat at scale.

What happens when you exceed Netlify's free build minutes?

Netlify pauses builds once you hit the 300-minute monthly cap on the free tier. On the Pro plan, builds continue but Netlify charges an overage rate per additional minute, which can accumulate quickly on content-heavy sites with frequent deploys.

πŸ“€ Share this article

Sign in to save

Comments (0)

No comments yet. Be the first!

Leave a Comment

Sign in to comment with your profile.

πŸ“¬ Weekly Newsletter

Stay ahead of the curve

Get the best programming tutorials, data analytics tips, and tool reviews delivered to your inbox every week.

No spam. Unsubscribe anytime.