What happens when a Free D1 database scans too many rows in a day

Scenario · d1

Reviewed 2026-10-25 · against the official Cloudflare pricing pages listed under Sources

Try this scenarioLoads these inputs into the calculator so you can change them.

Three hundred million rows in a month is about 10 million on a typical day, twice the 5 million daily read cap. The queries fail at midnight's reset boundary. The bill stays $0.

On the Free plan this model comes to $0.00. The other plan, with the same inputs, comes to $5.00. The 30-day month is the same length R2 uses in its storage example. Daily free caps are not monthly pools.

The Free D1 cap resets at midnight UTC

Free accounts get 5 million rows read and 100,000 rows written per day. Past either cap, queries fail until 00:00 UTC. Stored data stays. There is no Free overage invoice for those rows.

Read this before you trust the total

Free plan lines at $0 can still be an outage: error 1027, error 1102, or a D1 quota error. R2 above its monthly free tier is billed on both plans. Durable Object requests round up to the next million, as in Cloudflare's own Example 1, which bills 500,000 requests as 1 million.

This model

$0.00 · Free

Free quotas for Workers, KV, D1, Queues, and Durable Objects reset at 00:00 UTC. A month that averages under the cap can still fail on one busy day. R2 is different: its free tier is monthly, and usage above it is billed on both plans.

A typical day scans more rows than the Free D1 read cap. Queries fail until 00:00 UTC. 10,000,000 versus a cap of 5,000,000.

D1 rows read
$0.00

Free cap 5,000,000 per day. This monthly total averages 10,000,000 per day across 30 days. The line is $0.00. D1 bills rows scanned, not rows returned. A SELECT * on a 5,000-row table with no useful index counts as 5,000 rows read. Free D1 quotas reset at 00:00 UTC. Past the daily cap, queries fail until the next reset instead of being billed.

D1 rows written
$0.00

Free cap 100,000 per day. This monthly total averages 1,666.667 per day across 30 days. The line is $0.00. INSERT, UPDATE, and DELETE count as rows written. An index write adds another written row. Free D1 quotas reset at 00:00 UTC. Past the daily cap, queries fail until the next reset instead of being billed.

D1 storage
$0.00

Published cap 5. The line is $0.00 because this Free meter is not billed as overage. Free D1 storage is 5 GB total. There is a separate 500 MB maximum per database on the Free plan.

Assumptions

  • A 30-day month and steady traffic across it.
  • Rates as published on 2026-10-25; taxes excluded.
  • The Free plan does not bill Workers, KV, D1, Durable Objects or Queues. When a daily cap is reached, requests fail until 00:00 UTC instead of costing more.

Try this scenario

Sources