Managed database prices in 2026: Neon, Supabase, PlanetScale, Turso and Cloudflare D1

Five managed databases compared with the prices on their official pages in October 2026: free plan, paid entry, billing model and three calculated workloads.

In this article
In 30 seconds

There is no directly comparable price across five databases that charge for different things (compute, a fixed plan or rows): on a medium workload, Cloudflare D1 comes to $17.25 a month, Neon $18.28, Turso $24.92 and Supabase $25, but each one's limits change the decision.

1. The entry plans of five databases#

The most talked-about managed databases of 2026 do not charge for the same thing: Neon for compute and storage, Supabase for a plan, PlanetScale for cluster size, and Turso and Cloudflare D1 for rows read and written. The table gathers each one's free plan, paid entry and billing model, according to its official page read on October 17, 2026.

ProviderEngineFree planPaid entryHow it charges
NeonPostgreSQLYes, permanent: 100 CU-h and 1 GB per projectNo fixed fee: $0.106 per CU-hour (Launch)By use: compute per hour and $0.35 per GB-month
SupabasePostgreSQLYes: 500 MB and pauses after 1 weekFrom $25 a month (Pro)Plan plus compute, disk and egress
PlanetScalePostgreSQL and Vitess (MySQL-compatible)NoFrom $5 a month (single-node Postgres, PS-5)By cluster size
TursoSQLite-compatibleYes: 5 GB and 500 million reads$4.99 a month (Developer)Plan plus rows read and written and storage
Cloudflare D1SQLiteYes, with daily caps: 5 million reads and 100,000 writes$5 a month minimum (Workers Paid)Rows read and written plus storage

PlanetScale no longer offers a free plan: its documentation states that all databases require a paid subscription, with single-node Postgres from $5 a month. All figures are in US dollars and exclude taxes.

Go deeperSupabase pricing in 2026: Free and Pro plans and what it really costs

Documentation: Neon: pricing ↗ · Supabase: pricing and plans ↗ · PlanetScale: pricing ↗ · PlanetScale: plans ↗ · Turso: pricing ↗

2. Restore, branches and limits#

Beyond price, point-in-time restore and the number of branches or databases make the difference in daily work. The table summarizes what each provider publishes.

ProviderPoint-in-time restoreBranches or databases
Neon6 hours (Free), up to 7 days (Launch), up to 30 days (Scale)10 branches per project (Free and Launch), 25 (Scale); extra at $1.50 per branch-month
SupabaseDaily 7-day backups on Pro; point-in-time recovery as a $100 a month add-on2 active projects on Free
TursoFrom 1 day (Free) to 90 days (Pro)100 databases on Free; unlimited on paid plans
Cloudflare D1Time Travel: 7 days (Free) and 30 days (Paid)Databases follow Workers limits

Documentation: Cloudflare: D1 pricing ↗ · Cloudflare: D1 Time Travel ↗

3. Three calculated workloads#

To compare different billing models, the code calculates the monthly cost of three workloads on four of the five databases. PlanetScale is left out because it charges by cluster size and its price depends on a configuration that cannot be reduced to rows. For Neon an average compute usage is assumed (0.2 CU on the first two workloads and 0.4 CU on the third, 730 hours a month); scale to zero would lower it.

python
TURSO = {  # plan: (base, GB incl., reads incl. (M), writes incl. (M), USD/GB, USD per 1,000 M reads, USD per M writes)
    "Free": (0.00, 5, 500, 10, None, None, None),
    "Developer": (4.99, 9, 2_500, 25, 0.75, 1.00, 1.00),
    "Scaler": (24.92, 24, 100_000, 100, 0.50, 0.80, 0.80),
    "Pro": (416.58, 50, 250_000, 250, 0.45, 0.75, 0.75),
}

def turso(gb, reads, writes):
    best = None
    for plan, (base, gb_inc, lec_inc, esc_inc, r_gb, r_lec, r_esc) in TURSO.items():
        if r_gb is None:
            if gb > gb_inc or reads > lec_inc or writes > esc_inc:
                continue
            total = base
        else:
            total = base + max(0, gb - gb_inc) * r_gb + max(0, reads - lec_inc) / 1_000 * r_lec + max(0, writes - esc_inc) * r_esc
        if best is None or total < best[1]:
            best = (plan, total)
    return best[1]

