Neon Pricing Explained: What Serverless Postgres Costs

Neon has no plan fee on its paid tiers - the whole bill is four meters: compute CU-hours, storage, branches and egress. Here is how each meter works, two worked examples, and the workload shape where serverless pricing quietly flips against you.

TL;DR
Paid Neon has no monthly fee - you pay $0.106 per CU-hour of compute (Launch), $0.35 per GB-month of storage, $1.50 per extra branch-month, and $0.10/GB egress past 500 GB. Spiky workloads that suspend often are remarkably cheap. An always-on 1 CU database is ~$77/month of compute alone, which is where flat-priced Postgres becomes the better deal.
What you’ll learn
  • What a CU actually is (1 vCPU + 4 GB RAM) and how autoscaling multiplies the meter
  • The real limits of the free tier: 100 CU-hours and 0.5 GB per project
  • How branching bills, and why storage on branches surprises people
  • Two worked examples: a spiky dev database and an always-on production app
  • The break-even point where usage-based pricing loses to a flat plan

Neon is serverless PostgreSQL - the database engine is standard Postgres, but compute is decoupled from storage, scales automatically, and suspends when idle. Its pricing follows that architecture: on the paid plans there is no monthly plan fee at all. The entire bill is usage, spread across four meters. That makes Neon either remarkably cheap or quietly expensive, depending entirely on the shape of your workload - and this article is about knowing which one you are.

The plans in one table

Free

Launch

Scale

Monthly fee

$0

none (pay-as-you-go)

none (pay-as-you-go)

Compute

100 CU-hours / project

$0.106 / CU-hour

$0.222 / CU-hour

Storage

0.5 GB / project

$0.35 / GB-month

$0.35 / GB-month

Max autoscale

2 CU (8 GB RAM)

16 CU

16 CU (fixed up to 56)

Branches

10 / project

10, then $1.50 / branch-month

25, then $1.50 / branch-month

Egress

5 GB

500 GB, then $0.10 / GB

500 GB, then $0.10 / GB

History / restore

6 hours

7 days ($0.20 / GB-month)

30 days ($0.20 / GB-month)

Scale's higher CU-hour rate buys enterprise features - SOC 2 reports, HIPAA, private networking, a longer restore window - not faster compute. Most individual developers and small teams belong on Launch.

The free tier, honestly

Neon's free tier is one of the better ones in the industry: 100 CU-hours and 0.5 GB of storage per project, autoscaling up to 2 CU, ten branches, and no credit card or expiry date. 100 CU-hours is roughly three hours a day at 1 CU - plenty for a development database or a small demo that sleeps between visits.

The two limits that actually end free-tier tenancies are storage (0.5 GB fills quickly once indexes and WAL are counted) and the suspend behaviour: the first query after an idle period pays a cold start of up to a few seconds. If either has started to hurt, you are the target audience for the rest of this article - and if you are weighing the free tiers against each other rather than against paid plans, Neon vs Supabase covers how the two products differ beyond price.

You can check what your endpoint is actually doing - and whether something is keeping it awake - straight from SQL:

sql
-- how big is this database, really?
SELECT pg_size_pretty(pg_database_size(current_database()));

-- what is connected right now (the thing preventing suspend)?
SELECT application_name, state, count(*)
FROM pg_stat_activity GROUP BY 1, 2;
The four meters on a Neon billCompute CU-hours, storage GB-months, extra branches and egress each bill separately on NeonThe four meters on a Neon billThere is no plan fee on paid Neon. Everything is a meter.Compute$0.106 / CU-hourStorage$0.35 / GB-monthExtra branches$1.50 / branch-monthEgress past 500 GB$0.10 / GB
A Neon invoice is four independent meters. Compute is the one that dominates real bills; the other three are usually small print.

Meter 1: compute, the one that matters

A CU is 1 vCPU plus 4 GB of RAM. Neon autoscales the CU count with load and suspends the endpoint entirely after a few minutes of inactivity. You are billed per CU-hour actually run: a database that autoscales to 4 CU for a busy hour burns 4 CU-hours in that hour; a suspended database burns nothing.

This is the whole game. If your database sleeps most of the day - a dev environment, a demo, an internal tool - compute rounds to pocket change. If something keeps the endpoint awake 24/7, you are paying for 730 CU-hours a month minimum: about $77 on Launch at 1 CU, $155 at 2 CU. The classic mistake is an uptime monitor or a cron job that pings the database every minute, silently converting a spiky workload into an always-on one.

Spiky versus always-on compute on NeonA spiky workload pays for a few CU-hours; an always-on 1 CU database pays for all 730 hours in a monthWhere serverless pricing flips against youNeon bills compute per CU-hour. Idle time is free only if the database actually suspends.Spiky (dev, demos)~80 CU-hrs = ~$8Always-on 1 CU730 CU-hrs = ~$77Same database, same size. The difference is purely how many hours the compute runs.
The same database costs ~$8 or ~$77 a month depending on nothing but how many hours the compute actually runs.

