# Serverless Cost

> Model Workers, KV, D1, R2, Durable Objects and cron: how close each Free limit is, what Paid costs, what breaks first at 2x and 10x, and Lambda vs Cloud Run.

- URL: https://bytescope.dev/en/serverless-cost/
- Locale: en · Also: [ja](https://bytescope.dev/ja/serverless-cost.md) · [zh-Hant](https://bytescope.dev/zh-Hant/serverless-cost.md)
- Runs: Runs entirely in your browser. What you type is not sent anywhere; the rates are a checked table built into the page.
- Requires: Any modern browser (Chrome, Edge, Firefox, Safari), desktop and mobile.
- Updated: 2026-09-08

## What it does

### Is Cloudflare Workers free enough?

Usually the daily request count is not what breaks first. The Free plan allows 100,000 Worker requests a day, but also only 10 ms of CPU time and 50 subrequests per invocation, 1,000 KV writes a day and 100,000 D1 rows written a day. Describe what one request and one cron run do, and every quota gets a headroom multiple: `×4.0` means four times today's traffic still fits, `×0.8` means the limit is already hit.

### What the Workers Paid plan costs

Paid starts at $5 a month and includes 10,000,000 requests and 30,000,000 CPU milliseconds; after that it is $0.30 per million requests and $0.02 per million CPU ms. KV, D1, R2 and Durable Objects each bring their own included amount and overage rate, and the bill is broken into lines so you can see which one the money actually comes from.

### Growth, and why cron is different

The growth table multiplies requests, Durable Object traffic and stored data by 2 and 10. Cron Triggers stay as they are: a job that runs every minute runs 1,440 times a day whether you have ten users or ten thousand. That is why the first wall can move as you grow. A cron-heavy Worker tends to run out of D1 or KV writes first, a traffic-heavy one runs out of requests or CPU time.

### Compared with AWS Lambda and Cloud Run

The side-by-side covers compute only: requests plus compute time, no storage and no databases. Workers bill CPU time, so waiting on `fetch()`, KV or D1 costs nothing. Lambda and Cloud Run bill wall time multiplied by the memory you allocate. A 200 ms request that spends 5 ms on the CPU is priced very differently on each, and the assumptions under the table spell out exactly what was compared.

## Limits

Does not read your Cloudflare account or bill, and the Lambda and Cloud Run comparison covers compute only, not storage or databases. Rates are a checked table with dates, not a live fetch.

## FAQ

### What are the D1 free tier limits?

On the Free plan D1 allows 5,000,000 rows read and 100,000 rows written per day, and 5 GB of storage in total. Rows read counts every row a query scans, not just the rows it returns, so a missing index shows up here first. On Paid, 25,000,000,000 rows read and 50,000,000 rows written a month are included, then $0.001 per million rows read and $1.00 per million rows written.

### What is the Workers subrequest limit?

50 subrequests per invocation on Free and 10,000 on Paid. A cron run is an invocation too, so a job that checks 60 URLs in one run is already over the Free limit. This calculator counts your `fetch()` calls against it; Cloudflare's limits page gives calls to KV, D1 and R2 a separate, higher allowance.

### Do Cron Triggers count as requests?

Yes. Cloudflare's own pricing example bills an hourly Cron Trigger as 720 requests a month, so cron runs are added to the request count here. The Free plan allows 5 Cron Triggers per account and Paid allows 250, and on Free each run gets the same 10 ms of CPU time as a request.

### Can I use Durable Objects on the Free plan?

Yes, Durable Objects with SQLite storage are available on Free, with 100,000 requests and 13,000 GB-s of duration a day. Duration is billed as if every object holds 128 MB, so 13,000 GB-s is about 104,000 seconds of objects being active per day. On Paid, 1,000,000 requests and 400,000 GB-s a month are included, then $0.15 per million requests and $12.50 per million GB-s.

### Why is Lambda so much cheaper or dearer than Workers here?

Because they meter different things. Workers charge for CPU time. Lambda charges $0.20 per million requests and $0.0000166667 per GB-second of wall time after 1,000,000 free requests and 400,000 GB-seconds a month (x86, us-east-1). Cloud Run request-based billing charges per vCPU-second and GiB-second while requests are in flight, and several concurrent requests share one instance. A Worker that mostly waits on the network is cheap on Cloudflare and comparatively expensive elsewhere.

### Where do these numbers come from?

Every quota and rate was read off the official Cloudflare, AWS and Google Cloud pricing and limits pages and is stored with its source link and the date it was checked. A daily job re-reads those pages and flags any figure whose wording changed; nothing updates by itself. Open the source next to a number to see the page and date. Figures checked more than 30 days ago are marked as possibly out of date.

## Related tools

- [LLM Pricing](https://bytescope.dev/en/llm-pricing.md) — What each LLM model costs per million tokens, with checked dates.
- [Agent Cost](https://bytescope.dev/en/agent-cost.md) — What your Claude Code and Codex sessions actually cost, from local logs.
