Pricing teardowns
Camille Forster9 min read1526 views

Cloudflare Workers pricing in 2026: the real bill when you pay for CPU, not wall-clock time

Cloudflare Workers bills CPU time, not duration, which inverts everything you know from AWS Lambda. Here is the 2026 pricing, three worked monthly bills, what the $5 platform minimum actually covers across KV and Durable Objects, and the 3-millisecond breakpoint that decides your cost.

Updated on August 22, 2026

Abstract deep green illustration of server racks merging into an ascending bar chart of coins, representing serverless compute costs
Abstract deep green illustration of server racks merging into an ascending bar chart of coins, representing serverless compute costs
On this page

Quick answer (August 2026): Cloudflare Workers Paid starts at $5/month, which includes 10 million requests and 30 million CPU-milliseconds. Past that you pay $0.30 per additional million requests and $0.02 per additional million CPU-ms. The Free plan gives 100,000 requests/day with a 10 ms CPU cap per invocation. The number that decides your bill is CPU time, not how long the request takes, so a slow call that mostly waits on a database or an upstream API can still cost almost nothing. Three things most teardowns leave out: that $5 is an account-wide platform minimum that also covers Pages Functions, Workers KV, Hyperdrive and Durable Objects (each with its own separate allowance on top), Cloudflare does not bill subrequests your Worker makes, and there is no egress or bandwidth charge at all.

Updated August 22, 2026: every rate re-verified against Cloudflare's official Workers pricing page. All figures were unchanged. Added what the $5 platform minimum actually covers (with the Workers KV and Durable Objects allowances that sit on top of it), the subrequest billing rule, and the egress comparison against Lambda.

Cloudflare Workers has a $5 minimum and a pricing model that trips up everyone who arrives from AWS. The trap is not the $5. It is assuming you are billed for how long your code runs. You are not. You are billed for how long the CPU actually works, which for most real workloads is a tiny fraction of the wall-clock time.

This is a worked teardown, not a feature tour. Real 2026 numbers, three real monthly bills, and the one breakpoint that decides whether requests or CPU is the meter that bankrupts you.

The model that changes everything: CPU time, not duration

On the Standard usage model, Cloudflare Workers Cloudflare bills the CPU time your Worker consumes, with no charge and no limit for duration (Cloudflare Workers pricing, 2026).

That distinction is the whole game. A Worker that calls a slow database, waits 400 milliseconds for the response, then does 3 milliseconds of work, is billed for roughly 3 milliseconds, not 403. The waiting is free. If you are coming from a platform that charges GB-seconds of wall-clock time, this inverts your intuition about what an expensive request is. On Workers, an idle wait costs nothing; only the processor cycles cost money.

The default CPU cap is 30 seconds per invocation, and you can raise it to 5 minutes (15 minutes for Cron Triggers and Queue consumers). Those are limits, not the thing you pay for.

The 2026 price sheet

Scroll to see more

ItemFreeWorkers Paid
Base fee$0$5 / month
Requests included100,000 / day10 million / month
CPU time included10 ms / invocation30 million CPU-ms / month
Requests overagenot applicable$0.30 per additional million
CPU overagenot applicable$0.02 per additional million CPU-ms

Two meters, billed independently: requests and CPU milliseconds. Your bill is $5, plus whatever you spill over each meter. Source: Cloudflare Workers pricing, 2026.

The $5 is a platform minimum, not a Workers fee

This is the line item people get wrong in both directions, and it is worth being precise about because it changes what a realistic Cloudflare bill looks like.

That $5 a month is an account-wide minimum that covers Workers, Pages Functions, Workers KV, Hyperdrive and Durable Objects (Cloudflare Workers pricing, 2026). So you are not paying $5 for Workers and then another subscription for KV. One $5 minimum, one account.

What it does not mean is that those products are free once you have paid it. Each one carries its own included allowance and its own overage meters, stacked on top of the same $5:

Scroll to see more

Workers KV meterIncluded per monthOverage
Keys read10 million$0.50 per million
Keys written1 million$5.00 per million
Keys deleted1 million$5.00 per million
List requests1 million$5.00 per million
Stored data1 GB$0.50 per GB-month

Scroll to see more

Durable Objects meterIncluded per monthOverage
Requests1 million$0.15 per million
Duration400,000 GB-s$12.50 per million GB-s

The number to stare at is the KV write rate. Reads are $0.50 per million and writes are $5.00 per million, a ten-to-one gap, and deletes and list operations are priced as writes rather than as reads. A Worker that writes to KV on every request is on a meter ten times more expensive than one that reads on every request, and the included write allowance is a tenth of the read allowance. If you are using KV as a cache you are on the cheap side of that. If you are using it as a session store or a counter, you are not.

Durable Objects storage is priced separately again and varies by backend, SQLite or key-value, each with its own included amounts and rates. Check the current card for your backend before you model it.

Two costs that are simply not on the meter