def d1(gb, reads, writes):          # Workers Paid: $5 minimum; 25,000 M reads and 50 M writes included
    return 5 + max(0, gb - 5) * 0.75 + max(0, reads - 25_000) * 0.001 + max(0, writes - 50) * 1.00

def supabase(gb):                          # Pro: $25, 8 GB included, Micro compute covered by the credit
    return 25 + max(0, gb - 8) * 0.125

def neon(gb, cu_promedio):                 # Launch: $0.106 per CU-hour (730 h a month) and $0.35 per GB-month
    return 0.106 * cu_promedio * 730 + 0.35 * gb

workloads = [("Small", 2, 200, 5, 0.2), ("Medium", 8, 4_000, 60, 0.2), ("Read-heavy", 10, 20_000, 20, 0.4)]
for name, gb, reads, writes, cu in workloads:
    print(f"{name}: D1 {d1(gb, reads, writes):.2f} | Turso {turso(gb, reads, writes):.2f} | Supabase {supabase(gb):.2f} | Neon {neon(gb, cu):.2f}")
Prices from the official pages read on 2026-10-17. Prints the small workload with D1 $5, Turso $0 (Free plan), Supabase $25 and Neon $16.18.
WorkloadCloudflare D1Turso (best plan)Supabase ProNeon Launch
Small (2 GB · 200 M reads · 5 M writes)$5$0$25$16.18
Medium (8 GB · 4,000 M reads · 60 M writes)$17.25$24.92$25$18.28
Read-heavy (10 GB · 20,000 M reads · 20 M writes)$8.75$23.24$25.25$34.45

The pattern is clear. With small workloads, Turso Free costs nothing and Cloudflare D1 starts at $5. On the medium workload, D1 ($17.25) and Neon ($18.28) come in below Supabase's $25, with Turso at $24.92. On the read-heavy one, D1 ($8.75) and Turso ($23.24) stay below, while Neon rises to $34.45 because its compute weighs more than rows; D1 dominates when reads are many because it charges $0.001 per million rows read. But D1 and Turso are SQLite and require a data model different from PostgreSQL; also check D1's per-database limits on its page.

Go deeperTurso vs Supabase: pricing, billing model and which to choose

Documentation: Cloudflare: Workers pricing ↗

4. Which to choose for your need#

There is no overall winner; the table turns each need into a criterion and a candidate.

If you need…Look first atUsually fits
PostgreSQL with extensions, authentication and functions includedThe engine and what comes includedSupabase or Neon
Pay only for what you use, with scale to zeroCompute per hour and idle timeNeon
Many small databases or very high reads per rowThe price per million rowsTurso or Cloudflare D1
Run the database next to code on Cloudflare WorkersThe Workers integrationCloudflare D1
MySQL (Vitess) or PostgreSQL in a high-availability clusterCluster size and high availabilityPlanetScale

Before deciding, estimate your rows read and written per month, the size of your data and whether your application needs PostgreSQL extensions. Those three facts eliminate half the options.

Go deeperPostgreSQL: Find the Right Index with EXPLAIN

5. What these prices do not include#

The figures in this guide are those of each provider's base plan. Several items are billed separately and can move the bill.

  • Egress: Neon includes 500 GB per project on Launch and then charges $0.10 per GB; Supabase includes 250 GB on Pro.
  • Extra branches: Neon charges $1.50 per branch-month above those included.
  • Backups and recovery: on Supabase, point-in-time recovery is a $100 a month add-on per 7 days of retention.
  • Support and security: SSO, priority support and compliance usually cost more on higher plans.

6. Keep your numbers current#

Managed database plans change often: PlanetScale withdrew its free plan and Supabase, Neon and Turso adjust quotas. The figures are those on the official pages on October 17, 2026.

  • Note the date you read each rate.
  • Measure your real rows read and written and the size of your data for a month.
  • Compare more options in Codifly's database comparator.

Sources and scope

Documentation checked on October 17, 2026. Examples and decision criteria are editorial proposals; adapt them to your application's contract and validate them in an authorized test environment.

Compare these options

Compare databases

Review pricing, limits, conditions and sources for each option.

Open comparison
Advice

Is your case different?

Tell us your context and the options you're weighing. We reply with criteria and sources, and never sign you up for anything.

Request advice