Turso
Edge-first SQLite database with embedded replicas, global replication, and libSQL for serverless and edge applications.
Best for developers building edge-first apps who want SQLite performance with global distribution.
Use Cases
Free Tier
5GB storage, 500M monthly rows read, 100 databases, 3 embedded replicas
How to Maximize the Free Tier
Turso's free tier is excellent for read-heavy apps — 500M monthly rows read with 5GB storage covers most side projects. Set up embedded replicas early to eliminate read latency entirely. Keep your write queries lean since all writes funnel through a single primary. Use the CLI to monitor your row read count mid-month, and delete unused databases to stay within limits. The free tier includes 3 embedded replicas, which is enough for multi-region deployment of a small app.
Getting Started
Sign up for a Turso account → install the Turso CLI via `curl -sSfL https://get.tur.so/install.sh | bash` → create a database with `turso db create mydb` → get your auth token with `turso db tokens create mydb` → embed an embedded replica in your app with `turso db embed setup mydb` → connect with the libSQL client library.
Pros
- Edge performance: Embedded replicas run locally in your app process — reads are instant with zero network latency
- SQLite familiar: Full SQLite compatibility via libSQL — no new query language to learn, existing SQLite tools work
- Generous free tier: 5GB storage and 500M monthly rows read is enough for most small to medium applications
Cons
- Single-writer: All writes must go to a single primary — not suitable for high-concurrency write workloads across regions
- Vendor lock-in: libSQL is Turso's fork of SQLite — migrating away requires switching to standard SQLite or another database
- Limited ecosystem: Fewer ORMs and admin tools support libSQL compared to PostgreSQL or MongoDB