Overview
D1 is a serverless relational database from Cloudflare built on SQLite. You create databases with Wrangler, the dashboard or the API, and query them from Workers or Pages Functions through a binding, with standard SQL, JSON functions and full-text search. Each database is backed by a single Durable Object, so it is single-threaded: throughput depends on how long your queries take, and very busy apps are expected to split data across many databases.
Billing counts rows read and rows written, plus storage above 5 GB. The free plan gives 5 million rows read and 100,000 rows written per day with 5 GB total, and queries fail once a daily limit is reached. The Workers Paid plan ($5/mo minimum per account) includes 25 billion reads and 50 million writes a month, then charges $0.001 per million reads and $1.00 per million writes. There is no charge for idle time or egress.
Time Travel lets you restore a database to any minute in the last 30 days (7 on free). Read replication copies the database to every available region at no extra charge. You can set a location hint or restrict a database to the EU jurisdiction at creation time. Plan for the hard limits: 10 GB per database that cannot be raised, 2 MB per row and 30 seconds per query.
Pricing and plans
checked 28 Sept 2026Free tier · no card
Workers Free: 5 million rows read and 100,000 rows written per day, 5 GB total storage, 500 MB per database, 7-day Time Travel. Queries fail once a daily limit is hit until 00:00 UTC.
| Plan | Price | What you get |
|---|---|---|
| Workers Free | $0 | 5M rows read/day, 100K rows written/day, 5 GB storage, 500 MB max per database, 10 databases |
| Workers Paid | $5/mo minimum + usage | 25 billion rows read and 50M rows written per month and 5 GB storage included; then $0.001 per million reads, $1.00 per million writes, $0.75/GB-month; 10 GB per database, 50,000 databases |
What it does
- SQLite semantics
- Familiar SQL, drivers and ORMs, with JSON functions and full-text search triggers.
- Row-based billing
- Pay per row read or written and storage over the allowance; no charge for compute hours or egress.
- Time Travel
- Restore to any minute in the last 30 days on Workers Paid, 7 days on Free.
- Read replication
- Read-only replicas in every available region with no extra charge beyond query usage.
- Data location control
- Location hints for North America, Europe, Asia-Pacific and Oceania, or an EU or FedRAMP jurisdiction.
- Many databases
- Up to 50,000 databases per account on Workers Paid, suited to per-user or per-tenant designs.
Strengths and limitations
Strengths
- Very low cost for read-heavy apps, with no idle or egress charges
- Permanent free plan with daily allowances and no card
- Built-in point-in-time restore on every plan
- EU jurisdiction option for GDPR data locality
- Tight integration with Workers, Pages and Wrangler
Limitations
- Each database is capped at 10 GB (500 MB on free) and the cap cannot be raised
- Each database is single-threaded, so throughput depends on query duration
- Rows read count every scanned row, so unindexed queries get expensive
- No databases in South America, Africa or the Middle East
- Mainly usable from Cloudflare Workers; SQLite lacks some features of PostgreSQL or MySQL
Who it suits
Good for
- Apps built on Cloudflare Workers or Pages
- Per-tenant or per-user database designs
- Read-heavy sites and APIs on a small budget
- Side projects that need a free SQL database
Look elsewhere if
- Single databases larger than 10 GB
- Write-heavy workloads that need many concurrent writers
- Teams that need PostgreSQL features or access from non-Cloudflare servers
Alternatives to Cloudflare D1
| Tool | From | Free option | Stages |
|---|---|---|---|
| Aiven Managed open-source data platform (PostgreSQL, MySQL, Kafka, Valkey, OpenSearch, ClickHouse) | $5/mo | Free tier | |
| Appwrite Cloud Open-source backend-as-a-service (database, auth, storage, functions, hosting) | $25/mo | Free tier | |
| Convex Reactive backend and document database | $25/mo | Free tier | |
| Crunchy Bridge Managed PostgreSQL on AWS, Azure and GCP | $9/mo | ||
| Firebase Backend platform with document and realtime databases | Usage-based | Free tier | |
| MongoDB Atlas Managed document database | $8/mo | Free tier |
Questions
Is Cloudflare D1 free?
Yes, the Workers Free plan includes D1 with 5 million rows read and 100,000 rows written per day and 5 GB of storage. Queries fail after a daily limit until it resets at 00:00 UTC.
How much does Cloudflare D1 cost?
On Workers Paid ($5/mo minimum) you get 25 billion reads, 50 million writes and 5 GB a month, then $0.001 per million rows read, $1.00 per million rows written and $0.75 per GB-month.
What is the maximum size of a D1 database?
10 GB per database on Workers Paid and 500 MB on Free, with up to 1 TB per paid account across databases.
Can I keep D1 data in the EU?
Yes. Create the database with the EU jurisdiction and it runs and stores data only in the European Union.
Does D1 have backups?
Yes. Time Travel restores a database to any minute within the last 30 days on paid plans, or 7 days on free.
Sources read for this page