Cloudflare Pages pricing explained: free static hosting and Workers plans
Kofi Agyem, Founder and CEO, CloudzyroPublished · 5 min read
On this page
How Cloudflare Pages and Workers are priced: free static hosting, the $5 Workers Paid plan, request and CPU charges, build limits and worked examples.
1. Cloudflare Pages and Workers at a glance
Cloudflare Pages hosts static sites, and Pages Functions add server code that runs on Cloudflare Workers. So Pages pricing is really two things: static hosting, which is free, and Workers pricing for anything dynamic. Figures from Cloudflare's developer docs, checked on November 1, 2026.
- Static assets: free and unlimited requests on every plan, with no bandwidth charges.
- Workers Free: $0, with 100,000 requests a day and 10 milliseconds of CPU time per request.
- Workers Paid: a minimum of $5 a month per account, with usage beyond the included amounts billed on top.
- Enterprise: billed on the usage model in your contract.
2. What the Free plan includes
For a static site, the free plan is generous. On Pages you get:
- Unlimited requests to static files, and no bandwidth bill
- 500 builds a month, one at a time, each timing out after 20 minutes
- 100 custom domains per project
- Up to 20,000 files per site, each up to 25 MiB
- Unlimited preview deployments and unlimited users
Pages Functions share the Workers Free allowance of 100,000 requests a day across your whole account, resetting at midnight UTC. Workers KV on the free plan allows 100,000 reads and 1,000 writes a day, with 1 GB of storage.
3. How Workers Paid is billed
Workers Paid costs at least $5 a month per account and includes, each month:
- 10 million requests, then $0.30 per million
- 30 million CPU milliseconds, then $0.02 per million CPU milliseconds
- No charge for duration, data transfer or bandwidth
- Up to 5 minutes of CPU time per request (30 seconds by default)
Only time your code actually spends on the CPU counts. Waiting for a database or an API doesn't. Requests to static assets stay free. If you turn on Workers caching, cached responses are billed at the same per-request rate, but use no CPU time.
Other services on Paid: Workers KV includes 10 million reads a month (then $0.50 per million), 1 million writes (then $5 per million) and 1 GB of storage (then $0.50 per GB a month). Workers Logs include 20 million events a month, then $0.60 per million; from December 1, 2026, logs move to Cloudflare's observability pricing.
4. When to move from Free to Paid
The Free plan stops rather than charges. Once you pass a daily limit, further requests or operations fail until midnight UTC. Paid raises the limits and bills a little for anything beyond them. Side by side:
- Requests to Workers and Functions: 100,000 a day on Free; 10 million a month on Paid, then $0.30 per million
- CPU time: 10 ms per request on Free; 30 million ms a month on Paid, then $0.02 per million ms
- Workers KV writes: 1,000 a day on Free; 1 million a month on Paid, then $5 per million
- Queues: 10,000 operations a day on Free; 1 million a month on Paid, then $0.40 per million
- Hyperdrive database queries: 100,000 a day on Free; unlimited on Paid
- Workers Logs: 200,000 events a day kept 3 days on Free; 20 million a month kept 7 days on Paid
If your site is all static files, you may never need Paid. If it has an API or server-rendered pages with real traffic, $5 a month is usually where you'll land first.
5. Worked examples
These are Cloudflare's own examples:
- A static site: $0. Static asset requests are free and unlimited.
- 15 million requests a month at 7 ms of CPU each: $5 subscription, $1.50 for requests and $1.50 for CPU time. $8 a month.
- The same traffic with 80% static files: the 3 million dynamic requests fit inside the included amounts. $5 a month.
- 100 million requests a month at 7 ms of CPU: $5, plus $27 for requests and $13.40 for CPU. $45.40 a month.
6. Limits worth knowing
- 100 Pages projects per account, not routinely raised. Cloudflare points bigger users to Workers Static Assets or Workers for Platforms.
- Builds: 500 a month on Free, 5,000 on Cloudflare's Pro plan and 20,000 on Business, with more at once on paid plans.
- On the Workers Free plan, going past a daily limit makes further requests or operations fail until the reset.
- Pages Functions run on Cloudflare Workers rather than a long-running Node.js server, so apps written for a server may need changes.
7. How to keep your Cloudflare bill down
- Serve everything you can as static files. Those requests are free.
- Keep Functions on routes that need them, so static pages don't invoke Workers.
- Set a CPU limit per Worker in Wrangler or the dashboard to guard against runaway bills.
- Watch builds if you deploy on every push: the free plan stops at 500 a month.
8. Where Cloudzyro fits
For a static site, Cloudflare Pages is hard to beat on price. If your app needs a real server, such as a Next.js app with next start, an Express API or a Node.js app built with AI, Cloudzyro runs it as it is for a flat price per site, with no per-request or CPU-millisecond billing. Launch is free and allows business use, with 100 GB of traffic. Boost is $20 a month per site with 2 CPUs, 2 GB of memory and 1 TB of traffic, and a busy site is slowed past its allowance, never charged extra. See Sites & Apps and Vercel alternatives.