Skip to content
Home › SQL Comparisons › Turso vs Neon
Comparison · Cloud Databases

Turso vs Neon

Turso and Neon are both serverless databases with branching and point-in-time restore, but on different engines. Turso is SQLite-compatible: small databases you can embed in an app, read from a local file and sync to Turso Cloud, billed by rows read and written. Neon is PostgreSQL with storage separated from compute: autoscaling, scale to zero and copy-on-write branches, billed by compute hours and storage. Pick Turso for local reads and many tiny databases; pick Neon when you need full Postgres.

Last verified October 2026. Versions checked: Turso Turso Database 0.8.2 (6 October 2026), Neon Postgres 14 to 18. Licensing and features change; check the official sources for the latest details.

Quick verdict

Short answer

Choose Turso if your data fits SQLite's model and you want reads from a local file inside the app (embedded replicas or Turso Sync), offline-capable clients, or hundreds of small per-user databases at a low price. Choose Neon if you need PostgreSQL itself: its SQL dialect, types, extensions and ecosystem, plus copy-on-write branches with data for every pull request and compute that scales to zero when idle. The engine choice usually decides this before the services do; see SQLite vs PostgreSQL.

How we know: This comparison is research-based: engines, project status, licences, branching, restore windows, sync features and prices were checked against Turso's pricing page, documentation and GitHub repositories and against Neon's documentation and pricing page in October 2026. We have not measured latency or throughput; any timing quoted is the vendor's documented figure.

Turso offers SQLite-compatible databases in two forms. Turso Database is an in-process engine written in Rust (MIT licence, pre-1.0; v0.8.2 on 6 October 2026) that Turso describes as replacing libSQL, its earlier SQLite fork, as its intended direction. Turso Cloud is the managed service that hosts Turso Database and libSQL databases, with branching, point-in-time recovery and analytics. Apps can query Turso Cloud over the network, or keep a local copy through embedded replicas or Turso Sync.

Neon is serverless PostgreSQL built on separated storage and compute, now part of Databricks and branded Lakebase Postgres. It supports Postgres 14 to 18, autoscales compute, scales to zero after 5 minutes idle, and creates copy-on-write branches that include data. New projects run in AWS regions only. Plans are Free, Launch and Scale.

For backend platforms rather than databases, see Turso vs Supabase and Supabase vs Neon.

Side by side

AspectTursoNeon
Engine SQLite-compatible: Turso Database (Rust, pre-1.0) or libSQL PostgreSQL 14 to 18
Where queries run Turso Cloud over the network, or locally from an embedded replica or synced file Neon compute over the network (TCP, or HTTP/WebSocket via the serverless driver)
Idle behaviour Billed by rows read and written, not compute hours Scale to zero after 5 minutes idle; billed per CU-hour
Branching A branch is a new, separate database created from an existing one; counts towards the database quota Copy-on-write branches with schema and data, from now or a past point
Point-in-time restore 1 day on Free, 10 days Developer, 30 days Scaler, 90 days Pro 6 hours on Free, up to 7 days Launch, up to 30 days Scale
Many small databases 100 databases on Free, unlimited on paid plans Up to 100 projects on Free, 10 branches per project
Concurrency Turso Database adds BEGIN CONCURRENT (MVCC) beyond SQLite's single writer Standard Postgres MVCC; pooling up to 10,000 connections
Ownership and licence Turso; engines MIT Part of Databricks; storage engine Apache-2.0
Main trade-off Local reads and cheap per-tenant databases, but SQLite semantics and a pre-1.0 engine Full Postgres with data branching, but network round trips and compute-hour billing

Key differences

SQLite-compatible versus PostgreSQL

This is the deciding difference. Turso speaks SQLite's dialect and file format, with SQLite's flexible typing and a single database file. Turso Database adds features SQLite lacks, including BEGIN CONCURRENT for concurrent writers under MVCC (one of two conflicting transactions must roll back and retry), change data capture, vector support and experimental Postgres compatibility. Neon is PostgreSQL: its types, JSONB, extensions, roles and the wider Postgres tool ecosystem, with documented differences such as no tablespaces and a neon_superuser role instead of a true superuser.

In our assessment, if your schema or tooling already assumes Postgres, Neon is the natural fit; if your app already uses SQLite, Turso keeps the same model and adds a cloud copy.

Local reads versus network queries

Turso can place the database inside your application. An embedded replica keeps a local file that syncs from a Turso Cloud primary; Turso documents that reads run locally and writes go to the cloud primary, with the writing replica seeing its own writes immediately. Turso Sync, recommended for new projects that need sync, adds local writes with explicit push() and pull(). Both need a filesystem. Turso's older Edge Replicas (copies in many regions) are deprecated for new users.

Neon is always reached over the network. For serverless and edge runtimes it provides a driver that queries over HTTP or WebSockets. Side by side, as shown in each vendor's docs:

// TypeScript, @libsql/client (Turso): remote query with a bound parameter
import { createClient } from "@libsql/client";
const client = createClient({
  url: process.env.TURSO_DATABASE_URL,
  authToken: process.env.TURSO_AUTH_TOKEN,
});
const result = await client.execute({
  sql: "SELECT * FROM users WHERE id = ?",
  args: [1],
});

// JavaScript, @neondatabase/serverless (Neon): tagged-template query
import { neon } from "@neondatabase/serverless";
const sql = neon(process.env.DATABASE_URL);
const postId = 12;
const posts = await sql`SELECT * FROM posts WHERE id = ${postId}`;

