Cloudflare Workers Pricing Calculator for a SaaS
Cloudflare Workers pricing calculator for a SaaS. Turn monthly users into a bill for Workers, D1, KV, R2, Queues and AI, and find the first Free limit you hit.
- Runs in your browser
Checked
01Tool
Tool
Paid plan, a month
$5.00
The plan's monthly minimum plus usage past its allowances.
Per user
$0.0005
Free plan
Fits
Costs nothing
Paid plan, line by line
- Workers Paid minimum
- $5.00
- Worker requests 2M of 10M included
- $0.00
- Static asset requests 3M, free
- $0.00
- CPU time 14M ms of 30M ms included
- $0.00
- D1 rows read 40M of 25B included
- $0.00
- D1 rows written 1M of 50M included
- $0.00
- D1 storage 0.25 GB of 5 GB included
- $0.00
- KV reads 2M of 10M included
- $0.00
- KV writes 15,000 of 1M included
- $0.00
- KV storage 0.1 GB of 1 GB included
- $0.00
- R2 storage 5 GB of 10 GB included
- $0.00
- R2 Class A operations 100K of 1M included
- $0.00
- R2 Class B operations 1M of 10M included
- $0.00
- Queues operations 60,000 of 1M included
- $0.00
- Workers AI neurons 37,560 of 300K included
- $0.00
- Total a month
- $5.00
Free plan limits, closest first
- CPU per request70%
7 ms of 10 ms per request
- Worker requests67%
66,668 of 100K a day
- KV reads67%
66,667 of 100K a day
- KV writes50%
500 of 1,000 a day
- CPU per cron run50%
5 ms of 10 ms per run
- D1 database size50%
0.25 GB of 0.5 GB
- D1 rows written33%
33,333 of 100K a day
- D1 rows read27%
1.33M of 5M a day
- Queues operations20%
2,000 of 10,000 a day
- Workers AI neurons13%
1,252 of 10,000 a day
- KV storage10%
0.1 GB of 1 GB
02Guide
How it works
How Workers bills a request
The Paid plan charges a monthly minimum, then two meters: requests that reach your Worker, and the CPU milliseconds your code uses. What your Worker calls in turn, such as fetch(), KV, R2 or D1, is not billed as more Worker requests; those products bill on their own meters, and time spent waiting on them is not CPU time. A call to another Worker through a service binding is not a second request either, though its CPU time adds to the first.
Workers Caching moves cost between lines. With it on, static asset requests and service binding calls are billed at the request rate too, while every cache hit skips your code, so CPU, D1 and KV fall. Whether it saves money depends on the hit share: an app that serves mostly static assets can pay more with it on.
The Free plan counts by the day
The calculator compares a thirtieth of each monthly figure with the Free plan's daily limit, which assumes even traffic. Real traffic is lumpy, so leave room for a launch day or a busy crawler.
Past a Free limit, Cloudflare refuses the extra work instead of billing it. A Worker over its daily requests returns error 1027, or is skipped if its route fails open. KV, D1, Hyperdrive and Workers AI return errors until the reset. CPU is limited per request rather than per day, and a Worker that keeps going over it is stopped with error 1102 at any hour.
D1 bills rows scanned
D1 counts every row a query reads on the way to its answer, not the rows it returns, so a filter on a column without an index reads the whole table. An index cuts the rows read and adds one written row to each write that sets the indexed column. Take the rows per request from meta.rows_read on your real queries rather than guessing.
The D1 pricing calculator goes further: daily figures, several databases, and how many rows fit in one INSERT before D1 refuses it.
Postgres through Hyperdrive
Hyperdrive puts a connection pool and a query cache between a Worker and a Postgres or MySQL database. It counts every query, cached or not, against the Free plan's daily limit, so a cache that spares your database does not spare the limit. The database itself bills through its host, which this calculator leaves out.
Workers AI in neurons
Workers AI measures GPU work in neurons and prices each model's tokens in neurons per million. The same reply costs far more on a large model than on a small one, so compare the model rates before you choose one. Embedding models such as bge-m3 have an input rate only. Both plans share the same daily allocation, and only Paid can go past it.
How much CPU a request takes
Cloudflare's limits page puts the average Worker at about 2.2 ms of CPU a request, and workloads that render on the server or handle authentication at 10 to 20 ms. A Nuxt app that renders its pages on the server belongs to that second group, so check its figure against the Free plan's limit per request before you count on Free. Workers Logs records the CPU time of every invocation, and so do Tail Workers and Logpush.
03Rates
The numbers it uses
| Item | Rate | Source |
|---|---|---|
| Workers Paid plan | $5.00 a month minimum | developers.cloudflare.com |
| Worker requests, Free Resets at 00:00 UTC. | 100,000 a day | developers.cloudflare.com |
| Worker requests, Paid | 10 million a month included, then $0.30 per 1 million requests | developers.cloudflare.com |
| Static asset requests Billed at the request rate while Workers Caching is on. | Free and unlimited | developers.cloudflare.com |
| CPU time, Free | 10 ms per request | developers.cloudflare.com |
| CPU time, Paid | 30 million ms a month included, then $0.02 per 1 million ms | developers.cloudflare.com |
| CPU per Cron Trigger run, Free | 10 ms per run | developers.cloudflare.com |
| Item | Rate | Source |
|---|---|---|
| D1 rows read, Free Rows scanned, not rows returned. | 5 million a day | developers.cloudflare.com |
| D1 rows read, Paid | 25 billion a month included, then $0.001 per 1 million rows | developers.cloudflare.com |
| D1 rows written, Free A write that sets an indexed column adds a row for the index. | 100,000 a day | developers.cloudflare.com |
| D1 rows written, Paid | 50 million a month included, then $1.00 per 1 million rows | developers.cloudflare.com |
| D1 storage, Free All databases together, tables and indexes. | 5 GB in total | developers.cloudflare.com |
| D1 storage, Paid | 5 GB included, then $0.75 per GB-month | developers.cloudflare.com |
| Item | Rate | Source |
|---|---|---|
| Hyperdrive queries, Free Cached queries count too. | 100,000 a day | developers.cloudflare.com |
| Hyperdrive queries, Paid | Unlimited, at no charge | developers.cloudflare.com |
| Item | Rate | Source |
|---|---|---|
| KV reads, Free | 100,000 a day | developers.cloudflare.com |
| KV reads, Paid | 10 million a month included, then $0.50 per 1 million reads | developers.cloudflare.com |
| KV writes, Free Deletes and lists have the same allowance and price, each counted apart. | 1,000 a day | developers.cloudflare.com |
| KV writes, Paid | 1 million a month included, then $5.00 per 1 million writes | developers.cloudflare.com |
| KV storage, Free | 1 GB in total | developers.cloudflare.com |
| KV storage, Paid | 1 GB included, then $0.50 per GB-month | developers.cloudflare.com |
| Item | Rate | Source |
|---|---|---|
| R2 storage Storage and operations round up to the next billing unit. | 10 GB a month free, then $0.015 per GB-month | developers.cloudflare.com |
| R2 Class A operations | 1 million a month free, then $4.50 per 1 million operations | developers.cloudflare.com |
| R2 Class B operations | 10 million a month free, then $0.36 per 1 million operations | developers.cloudflare.com |
| Egress | Free | developers.cloudflare.com |
| Item | Rate | Source |
|---|---|---|
| Queues operations, Free | 10,000 a day | developers.cloudflare.com |
| Queues operations, Paid | 1 million a month included, then $0.40 per 1 million operations | developers.cloudflare.com |
| Operation size | One operation per 64,000 bytes, plus about 100 bytes of metadata per message | developers.cloudflare.com |
| Operations to deliver a message | 3 (a write, a read and a delete), plus a read for each retry | developers.cloudflare.com |
| Item | Rate | Source |
|---|---|---|
| Workers AI neurons, Free The Free plan stops there. | 10,000 a day | developers.cloudflare.com |
| Workers AI neurons, Paid | 10,000 a day included, then $0.011 per 1,000 neurons | developers.cloudflare.com |
| @cf/meta/llama-3.1-8b-instruct-fp8-fast | 4,119 neurons per million input tokens, 34,868 per million output tokens | developers.cloudflare.com |
| @cf/openai/gpt-oss-20b | 18,182 neurons per million input tokens, 27,273 per million output tokens | developers.cloudflare.com |
| @cf/meta/llama-3.3-70b-instruct-fp8-fast | 26,668 neurons per million input tokens, 204,805 per million output tokens | developers.cloudflare.com |
| @cf/baai/bge-m3 | 1,075 neurons per million input tokens | developers.cloudflare.com |
04Questions
Questions
- How much does Cloudflare Workers cost?
- The Free plan costs nothing. The Paid plan has a monthly minimum that already includes an allowance of requests and CPU time, and past it you pay per million of each. Put your users and requests into the calculator to see the bill line by line, and read each figure and its source in the rates table.
- Is Cloudflare Workers free?
- Yes. The Workers Free plan caps requests and several bindings by the day and CPU time by the request, and the daily caps reset at 00:00 UTC. The calculator turns your monthly numbers into daily ones and names the first cap you would hit.
- Are static assets free on Cloudflare Workers?
- Yes. Requests that Workers answers from your static assets are free and unlimited. The exception is Workers Caching, which bills every request to the Worker at the request rate while it is on, static assets included.
- How is CPU time billed on Workers?
- Only the time your code spends on the CPU counts. Waiting on fetch, KV, D1 or a database does not, and wall-clock duration is never billed. On Paid, CPU milliseconds are pooled over the month; on Free, each request has its own small CPU limit.
- How much do D1, KV and R2 add to a Workers bill?
- Often nothing at first. D1 and KV each come with an allowance on the Paid plan. R2 is a subscription of its own with a monthly free tier, and it bills past that tier on either Workers plan, so the calculator keeps it out of the Free plan check. A line gets a cost only once your usage passes its allowance, and shows the usage beside it either way.
- How much does Workers AI cost?
- Workers AI bills in neurons, Cloudflare's unit of GPU work, at a price per thousand. Both plans include a daily allocation; the Free plan stops there, and Paid bills what passes it. Each model turns tokens into neurons at its own rate, listed in the rates table for the models here.
05Sources
Sources
Every fact on this page was read from these pages on .
- Cloudflare Workers docs, Pricingdevelopers.cloudflare.com/
workers/ platform/ pricing/ - Cloudflare Workers docs, Limitsdevelopers.cloudflare.com/
workers/ platform/ limits/ - Cloudflare Workers docs, Workers Cachedevelopers.cloudflare.com/
workers/ cache/ - Cloudflare D1 docs, Pricingdevelopers.cloudflare.com/
d1/ platform/ pricing/ - Cloudflare Hyperdrive docs, Pricingdevelopers.cloudflare.com/
hyperdrive/ platform/ pricing/ - Cloudflare Workers KV docs, Pricingdevelopers.cloudflare.com/
kv/ platform/ pricing/ - Cloudflare R2 docs, Pricingdevelopers.cloudflare.com/
r2/ pricing/ - Cloudflare Queues docs, Pricingdevelopers.cloudflare.com/
queues/ platform/ pricing/ - Cloudflare Workers AI docs, Pricingdevelopers.cloudflare.com/
workers-ai/ platform/ pricing/
Found something out of date? Tell us.
Nuxter
Building a SaaS on Nuxt?
Nuxter's wrangler.jsonc binds every product this calculator prices, from Postgres through Hyperdrive and D1 for Nuxt Content's pages to KV, R2, Queues, Workers AI and a daily Cron Trigger. The bill above has the shape of a Nuxter app's.