Products · Developer platform
Pages
Build full-stack, serverless applications globally with minimal configuration
Pricing and limits
Pricing
As of Nov 3, 2026, from Cloudflare's docs, last updated there Sep 8, 2026. Licensed CC BY 4.0; navigation removed.
Requests to your Functions are billed as Cloudflare Workers requests. Workers plans and pricing can be found in the Workers documentation.
Paid Plans
Requests to your Pages functions count towards your quota for Workers Paid plans, including requests from your Function to KV or Durable Object bindings.
Pages supports the Standard usage model.
Note
Workers Enterprise accounts are billed based on the usage model specified in their contract. To switch to the Standard usage model, reach out to your account team. Some Workers Enterprise customers maintain the ability to change usage models.
Static asset requests
On both free and paid plans, requests to static assets are free and unlimited. A request is considered static when it does not invoke Functions. Refer to Functions invocation routes to learn more about when Functions are invoked.
Free Plan
Requests to your Pages Functions count towards your quota for the Workers Free plan. For example, you could use 50,000 Functions requests and 50,000 Workers requests to use your full 100,000 daily request usage. The free plan daily request limit resets at midnight UTC.
Limits
As of Nov 3, 2026, from Cloudflare's docs, last updated there Sep 5, 2026. Licensed CC BY 4.0; navigation removed.
Below are limits observed by the Cloudflare Free plan. For more details on removing these limits, refer to the Cloudflare plans ↗︎ page.
Need a higher limit?
To request an adjustment to a limit, complete the Limit Increase Request Form ↗︎. If the limit can be increased, Cloudflare will contact you with next steps.
Builds
Each time you push new code to your Git repository, Pages will build and deploy your site. Build limits depend on your plan:
| Free | Pro | Business | |
|---|---|---|---|
| Builds | 1 build at a time | 5 concurrent builds | 20 concurrent builds |
| Builds per month | 500 | 5,000 | 20,000 |
Builds will timeout after 20 minutes. Concurrent builds are counted per account.
Custom domains
Based on your Cloudflare plan type, a Pages project is limited to a specific number of custom domains. This limit is on a per-project basis.
| Free | Pro | Business | Enterprise |
|---|---|---|---|
| 100 | 250 | 500 | 5001 |
Files
Pages uploads each file on your site to Cloudflare's globally distributed network to deliver a low latency experience to every user that visits your site. Cloudflare Pages sites can contain up to 20,000 files on the Free plan.
Paid plans (such as Pro, Business, and Enterprise plans) can have up to 100,000 files per site. To enable this increased limit, set the environment variable PAGES_WRANGLER_MAJOR_VERSION=4 in your Pages project settings.
File size
The maximum file size for a single Cloudflare Pages site asset is 25 MiB.
Larger Files
To serve larger files, consider uploading them to R2 and utilizing the public bucket feature. You can also use custom domains, such as static.example.com, for serving these files.
Functions
Requests to Pages functions count towards your quota for Workers plans, including requests from your Function to KV or Durable Object bindings.
Pages supports the Standard usage model.
Headers
A _headers file can have a maximum of 100 header rules.
An individual header in a _headers file can have a maximum of 2,000 characters. For managing larger headers, it is recommended to implement Pages Functions.
Preview deployments
You can have an unlimited number of preview deployments active on your project at a time.
Redirects
A _redirects file can have a maximum of 2,000 static redirects and 100 dynamic redirects, for a combined total of 2,100 redirects. It is recommended to use Bulk Redirects when you have a need for more than the _redirects file supports.
Users
Your Pages site can be managed by an unlimited number of users via the Cloudflare dashboard. Note that this does not correlate with your Git project – you can manage both public and private repositories, open issues, and accept pull requests via without impacting your Pages site.
Projects
Cloudflare Pages has a limit of 100 projects2 per account. This limit is not routinely increased.
If you need to host more than 100 sites, use one of these products designed for scale:
- Workers for Platforms — Deploy sites and applications at scale with no project limit. Supports static assets.
- Workers Static Assets — Deploy static sites as individual Workers. Paid plans support up to 500 Workers per account, each serving up to 100,000 static asset files.
Note
The Workers project limit (100 on Free, 500 on paid plans) is separate from the Pages project limit. Refer to Workers limits for details.
In order to protect against abuse of the service, Cloudflare limits the number of new Pages projects you can create within your first 48 hours of using the service. If you are temporarily blocked from creating new projects, this restriction will automatically lift once the initial 48-hour window has passed.
Footnotes
- If you need more custom domains, contact your account team. ↩
- If you need a higher project limit, use Workers for Platforms. ↩
Timeline
October 2026
- Some customers may notice their Pages and/or Workers builds are intermittently failing. Incident
Minor impact. Resolved Oct 27, 2026, 08:17 UTC.
- Workers Builds and Pages build images reject compromised eMudhra certificates
The private keys of eight eMudhra intermediate certificate authorities ↗︎ can be recovered, so anyone can forge a certificate for any hostname that chains to them. The Workers Builds and Pages build images now reject these certificates when your build clones your repository, installs dependencies, or makes HTTPS requests. The updated images include patched CA certificates, Node.js 22.23.4 and 24.…
August 2026
- Pages now skips superseded queued builds
Pages now automatically skips a queued build when a newer build for the same project, branch, and deployment target is also queued.
January 2026
- Increased Pages file limit to 100,000 for paid plans
Paid plans can now have up to 100,000 files per Pages site, increased from the previous limit of 20,000 files. To enable this increased limit, set the environment variable PAGES_WRANGLER_MAJOR_VERSION=4 in your Pages project settings. The Free plan remains at 20,000 files per site. For more details, refer to the Pages limits documentation.
May 2025
- Cloudflare Pages builds now provide Node.js v22 by default
When you use the built-in build system that is part of Cloudflare Pages, the Build Image now includes Node.js v22. Previously, Node.js v18 was provided by default, and Node.js v18 is now end-of-life (EOL). If you are creating a new Pages project, the new V3 build image that includes Node.js v22 will be used by default. If you have an existing Pages project, you can update to the latest build imag…
March 2025
- New Managed WAF rule for Next.js CVE-2025-29927.
Update: Mon Mar 24th, 11PM UTC: Next.js has made further changes to address a smaller vulnerability introduced in the patches made to its middleware handling. Users should upgrade to Next.js versions 15.2.4, 14.2.26, 13.5.10 or 12.3.6. If you are unable to immediately upgrade or are running an older version of Next.js, you can enable the WAF rule described in this changelog as a mitigation. Updat…
- Smart Placement is smarter about running Workers and Pages Functions in the best locations
Smart Placement is a unique Cloudflare feature that can make decisions to move your Worker to run in a more optimal location (such as closer to a database). Instead of always running in the default location (the one closest to where the request is received), Smart Placement uses certain “heuristics” (rules and thresholds) to decide if a different location might be faster or more efficient. Previo…
- Retry Pages & Workers Builds Directly from GitHub
You can now retry your Cloudflare Pages and Workers builds directly from GitHub. No need to switch to the Cloudflare Dashboard for a simple retry! Let\u2019s say you push a commit, but your build fails due to a spurious error like a network timeout. Instead of going to the Cloudflare Dashboard to manually retry, you can now rerun the build with just a few clicks inside GitHub, keeping you inside…