Cloudflare Pages Free Plan Limits in 2026 (and Pages vs Workers)
Cloudflare Pages free plan limits: unlimited static requests, 500 builds a month, file caps, Functions quotas and how Pages compares with Workers static assets.
5 min read

Cloudflare Pages has no bandwidth or request limit for static files: Cloudflare says static asset requests are free and unlimited on every plan. The free plan's real limits are 500 builds a month, 20,000 files per site and 25 MiB per file. Pages Functions use the Workers Free quota of 100,000 requests a day, after which they return Error 1027.
This guide lists every Cloudflare Pages limit that matters on the free plan, explains how Functions are counted, and covers the newer Pages vs Workers question. If you're comparing hosts, start with our guide to free static website hosting.
Limits checked 14 October 2026 against each provider's official docs. Free plans change often; check the linked pages before you commit.
What are the Cloudflare Pages free plan limits?
These come from Cloudflare's Pages limits page and its Functions pricing page.
| Limit | Free plan |
|---|---|
| Static asset requests and bandwidth | Unlimited |
| Builds | 500 per month |
| Concurrent builds | 1 |
| Build timeout | 20 minutes |
| Files per site | 20,000 |
| Maximum file size | 25 MiB |
| Custom domains | 100 per project |
| Projects | 100 per account |
_headers rules | 100 |
_redirects rules | 2,000 static + 100 dynamic |
| Preview deployments | Unlimited |
| Functions | Workers Free quota (100,000 requests/day) |
Custom domains get free HTTPS, and Cloudflare's Pages limits don't restrict commercial use. There are no built-in forms.
Is Cloudflare Pages bandwidth really unlimited?
For static files, yes. Cloudflare's Functions pricing page states that requests to static assets are free and unlimited on free and paid plans. There is no monthly gigabyte allowance to track for HTML, CSS, JavaScript or images.
This is the biggest difference from other free hosts. Netlify's credit plan charges 20 credits per GB and pauses every site at the limit, and Vercel Hobby has a 100 GB transfer allowance with a 30-day wait if you exceed it. On Pages, a viral post doesn't threaten your static site.
What does constrain you is the shape of the site: 20,000 files and 25 MiB per file. Large static sites with many generated pages, or sites that ship video files, are the ones that bump into these.
How do Cloudflare Pages builds work on the free plan?
You get 500 builds a month, one at a time, with a 20-minute timeout. Every push to a connected branch triggers a build, including preview branches, so a busy repo with lots of pull requests uses builds faster than you might expect.
Ways to stay well under 500:
- Skip builds for commits that only change docs or config, using your CI or branch settings.
- Build locally or in CI and deploy the output with Direct Upload. Our Cloudflare Pages deploy tutorial shows both routes.
- Limit preview builds to the branches you actually review.
How are Cloudflare Pages Functions counted?
Pages Functions are billed as Workers. On the free plan that means the Workers Free limits: 100,000 requests per day, shared across all Workers and Pages Functions on the account, with 10 ms of CPU time per invocation. The count resets at midnight UTC, according to the Workers pricing page.
When you go past the daily limit, requests to your functions fail with Error 1027 until the reset. Requests for static assets that don't pass through a function aren't counted toward this quota.
Cloudflare Pages vs Workers: which should you use?
Workers can now serve static assets too, and Cloudflare recommends Workers for new projects. Its April 2025 announcement puts it this way: "Pages continues to work, but new features and optimizations are focused on Workers."
For a static site, the free limits look very similar:
| Cloudflare Pages | Workers static assets | |
|---|---|---|
| Static asset requests | Free and unlimited | Free and unlimited |
| Files | 20,000 per site | 20,000 per version |
| Max file size | 25 MiB | 25 MiB |
| Server-side code | Pages Functions (Workers quota) | Worker script (Workers quota) |
| Custom domain DNS | Zone can stay at another DNS provider for subdomains | Zone must use Cloudflare nameservers |
| New feature focus | Maintained | Yes |
The practical difference for many people is DNS. Cloudflare's Pages-to-Workers migration guide notes that Workers custom domains need the zone on Cloudflare nameservers, while Pages custom domains don't. If your domain lives at another registrar's DNS and you don't want to move it, Pages is still the easier choice.
Our take
- Starting fresh, domain already on Cloudflare: use Workers static assets, since that's where Cloudflare is investing.
- Domain DNS elsewhere, or you want the Git dashboard flow: Pages is fine and isn't going away.
- Existing Pages site: no need to rush. Migrate when you need a Workers-only feature.
Who is the Cloudflare Pages free plan best for?
Pages suits sites where traffic is the unknown and the code is simple:
- Marketing pages and launch sites that might get a sudden spike from social media or a newsletter.
- Documentation and blogs built with a static site generator, as long as the output stays under 20,000 files.
- Small business sites, since Cloudflare's Pages limits don't restrict commercial use, unlike Vercel's Hobby plan.
- Projects with a little server-side logic that fits comfortably inside 100,000 Functions requests a day.
It's a weaker fit for sites with thousands of generated pages per locale, large media libraries or heavy server-side rendering.
What are the downsides of Cloudflare Pages?
Pages is hard to beat on raw static hosting, but it isn't perfect:
- The 20,000-file cap can bite large generated sites.
- The Workers Free CPU limit of 10 ms per invocation is tight for heavier server-side work.
- Apex custom domains need your domain added as a Cloudflare zone.
- No built-in form handling, and Cloudflare's own guidance now favours Workers, so some newer tooling and docs assume Workers.
For a broader comparison, read Netlify vs Vercel vs Cloudflare Pages.
Add a working contact form to your static site
Cloudflare Pages serves your files but doesn't collect form submissions, so a contact form needs either a Pages Function you write and maintain or an external endpoint. Pointing the form's action at a FormSubmit endpoint is the quicker option, and it doesn't use any of your Workers requests. The free plan includes 1 form and 50 submissions a month; see our email form page to set one up.