Both of these are absences rather than line items, which is exactly why they get left out of comparisons, and both are worth real money.

Subrequests are not billed. Cloudflare does not charge for the subrequests a Worker makes (Cloudflare Workers pricing, 2026). If your Worker fans out to three internal services to assemble one response, that is one billed request, not four. Architectures that would be punished on a per-invocation meter elsewhere are free to be chatty here. The CPU those calls consume is still billed, but the calls themselves are not, and the time spent waiting on them is not either.

There is no egress or bandwidth charge. Cloudflare states plainly that there are no additional charges for data transfer out or throughput. For a Worker that serves any real volume of response bytes, this is often the difference that matters more than the compute line, and it is the same zero-egress posture that makes Cloudflare R2's pricing behave so differently from S3.

The 3-millisecond breakpoint that decides your bill

Here is the arithmetic nobody publishes. The Paid plan includes 10 million requests and 30 million CPU-ms. Divide them: that is 3 CPU-ms of headroom per included request.

So the question that sets your bill is simple. What is your Worker's average CPU time per request?

  • Under 3 ms average: requests are your binding meter. You will exhaust the 10 million request allowance before the CPU allowance. A JSON proxy, a redirect, a cache lookup, a simple auth check, all live here.
  • Over 3 ms average: CPU is your binding meter. Image resizing, crypto, HTML rendering, heavy JSON transforms will burn the 30 million CPU-ms first.

Knowing which side you are on tells you which lever matters. If requests bind, batch or cache to cut request count. If CPU binds, optimize the hot path, because every millisecond shaved is $0.02 per million saved.

Three real monthly bills

Bill A: the hobby API proxy ($0)

  • Free plan: $0
  • 3 million requests a month (100,000 a day)
  • Light logic, well under the 10 ms CPU cap per invocation
  • Total: $0 per month

The Free plan is genuinely useful here. The only hard wall is the 10 ms CPU cap per invocation, which a proxy or router never hits. Cross 100,000 requests in a day and you need the Paid plan, but the cost of crossing is small, as the next bill shows.

Bill B: a small production Worker ($5)

  • Paid plan: $5
  • 8 million requests, averaging 3 ms CPU each, so 24 million CPU-ms
  • Both under the included 10 million requests and 30 million CPU-ms
  • Total: $5 per month

This is the honest floor for a real service. Notice how much fits inside the base fee: 8 million requests and 24 million CPU-ms and you still pay only the $5 minimum. The included allowances are generous enough that many production Workers never leave the base tier.

Bill C: a busy Worker ($24.40)

  • Paid plan: $5
  • 50 million requests, averaging 8 ms CPU each, so 400 million CPU-ms
  • Requests overage: 40 million over, at $0.30 per million = $12.00
  • CPU overage: 370 million CPU-ms over, at $0.02 per million = $7.40
  • Total: about $24.40 per month

Fifty million requests for under $25 is the punchline. This is a compute-heavy Worker (8 ms average puts it on the CPU-bound side of the breakpoint), and it still lands cheap because idle time was never on the meter.

Why this is not AWS Lambda

The comparison people reach for is AWS Lambda AWS, and the pricing philosophies are opposites. Lambda bills GB-seconds: memory multiplied by wall-clock duration (AWS Lambda pricing, 2026). A Lambda that waits 400 ms on a database pays for all 400 ms times its memory allocation. The same logic on Workers pays for the CPU only.

For latency-bound and IO-bound work, where the function spends most of its life waiting on a network call, Workers can be dramatically cheaper, because the wait is free. For pure CPU-bound batch crunching the gap narrows, since both platforms are then charging for the same processor work.

The comparison that gets skipped is egress. Lambda's published rates are $0.20 per million requests and $0.0000166667 per GB-second, with a free tier of 1 million requests and 400,000 GB-seconds a month (AWS Lambda pricing, 2026). Those are the numbers everyone compares. But data transferred in and out of a Lambda from outside the function's region is billed at EC2 data transfer rates on top, while Workers charges nothing for transfer at all. Be fair about the caveat, because it is a real one: AWS makes data transfer free in the same region between Lambda and a specific list of services including S3, DynamoDB, SQS, SNS, Kinesis and EFS, so a Lambda that only talks to same-region AWS services pays no egress either. The gap opens when you serve bytes to the public internet or call across regions, which for a public HTTP endpoint is most of the time. Deno Deploy Deno and Vercel Vercel sit in between with their own edge-function meters (Deno Deploy pricing, 2026). The rule of thumb: the more your code waits, the more the CPU-time model wins.

The gotcha to plan around

The one that surprises people is the 30-second default CPU cap per invocation. It is plenty for a request handler, but a long-running data job that does 45 seconds of actual computation will be cut off unless you raise the limit toward the 5-minute ceiling, or move it to a Cron Trigger or Queue consumer where the cap is 15 minutes. Design the heavy work to fit the CPU budget, or route it to the right invocation type before it becomes a production surprise.

