Netlify vs Cloudflare Pages: Which Should You Use in 2026?
A practical comparison of Netlify and Cloudflare Pages/Workers for teams hosting static sites, JAMstack apps, and serverless functions — pricing, features, and migration steps.
Updated 2026-09 · 2026
Netlify
Git-based deploys and serverless functions for JAMstack sites
Strengths
- +Best-in-class developer experience for Git-based deploys
- +Built-in Forms, Identity, and Split Testing without extra setup
- +Deploy previews for every pull request out of the box
Weaknesses
- -Pro plan is priced per seat, gets expensive as team grows
- -Bandwidth and build minutes overages are costly
- -Less native security/CDN tooling compared to Cloudflare
Best for
Small teams and agencies who want the fastest path from Git repo to live site with minimal config.
Cloudflare
Global edge network with Pages, Workers, and built-in security
Strengths
- +Extremely generous free tier for static sites and edge functions
- +Fastest global edge network (300+ locations)
- +Built-in DDoS protection, WAF, and DNS included free
Weaknesses
- -No built-in form handling or identity/auth service
- -Workers runtime requires rewriting Node-style functions
- -Steeper learning curve for teams not used to edge computing
Best for
Teams that already use Cloudflare for DNS/security and want to consolidate hosting while cutting costs at scale.
Feature Comparison
| Feature | ||
|---|---|---|
| Free tier build minutes | 300 min/month | Unlimited builds (500/month cap) |
| Serverless functions | Netlify Functions (AWS Lambda-based) | Cloudflare Workers (V8 isolate-based) |
| Function cold starts | Noticeable on free tier | Near-zero (edge isolates) |
| Built-in form handling | Yes (Netlify Forms) | No — needs third-party or custom Worker |
| Deploy previews for PRs | Yes, native | Yes, native |
| CDN/edge locations | ~ dozens of regions via AWS/CDN partners | 300+ edge locations globally |
| Built-in DDoS/WAF | Not included, needs add-on | Included free on all plans |
| DNS management | Netlify DNS (basic) | Full authoritative DNS with advanced records |
| Identity/auth service | Netlify Identity (built-in) | Not included, use Access or third-party |
| Custom domains on free plan | Yes | Yes, unlimited |
| Pricing model | Per-seat (Pro $19/user/mo) | Usage-based (Workers Paid $5/mo flat + usage) |
| Split testing / A-B | Built-in | Requires Worker logic |
The Verdict
Netlify wins on developer experience and out-of-box features like Forms and Identity — good if you want to ship fast without touching infra. Cloudflare wins on cost and performance at scale, especially once you factor in per-seat Netlify pricing and Cloudflare's free DDoS/WAF/DNS bundle. For a small team on a budget with basic static sites, Cloudflare Pages is hard to beat; for teams needing forms/auth without extra services, Netlify still saves engineering time.
How to switch from Netlify to Cloudflare
- 1Export your environment variables and config from Netlify: run `netlify env:list --json` via the Netlify CLI, and copy your redirect/header rules from netlify.toml, _redirects, and _headers files in your repo — these are your migration artifacts.
- 2Connect the same Git repository to Cloudflare Pages from the Cloudflare dashboard (Workers & Pages > Create application > Pages), and set the build command and output directory to match what was in netlify.toml.
- 3Recreate your environment variables in Cloudflare Pages under Settings > Environment variables, pasting in the values you exported from Netlify.
- 4Rewrite any Netlify Functions as Cloudflare Workers/Pages Functions — the syntax differs (fetch-based Workers runtime vs Netlify's Lambda-style handlers), so budget time for this step.
- 5Replace Netlify Forms with a third-party form endpoint (e.g., Formspree, Getform) or a custom Worker, since Cloudflare Pages has no built-in form processing.
- 6Point your domain's nameservers to Cloudflare, verify the site is live and serving correctly, then remove the custom domain from Netlify and notify your team of the new deploy dashboard and workflow.
Netlify vs Cloudflare: common questions
How do I export my data from Netlify before switching to Cloudflare?+
There's no single 'export' button since your site's source of truth is the Git repo and the netlify.toml config file already in it. Run `netlify env:list --json` (or check Site settings > Environment variables) to copy environment variables, and note any redirect/header rules from netlify.toml or _redirects/_headers files so you can port them to Cloudflare's _redirects/_headers or wrangler.toml.
What do I lose moving from Netlify to Cloudflare Pages?+
You lose Netlify Forms, Netlify Identity, and Split Testing — none of these have direct Cloudflare equivalents. You'll need a third-party form service (like Formspree) or a custom Worker for forms, and Cloudflare Access or an auth provider like Clerk/Auth0 for identity.
Is Cloudflare's free tier enough for a small team?+
For most static sites and JAMstack apps, yes — the free Pages plan covers unlimited requests/bandwidth with a 500 builds/month cap. If you rely on serverless functions heavily, you'll likely need the $5/month Workers Paid plan once you exceed the 100,000 requests/day free limit.
Does Cloudflare integrate with the same tools as Netlify, like GitHub and Slack?+
Yes, Cloudflare Pages connects directly to GitHub and GitLab for auto-deploys, same as Netlify. Slack/Discord notifications require setting up a webhook manually since Cloudflare doesn't have Netlify's one-click integrations marketplace.
Will switching from Netlify to Cloudflare actually save money long-term?+
If your team is on Netlify's Pro plan ($19/user/month), yes — Cloudflare Pages is free for most static workloads and Workers Paid is a flat $5/month covering 10 million requests. The savings grow as your team size increases, since Cloudflare's pricing isn't per-seat.
Related comparisons
More Dev Tools tools people are leaving
All Dev Tools alternatives →What would you save without Netlify or Cloudflare?
Pick your team size and see the yearly number.