# Turso vs PlanetScale

Canonical: https://inetgeek.com/compare/turso-vs-planetscale/

Every value below is read from Turso's and PlanetScale's own documentation. See https://inetgeek.com/methodology/ for how.

## At a glance

| Criterion | Turso | PlanetScale |
| --- | --- | --- |
| Free tier | Yes | No |
| Entry paid plan | $4.99/month for Developer, the cheapest paid plan. Scaler is $24.92 and Pro $416.58. | $5/month for a single-node Postgres database on network-attached storage; PlanetScale Metal with local NVMe starts at $50/month |
| Pricing model | Per database, metered on rows rather than compute time: 500 million rows read and 10 million written a month on the free plan, 2.5 billion and 25 million on Developer, with overage at $1 per billion rows read and $1 per million written. | Priced by node size and storage rather than usage, with high-availability clusters sold as a primary plus two replicas |
| Storage (entry plan) | 9 GB on Developer, then $0.75 per GB. The free plan includes 5 GB; Scaler is 24 GB at $0.50 and Pro 50 GB at $0.45. | First 10 GB free on network-attached storage, then per-GB pricing; storage is included for Metal databases |
| Engine | SQLite, via libSQL — Turso's own fork. Not Postgres or MySQL, so the query surface and the client libraries differ from every other database on this site. | PostgreSQL, and MySQL-compatible Vitess clusters with horizontal sharding |
| Database branching | Supported | Supported |
| Point-in-time recovery | 10 days on Developer. 1 day on the free plan, 30 days on Scaler and 90 days on Pro. | Point-in-time recovery through write-ahead log archiving. WAL is kept for as long as the oldest backup, so the default schedule gives a 2-day window and a longer retention extends it. |

## Where they differ

### Free tier

- Turso: Yes ([source](https://turso.tech/pricing))
- PlanetScale: No ([source](https://planetscale.com/pricing.md))

### Entry paid plan

- Turso: $4.99/month for Developer, the cheapest paid plan. Scaler is $24.92 and Pro $416.58. ([source](https://turso.tech/pricing))
- PlanetScale: $5/month for a single-node Postgres database on network-attached storage; PlanetScale Metal with local NVMe starts at $50/month ([source](https://planetscale.com/pricing))

### Pricing model

- Turso: Per database, metered on rows rather than compute time: 500 million rows read and 10 million written a month on the free plan, 2.5 billion and 25 million on Developer, with overage at $1 per billion rows read and $1 per million written. ([source](https://turso.tech/pricing))
- PlanetScale: Priced by node size and storage rather than usage, with high-availability clusters sold as a primary plus two replicas ([source](https://planetscale.com/pricing))

### Storage (entry plan)

- Turso: 9 GB on Developer, then $0.75 per GB. The free plan includes 5 GB; Scaler is 24 GB at $0.50 and Pro 50 GB at $0.45. ([source](https://turso.tech/pricing))
- PlanetScale: First 10 GB free on network-attached storage, then per-GB pricing; storage is included for Metal databases ([source](https://planetscale.com/pricing))

### Engine

- Turso: SQLite, via libSQL — Turso's own fork. Not Postgres or MySQL, so the query surface and the client libraries differ from every other database on this site. ([source](https://turso.tech/pricing))
- PlanetScale: PostgreSQL, and MySQL-compatible Vitess clusters with horizontal sharding ([source](https://planetscale.com/pricing))

### Point-in-time recovery

- Turso: 10 days on Developer. 1 day on the free plan, 30 days on Scaler and 90 days on Pro. ([source](https://turso.tech/pricing))
- PlanetScale: Point-in-time recovery through write-ahead log archiving. WAL is kept for as long as the oldest backup, so the default schedule gives a 2-day window and a longer retention extends it. ([source](https://planetscale.com/docs/postgres/backups))

## Which should you choose?

Pick Turso if Applications that want a database per tenant or per user — 100 databases on the free plan and unlimited above it make that a shape you can actually build.

Pick PlanetScale if Production workloads that want replicas across availability zones as the default shape rather than an upgrade, and teams who need MySQL-compatible sharding that the Postgres-only services do not offer.

Consider something else: Turso — It is SQLite, not Postgres: the metered units are rows read and written rather than compute, and the extension ecosystem you may be relying on is not there.

Consider something else: PlanetScale — You are prototyping. Pricing starts at a node rather than at zero, and there is no free tier documented on the pricing page.

## Documented by only one

- Egress over allowance: PlanetScale: 100 GB of egress included, then $0.06/GB
- Managed connection pooling: PlanetScale: Supported
- Regions: PlanetScale: 19 regions — 12 on AWS (Tokyo, Mumbai, Singapore, Sydney, Montreal, Frankfurt, Dublin, London, São Paulo, N. Virginia, Ohio, Oregon) and 7 on GCP. A branch's region is fixed at creation and changing it means migrating.
- Read replicas: PlanetScale: Supported
- Backup retention: PlanetScale: Automatic backups every 12 hours on production and development branches, retained 2 days by default. Custom schedules and manual backups can set a longer period, and are charged for it.

## Questions this comparison answers

**Entry paid plan: Turso or PlanetScale?**

Turso: $4.99/month for Developer, the cheapest paid plan. Scaler is $24.92 and Pro $416.58.
PlanetScale: $5/month for a single-node Postgres database on network-attached storage; PlanetScale Metal with local NVMe starts at $50/month

**Free tier: Turso or PlanetScale?**

Turso: Yes
PlanetScale: No

**Storage (entry plan): Turso or PlanetScale?**

Turso: 9 GB on Developer, then $0.75 per GB. The free plan includes 5 GB; Scaler is 24 GB at $0.50 and Pro 50 GB at $0.45.
PlanetScale: First 10 GB free on network-attached storage, then per-GB pricing; storage is included for Metal databases

**Should I choose Turso or PlanetScale?**

Pick Turso if Applications that want a database per tenant or per user — 100 databases on the free plan and unlimited above it make that a shape you can actually build.
Pick PlanetScale if Production workloads that want replicas across availability zones as the default shape rather than an upgrade, and teams who need MySQL-compatible sharding that the Postgres-only services do not offer.