Branching and restore

Neon's branches are its signature feature: copy-on-write clones with schema and data, created from the current state or a past point inside the restore window, without loading the parent. That suits a database per pull request or preview environment.

Turso branching creates a new database from an existing one (turso db create my-new-database-branch --from-db my-existing-database). The docs note the branch is completely separate, schema changes must be merged by hand, it needs its own token, and it counts towards your plan's database quota. Turso's point-in-time history is longer on its higher plans (up to 90 days on Pro) and Turso Cloud can recover deleted databases for up to five days.

Billing models

Turso charges a plan fee and meters rows read, rows written, storage and sync volume; there are no compute hours. Neon meters compute in CU-hours (one CU is about 4 GB of RAM with associated CPU) and storage in GB-months, and charges nothing for compute while a database has scaled to zero. For a read-heavy app with many tiny tenants, Turso's row-based model may be simpler to predict; for a single larger Postgres database with bursts of activity, Neon's compute-hour model applies. Neither vendor publishes a worked example we can quote, so model your own workload.

Pricing and licensing

Turso. Listed on the Turso pricing page in October 2026, in USD. Free: 0 USD, 100 databases, 5 GB storage, 500 million rows read and 10 million rows written per month, 3 GB of syncs, 1 day of history. Developer: 4.99 USD per month (a saving is shown for yearly billing), unlimited databases, 9 GB storage then 0.75 USD per GB, 2.5 billion rows read then 1 USD per billion, 25 million rows written then 1 USD per million, 10 days of history. Scaler: listed at 24.92 USD per month, 24 GB storage, 30 days of history. Pro: listed at 416.58 USD per month, 50 GB storage, 90 days of history. Enterprise: custom.

Neon. Listed on the Neon pricing page and plans documentation in October 2026, in USD. Free: 0 USD, up to 100 projects, 100 CU-hours per project per month, 1 GB storage per project, 10 branches per project, 6 hours of restore history. Launch: 0.106 USD per CU-hour, autoscaling up to 16 CU, up to 7 days of history. Scale: 0.222 USD per CU-hour, fixed computes up to 56 CU, up to 30 days of history. Storage on paid plans is 0.35 USD per GB-month; Neon states there is no monthly minimum on Launch and Scale.

Pricing checked on the vendors' official pages on 7 October 2026. Prices change; confirm before buying.

Where each one leads

Turso strengths

  • Local reads from an embedded replica or synced file inside the app
  • Many databases per account for per-user or per-tenant designs
  • Row-based billing with no compute hours, and a low-cost entry plan
  • MIT-licensed engines you can also run fully embedded without the cloud
  • Long point-in-time history on higher plans (up to 90 days)

Neon strengths

  • Full PostgreSQL 14 to 18 with extensions and the Postgres ecosystem
  • Copy-on-write branches that include data, from now or a past point
  • Scale to zero and autoscaling, billed per CU-hour
  • Serverless driver for HTTP and WebSocket queries from edge runtimes

Limitations

Turso limitations

  • SQLite semantics; not a drop-in for Postgres applications
  • Turso Database is pre-1.0 and libSQL now gets maintenance rather than new features
  • Branches are separate databases that count towards the quota, with manual merging
  • Edge Replicas are deprecated for new users; local copies need a filesystem

Neon limitations

  • Every query is a network round trip; no embedded or offline copy
  • A database that has scaled to zero must start compute again on the next connection
  • Free restore history is only 6 hours
  • Now owned by Databricks, and new projects are AWS only

When to choose each

Choose Turso if

  • Your app already uses SQLite and needs a managed cloud copy
  • You want reads served from a local file, or offline-capable clients that sync
  • You need hundreds or thousands of small isolated databases
  • Read-heavy workloads where row-based billing is easy to predict

Choose Neon if

  • You need PostgreSQL features, extensions or tools
  • You want a database branch with real data for every pull request
  • Your database is idle much of the time and should scale to zero
  • You may later move to RDS, Aurora or any other Postgres host

When neither is right

Final recommendation

Bottom line

Decide on the engine first. If SQLite's model fits and local reads or per-tenant databases matter, Turso is the more specialised choice, with the caveat that its newer engine is still pre-1.0. If you need PostgreSQL, Neon gives you serverless Postgres with branching that includes data and compute that sleeps when idle, with the caveat of Databricks ownership and an AWS-only footprint for new projects.

Frequently asked questions

Is Turso a replacement for Postgres?

Not directly. Turso is SQLite-compatible; Turso Database has experimental Postgres compatibility, but applications written for PostgreSQL should use a Postgres service such as Neon.

Which has better branching, Turso or Neon?

Neon's branches are copy-on-write clones with data and can start from a past point in time. Turso's branches are new databases created from an existing one, separate from the original and counted against your database quota.

Do Turso and Neon both have free plans?

Yes. Turso Free includes 100 databases and 5 GB of storage. Neon Free includes up to 100 projects with 100 CU-hours and 1 GB of storage per project.

Can I use Turso and Neon from edge functions?

Yes. Turso offers HTTP-capable clients such as @tursodatabase/serverless and @libsql/client; Neon offers @neondatabase/serverless, which queries over HTTP or WebSockets. Turso's embedded replicas need a filesystem, so they do not fit every edge runtime.

Sources

Checked October 2026.

How we research comparisons: our editorial method.

More comparisons

Browse all SQL comparisons or the tools directory.