Databases · head to head
Firestore vs Turso

Firestore
Databases
Flexible, scalable NoSQL cloud database from Firebase
- From
- Free
- Rated
- -

Turso
Databases
SQLite-lineage database platform for running very large numbers of small per-tenant databases, with an MIT-licensed engine.
- From
- Free
- Rated
- -
The short version
- Each has a real cost: Firestore the no-cost Spark plan caps Standard edition at 50,000 document reads, 20,000 writes and 20,000 deletes per day; Turso sQLite allows one writer per database, so a single tenant's write throughput cannot be scaled horizontally and a busy tenant serialises against itself with no sharding option.
- They diverge on capability: Firestore covers Document Model, Turso covers Per-tenant databases.
- Prices and features above were last checked on 30 August 2026.
Where they differ
Only the attributes on which Firestore and Turso actually diverge.
Identical on both: starting price (Free), pricing model (freemium), free tier (Yes), user rating (Not yet rated), category (Databases).
What each one covers
Drawn from each product's published feature list. An absence here means we hold no record of it - not that the product lacks it.
Only in Firestore
- Document Model
- Real-time Updates
- Offline Support
- ACID Transactions
- Expressive Queries
- Multi-region
- Security Rules
- Firebase Auth
Only in Turso
- Per-tenant databases
- MIT licence
- Embedded replicas
- SQLite compatibility
- HTTP access
- Branching
- Point-in-time restore
- In-process engine
What people use each for
The jobs each tool is most often brought in to do.
Firestore
- Storing structured application data with realtime listenersnot Turso
- Backing mobile and web apps with a serverless document databasenot Turso
- Building offline first apps that sync when connectivity returnsnot Turso
Turso
- Multi-tenant SaaS where each customer gets their own database for real isolation, per-tenant restore and clean deletionnot Firestore
- Agent or session infrastructure that creates a throwaway database per task and destroys it afterwardsnot Firestore
- Local-first and offline-capable applications where an embedded replica serves reads at file speed and syncs when connectivity returnsnot Firestore
- Embedding a SQLite-compatible engine in a product where the public domain original's closed contribution model is a problemnot Firestore
Where each one falls short
Documented limitations, not opinions. Every one is a constraint you would hit in normal use.
Firestore
- The no-cost Spark plan caps Standard edition at 50,000 document reads, 20,000 writes and 20,000 deletes per day
- The Spark plan caps storage at 1 GiB and network egress at 10 GiB per month
- Charging is per document read, so a query returning many documents bills for every one of them
- Going beyond the free thresholds requires the pay as you go Blaze plan billed at Google Cloud rates with no fixed monthly ceiling
Turso
- SQLite allows one writer per database, so a single tenant's write throughput cannot be scaled horizontally and a busy tenant serialises against itself with no sharding option.
- Per-tenant databases mean per-tenant migrations, so every schema change becomes a fan-out job that must be idempotent and resumable, and multi-database schemas, the feature meant to solve this, is deprecated.
- There are no cross-database queries; ATTACH is deprecated on the cloud, so any report or analytic spanning tenants must be assembled in your application or in a separate warehouse you also operate.
- Data Edge, the multi-region edge replication that was Turso's original positioning, is deprecated, so a large share of the tutorials and articles describing Turso as an edge database describe behaviour you can no longer rely on.
- Three engine lineages share the name, SQLite, the libSQL fork and the Rust rewrite, and the Rust engine is still maturing, so SQLite compatibility needs verifying against your specific pragmas, extensions and query patterns; the cloud already restricts journal_mode and busy_timeout and makes user_version read-only.
Pricing, plan by plan
Firestore
Free- SparkFree
- 1GB storage
- 50K reads/day
- 20K writes/day
- BlazeFree
- Pay as you go
- Unlimited operations
- Multi-region
Turso
Free- FreeFree
- 100 databases
- 5 GB storage
- 500M monthly rows read
- Developer$4.99/month
- Unlimited databases
- 9 GB storage
- 2.5B monthly rows read
- Scaler$24.92/month
- Unlimited databases
- 24 GB storage
- 100B monthly rows read
- Pro$416.58/month
- Unlimited databases
- 50 GB storage
- 250B monthly rows read
Which should you pick?
Choose Firestore if
- You need document model.
- You want to start without paying.
- You work on Web, Ios, Android, Flutter.
- You also want real-time updates.
Choose Turso if
- You need per-tenant databases.
- You want to start without paying.
- You also want mit licence.
Questions people ask
- Is Firestore or Turso better?
- Neither clearly leads. Firestore starts at Free and Turso at Free, and user ratings are close enough to be indistinguishable. Choose on capability and platform support.
- Which is cheaper, Firestore or Turso?
- Firestore starts at Free and Turso at Free.
- Does Firestore or Turso run on more platforms?
- Firestore runs on Web, Ios, Android, Flutter. Turso runs on Web.
- Can I use Firestore for free?
- Both have a free tier, so you can try either at no cost before committing.
- What is Firestore best used for?
- Firestore is most often used for storing structured application data with realtime listeners, backing mobile and web apps with a serverless document database, building offline first apps that sync when connectivity returns. Of those, storing structured application data with realtime listeners and backing mobile and web apps with a serverless document database are not what Turso is typically brought in for.
- What can Firestore do that Turso cannot?
- Firestore covers Document Model, Real-time Updates, Offline Support, ACID Transactions. Turso covers Per-tenant databases, MIT licence, Embedded replicas, SQLite compatibility.
Answered from the vendors’ own pages
Firestore: What are the free limits on Cloud Firestore?
The Spark Plan includes 1 GiB of stored data, 50,000 reads per day, 20,000 writes per day, and 20,000 deletes per day at no cost.
SourceTurso: Is Turso just hosted SQLite?
Not exactly. It hosts databases built on the SQLite lineage: libSQL, an MIT fork of SQLite, and Turso Database, a newer Rust rewrite. The platform adds branching, backups, an HTTP API and programmatic database creation.
Firestore: What happens when I exceed the Spark Plan free tier?
Exceeding the free tier requires upgrading to the Blaze Plan, which bills based on actual usage through Google Cloud pricing. Charges apply for reads, writes, deletes, and data storage.
SourceTurso: Can I really run a million databases?
That is the design goal and the platform API exists to make provisioning and deletion programmatic. The practical constraints are the ones that come with it: migrations fan out, and nothing can query across databases.
Firestore: Can I use Firestore without a credit card?
Yes, you can use the Spark Plan indefinitely without a credit card. To use the Blaze Plan (pay-as-you-go), a credit card is required.
SourceTurso: How do embedded replicas handle read-after-write?
Reads come from the local replica and writes go to the primary, so a read immediately after a write can return stale data unless you wait for a sync. Application code has to account for that rather than assume it.
Firestore: Is there a trial period for Cloud Firestore?
No trial period is specified. The Spark Plan free tier serves as the trial, with no time limit.
SourceTurso: What licence is it under?
libSQL and Turso Database are both MIT. Turso Cloud is a commercial managed service built on them, so the engine is genuinely open even though the platform is not.
Turso: Is Turso still an edge database?
No. Data Edge, the multi-region edge replication feature, is deprecated. The current positioning is per-tenant and embedded databases, and older material describing edge replication is out of date.
Related pages
Other head to heads
- Firestore vs PostgreSQL
- Firestore vs Airtable
- Firestore vs Cockroach Labs
- Firestore vs Amazon Aurora
- Firestore vs Couchbase
- Firestore vs CouchDB
- Firestore vs RavenDB
- Firestore vs Estuary
- Firestore vs ArangoDB
- Firestore vs ClickHouse
- Firestore vs OpenSearch
- Firestore vs Qdrant
- Firestore vs SingleStore
- Firestore vs TiDB
- Firestore vs Tinybird
- Firestore vs Typesense
- Firestore vs Apache Pinot
- Firestore vs Apache Kafka
- Firestore vs SurrealDB
- Firestore vs MotherDuck
- Firestore vs EMQX
- Firestore vs DuckDB
- Firestore vs Nile
- Firestore vs SQLite
- Firestore vs Teradata
- Firestore vs Instaclustr
- Firestore vs Knack
- Firestore vs LanceDB
- Firestore vs Marqo
- Firestore vs Ninox
- Turso vs PostgreSQL
- Turso vs Airtable
- Turso vs Cockroach Labs
- Turso vs Amazon Aurora
- Turso vs Couchbase
- Turso vs CouchDB
- Turso vs RavenDB
- Turso vs Estuary
- Turso vs ArangoDB
- Turso vs ClickHouse
- Turso vs OpenSearch
- Turso vs Qdrant
- Turso vs SingleStore
- Turso vs TiDB
- Turso vs Tinybird
- Turso vs Typesense
- Turso vs Apache Pinot
- Turso vs Apache Kafka
- Turso vs SurrealDB
- Turso vs MotherDuck
- Turso vs EMQX
- Turso vs DuckDB
- Turso vs Nile
- Turso vs SQLite
- Turso vs Teradata
- Turso vs Instaclustr
- Turso vs Knack
- Turso vs LanceDB
- Turso vs Marqo
- Turso vs Ninox