Meter 2: storage

Storage bills at $0.35 per GB-month on both paid plans, measured on the actual data size. A 20 GB production database is $7/month - genuinely cheap. The subtlety is that branches share storage via copy-on-write: a fresh branch costs almost nothing, but as the parent and child diverge, the delta is billed too. Stale long-lived branches are how a 20 GB database ends up billing for 35 GB.

Meters 3 and 4: branches and egress

Extra branches past the included 10 cost $1.50 per branch-month, prorated hourly - trivial if you clean up preview branches, real money if every PR leaves one behind. Egress past 500 GB bills at $0.10/GB, which almost nobody hits from a typical app; treat it as protection against pathological cases rather than a line item to model. Instant restore history is the quiet fourth-and-a-half meter: $0.20 per GB-month of retained change history, which write-heavy databases accumulate faster than expected.

Two worked examples

  • A side project with traffic spikes. Awake perhaps 3 hours a day at 1 CU, 2 GB of data: ~90 CU-hours (~$9.50) + $0.70 storage = about $10/month. Cheaper than almost anything else with these features, and $0 in a month where nobody visits.

  • A production SaaS, always on. 1 CU around the clock with bursts to 2 CU, 15 GB of data, a few preview branches: ~800 CU-hours (~$85) + $5.25 storage + a few dollars of branches = roughly $92 - 95/month. At this point you are paying serverless rates for a server that never stops.

When Neon's model wins, and when it loses

Neon is the right economics when compute genuinely idles: development databases, previews per pull request, demos, internal tools, anything bursty. The branching workflow is excellent and honestly priced. It is the wrong economics for a steady always-on production database, where the meter never stops and a predictable flat bill is both cheaper and easier to forecast.

Full disclosure, since we sell the alternative: Swyftstack's managed Postgres is flat-priced - $19/month with backups and pooling included, no CU-hours, no suspend, no meters. For the always-on case above, that is the same database at a fifth of the price. For the spiky case, Neon's free tier beats us at $0, and we would rather tell you that than have you find out. We ran the same exercise on Supabase's pricing and Railway's if you are comparing the usage-based platforms against each other, and compared the products themselves in Neon vs Supabase.

How to keep a Neon bill small

  • Let it suspend. Audit anything that pings the database - health checks, cron, keep-alive hacks. Point them at your app, not your database.

  • Cap autoscaling at the smallest CU ceiling that survives your real traffic; test with the ceiling low.

  • Delete merged branches. Automate it in CI so preview branches die with their PRs.

  • Watch the storage graph monthly. Divergent branches and bloat both show up there first.

Prices quoted here were checked in July 2026. Vendors change them; treat the structure as the durable part and re-check the current numbers before you budget.

Summary
Neon's pricing is honest but compositional: four independent meters and no plan fee. The free tier is genuinely useful for prototypes. Paid Neon rewards workloads that suspend - dev databases, previews, demos - and punishes steady always-on traffic, where 730 CU-hours a month at $0.106 costs more than most flat plans before you add storage. Model your hours first; the rest of the bill is small print by comparison.

Frequently asked questions

Is Neon really free?

The free tier is real and permanent: 100 CU-hours of compute and 0.5 GB of storage per project, autoscaling up to 2 CU, no credit card. It suspends when idle, which is also how it stays free.

What is a CU-hour on Neon?

A CU (compute unit) is 1 vCPU with 4 GB of RAM. One CU running for one hour is one CU-hour. A database autoscaled to 2 CU burns 2 CU-hours per clock hour, so bursts multiply the meter.

Why is my Neon bill higher than I expected?

Almost always one of three things: the endpoint never suspends (a health check or cron pinging it keeps compute running 24/7), autoscaling is holding it at more CUs than you assumed, or branch storage is accumulating from stale branches.

Is Neon cheaper than a flat-priced Postgres plan?

For spiky or mostly-idle workloads, usually yes. For an always-on production database, 730 hours a month at $0.106/CU-hour is ~$77 of compute alone, before storage - more than most flat plans that include backups and never suspend.

Share this articleXLinkedInHacker News

Related articles

AWS RDS Pricing Explained: What Postgres on RDS Costs

RDS bills on five meters: instance hours, storage, IOPS, backup storage and data transfer - and Multi-AZ doubles the big two. Here is what each meter…

Read more
Supabase Pricing (2026): Plans, Costs at Scale & Alternatives

Supabase bills on four separate meters: the plan fee, per-project compute, egress, and database storage. Only the first is fixed. Here is what each…

Read more
Railway Pricing Explained: What Usage-Based Billing Costs

Railway's plan price is a minimum, not a maximum. Compute is metered per second across vCPU, memory, volumes, and egress. Here is how the model…

Read more

All posts