Price the CPU first, the requests second, and remember that on Workers the clock on the wall is not the clock you pay for.

Math check: take your monthly requests, multiply by your average CPU milliseconds per request, and compare the two numbers against 10 million and 30 million. Whichever ceiling you hit first is the only meter worth optimising. Then add your KV writes at $5.00 per million, because that is the line that quietly overtakes compute on a write-heavy Worker, and subtract the egress bill you would have paid somewhere else, because here it is zero.

C

Written by

Camille Forster

Frequently asked questions

How much does Cloudflare Workers cost in 2026?

The Free plan is $0 and includes 100,000 requests per day with a 10 ms CPU limit per invocation. The Workers Paid plan is $5 a month and includes 10 million requests and 30 million CPU-milliseconds. Overage is $0.30 per additional million requests and $0.02 per additional million CPU-milliseconds. Many production Workers stay at the $5 base fee.

Does Cloudflare Workers bill for CPU time or wall-clock time?

On the Standard usage model, Workers bills the CPU time your code actually consumes, not the wall-clock duration. There is no charge and no limit for duration, so time spent waiting on a database or an external API is free. Only processor cycles are billed.

What does the $5 Workers Paid plan include?

The $5 monthly minimum includes 10 million requests and 30 million CPU-milliseconds. A Worker doing 8 million requests at 3 ms CPU each (24 million CPU-ms) stays entirely inside those allowances and pays only $5.

When does CPU become more expensive than requests on Workers?

The included allowances are 10 million requests and 30 million CPU-ms, which is 3 CPU-ms per request. If your Worker averages more than 3 ms of CPU per request, CPU is your binding meter and you spill over it first. If it averages under 3 ms, requests bind first.

Is Cloudflare Workers cheaper than AWS Lambda?

For latency-bound and IO-bound workloads, usually yes, because Workers does not charge for time spent waiting while Lambda bills GB-seconds of wall-clock duration. For pure CPU-bound batch work the gap narrows since both then charge for the same processor work.

What is the CPU time limit per Worker invocation?

The default is 30 seconds of CPU time per invocation, raisable toward a 5-minute ceiling. Cron Triggers and Queue consumers allow up to 15 minutes of CPU time. These are limits on execution, not the amount you are billed for.

How much does 50 million requests a month cost on Workers?

For a compute-heavy Worker averaging 8 ms CPU per request, 50 million requests works out to about $24.40 a month: the $5 base, $12 for 40 million requests of overage at $0.30 per million, and $7.40 for 370 million CPU-ms of overage at $0.02 per million.

Does the $5 Workers Paid plan also cover Workers KV and Durable Objects?

Yes, in the sense that it is one account-wide minimum. Cloudflare's 2026 pricing states the $5 a month Workers Paid minimum covers Workers, Pages Functions, Workers KV, Hyperdrive and Durable Objects, so you do not pay a separate subscription for each. But each product carries its own included allowance and its own overage rates on top of that $5. Workers KV includes 10 million reads, 1 million writes, 1 million deletes, 1 million list requests and 1 GB of storage per month. Durable Objects includes 1 million requests and 400,000 GB-s of duration per month.

How much do Workers KV writes cost?

Workers KV includes 1 million writes a month, then charges $5.00 per additional million. Reads are far cheaper at 10 million included and $0.50 per additional million. Deletes and list requests are both priced like writes at $5.00 per million. That ten to one gap between writes and reads is the most important number in KV pricing: using KV as a read cache is cheap, using it as a session store or counter that writes on every request is not.

Does Cloudflare charge for subrequests made from a Worker?

No. Cloudflare's 2026 Workers pricing states it does not bill for subrequests made from your Worker. If your Worker calls three upstream services to build one response, that counts as one billed request rather than four. You still pay for the CPU time your code consumes, but the outbound calls themselves are free and the time spent waiting on them is not billed either.

Does Cloudflare Workers charge for bandwidth or egress?

No. Cloudflare states there are no additional charges for data transfer out or throughput on Workers. This is a real difference from AWS Lambda, where data transferred in and out of a function from outside its region is billed at EC2 data transfer rates. The honest caveat is that AWS makes data transfer free in the same region between Lambda and services such as S3, DynamoDB, SQS, SNS and Kinesis, so a purely internal same-region Lambda pays no egress either. The gap shows up when you serve bytes to the public internet or cross regions.

Cloudflare R2 Pricing in 2026: What You Actually Pay

Cloudflare R2 pricing in 2026 charges for storage and operations but never for egress: Standard storage is $0.015/GB-month, Class A writes $4.50/million, Class B reads $0.36/million, with a permanent free tier of 10 GB plus 1M/10M operations. Free egress is the whole pitch, and it moves your bill onto operations, not gigabytes. Below: three real 30-day bills versus Amazon S3 and Backblaze B2, and the Infrequent Access trap that doubles a write-heavy bill.

17 min read1871