If you want a free database with at least 1 GB of storage, the two Postgres answers are Neon, which gives 1 GB of Postgres storage per project and up to 20 GB across your account, and Nhost, whose free Starter plan comes with a 1 GB database and 1 GB of file storage. Supabase's free database is 500 MB, not 1 GB. The 1 GB on its pricing page is file storage, and I'd bet that one line is behind a lot of the "Supabase alternative with 1 GB" searches. If you need more room and don't mind SQLite, Turso gives 5 GB free, though Turso announced on 2 October that Supabase is acquiring it. Cloudflare D1 also says 5 GB, but read the small print: that's the account total, and each free D1 database stops at 500 MB.

For auth bundled with the database, Neon's Managed Better Auth covers up to 60k MAU on Neon's Free plan, Supabase and Firebase each cover 50,000, and Nhost's pricing table says "Unlimited" on every plan, though I didn't check its terms for a fair-use cap.

Last verified: 6 October 2026. Every figure below was read off the vendor's own pricing page or docs that day.

The free tiers side by side

A dash means I didn't verify that cell on 6 October. It is not a claim that the vendor lacks the feature. "Not stated" means I looked in the vendor's pricing page and docs and found no rule either way.

Vendor Engine Free storage Compute / read-write quota Pause or sleep Auth on free First paid tier
Neon (Free) Postgres 1 GB per project, 20 GB account total 100 CU-hours per project; 5 GB egress per project Scale to zero "always enabled on Free (suspends after 5 min, cannot be turned off)" Managed Better Auth, up to 60k MAU Launch: usage-based, $0.106/CU-hour, $0.35/GB-month
Supabase (Free) Postgres 500 MB database; 1 GB file storage 5 GB egress; 2 active projects Paused after 1 week of inactivity 50,000 MAU Pro: from $25/month, 8 GB disk per project
Nhost (Starter) Postgres 1 GB database; 1 GB file storage 5 GB egress; 1 project Paused after 1 week of inactivity "Unlimited" users Pro: from $25/month, 10 GB database
Turso (Free), being acquired by Supabase SQLite (ground-up rewrite) 5 GB; 100 databases 500M rows read/month, 10M rows written/month, 3 GB syncs/month Archived after 10 days of inactivity — Developer: $4.99/month, 9 GB
Cloudflare D1 (Free) SQLite 500 MB per database, max 10 databases, 5 GB account total 5M rows read/day, 100,000 rows written/day Not stated — Workers Paid: 5 GB included, then $0.75/GB-month; 10 GB max per database
Firebase Firestore (Spark) NoSQL 1 GiB 50K reads/day, 20K writes/day, 20K deletes/day; 10 GiB/month egress Not stated 50K MAU (50 MAU for SAML/OIDC) Blaze: usage-based
MongoDB Atlas (M0) Document database 512 MB; 1 free cluster per project Up to 100 ops/sec; 32 MB sort memory; shared RAM Paused after 30 days with zero connections — Flex: $0.011/hr, capped at $30/month, 5 GB; dedicated M10 from $0.08/hr
Xata PostgreSQL No free hosted plan; 14-day trial of Xata Cloud Trial only n/a — Xata Cloud from $0.012/hr + $0.28/GB/month
PlanetScale Postgres, Vitess, Neki No free plan n/a n/a — Postgres from $5/month, single node


Free-tier database storage caps by vendor, checked 6 October 2026






Storage cap on each vendor's free database plan: Supabase 500 MB, Cloudflare D1 500 MB per database (10 databases, 5 GB per account), MongoDB Atlas M0 512 MB, Nhost 1 GB, Neon 1 GB per project (20 GB account total), Firestore 1 GiB, Turso 5 GB. Xata and PlanetScale have no free hosted tier. Verified 6 October 2026 against each vendor's own pricing or docs page.

The 1 GB question, answered properly

Supabase's pricing table has two storage rows, and people read the wrong one. "500 MB database size" is your Postgres data. "1 GB file storage" is for uploads: avatars, PDFs, whatever goes in buckets. If your tables are going to pass 500 MB, Supabase's Free plan isn't the fit, and moving to Pro, from $25 a month, takes you to 8 GB of disk per project.

Neon and Nhost are the like-for-like swaps at 1 GB. Nhost mirrors Supabase's shape closely: Postgres, a 1 GB database, 1 GB of file storage, 5 GB of egress, auth included. The difference that matters is the project count. Nhost's Starter plan is limited to one project. Supabase lets you keep two active.

Neon goes the other way on project count. (The brand is still Neon, though its homepage now describes it as "a complete backend from Databricks".) You get 100 projects with 1 GB each, but the account-wide ceiling is 20 GB, so you can't fill all hundred. Twenty full projects and you're done. Still, nobody else on this list gives you that many separate Postgres databases for nothing.

Neon only got to 1 GB this month. Neon's changelog (the entry is filed under 2 October 2026) says the Free plan "now gives you 1 GB of database storage per project, up from 0.5 GB", and existing projects picked up the new limit automatically. Anything written before October that says Neon is half a gigabyte was right at the time and is wrong now. The pricing page and the free plan FAQ both say 1 GB.

What the pricing pages won't spell out

"Paused" and "scaled to zero" are different problems

Supabase and Nhost use almost identical wording: a free project is paused after one week of inactivity. That's the one that ruins demo day. You ship a side project, nobody touches it over a holiday, and the next visitor finds a backend that isn't running. I wouldn't build a keep-alive cron around it either. What counts as "activity" is the vendor's call, not yours, and it can change without the pricing page changing.

Neon's rule sounds harsher and is actually gentler for small apps. Compute scales to zero after 5 minutes of inactivity, and the pricing page says it's "always enabled on Free (suspends after 5 min, cannot be turned off)". On the paid Launch plan you can switch it off. Scale-to-zero means the compute shuts down while nothing is happening, and the next query has to wake it, so the first request after a quiet stretch takes the hit. For a cron-driven app or an internal tool, I'd take that trade over a weekly pause every time.

Turso has a rule too. It's spelled out in the CLI docs, on the page for the turso group unarchive command: "Databases get archived after 10 days of inactivity for users on a free plan." That command is how you bring them back. Ten days sits between Supabase's week and MongoDB's month. Since it's written up under the restore command, I'd guess plenty of people meet it for the first time when a database they forgot about won't answer.

For D1 and Firestore I couldn't find an inactivity rule at all. I checked D1's pricing, limits and overview docs, and Firebase's pricing page and Firestore docs. None of them mention pausing. That's an absence on the pages I read, not a promise that they never pause, so the table says "Not stated".

Turso and D1 count rows, not hours

Turso and Cloudflare D1 don't meter compute time on the free tier. They meter rows. Turso's month is 500 million rows read and 10 million written. D1 resets daily: 5 million rows read and 100,000 written per day.

The daily cap is the one to watch. A monthly budget absorbs a bad afternoon. A daily one doesn't. With row-metered billing, a missing index stops being only a speed problem and becomes a quota problem too, so I'd check query plans before launch rather than after the first limit warning.

D1's storage figure needs the same care. The pricing page says 5 GB, and the limits page explains what that means on Free: up to 10 databases, none bigger than 500 MB. One app with one growing database hits the wall at 500 MB, not 5 GB. On Workers Paid the per-database ceiling goes to 10 GB, per the same limits page.

Turso's free plan needs no credit card and gives you 100 databases, which suits the database-per-user pattern. Past the free tier, the Developer plan is $4.99 a month with 9 GB. One thing changed this week: on 2 October Turso and Supabase both announced that Supabase is acquiring Turso, and Turso's pricing page now carries a banner saying so. Turso's post says "Your databases, APIs, and workflows continue as they do today." Neither company's announcement gives deal terms or a close date. The free-tier numbers in my table were still the ones on the pricing page on 6 October, and that's as far as I can honestly take it.

I did the same exercise for key-value stores in Upstash and Workers KV free tiers.

Xata: there's a trial, not a free tier

As of 6 October, xata.io/pricing shows three things: an Open Source option you self-host on your own infrastructure, Xata Cloud "starting at $0.012/hr + $0.28/GB/mo" with a 14-day free trial before a credit card is required, and a quote-based BYOC option. None of those is a free hosted database you can leave running. I only checked the pricing page and homepage, so if Xata has a free arrangement tucked away somewhere in its docs, I haven't seen it. But the pricing page has no free hosted plan.

PlanetScale: no free plan, in its own words

PlanetScale's plans documentation is blunt: "PlanetScale does not offer a free plan, previously known as the 'Developer' or 'Hobby' plan. All databases require a paid subscription starting with our Base plan..." The free tier went away in 2024, and PlanetScale's changelog has the dates: no new Hobby databases from 6 March 2024, plan retired on 8 April 2024. It hasn't come back. The cheapest way in today is single-node Postgres from $5 a month. The full breakdown, including Neki and Vitess, is on my PlanetScale pricing page.

MongoDB Atlas: one free cluster, and it sleeps too

MongoDB's pricing page calls M0 "free-forever": 512 MB, up to 100 operations per second, 32 MB of sort memory. The docs have moved on to calling these "Free clusters", so if you're searching the docs for M0 and coming up short, that's why. The free cluster limitations page fills in what the pricing page leaves out. You get one free cluster per Atlas project. And Atlas pauses a free cluster after 30 days of inactivity with zero connections. You can resume it, unless it was running an old version Atlas can't restore to the current one, which is why MongoDB's own docs tell you to export your data if you're stepping away for a while. Thirty days is far more forgiving than Supabase's week. It's still a pause.

The step up has changed too. According to MongoDB's Flex migration page, the old shared tiers stopped being supported on 22 January 2026, and Flex replaced them. The pricing page puts Flex at $0.011 an hour, capped at $30 a month, with 5 GB of storage. Past that, dedicated clusters start at M10, from $0.08 an hour. If an older guide names a different first paid tier, check it against the migration page before you trust it.

Auth on the free tier

Plenty of "Supabase alternative" searches are really about auth. People want login handled without paying for it on day one. Here's what each option includes for free, from the same pages as above.

Option Free auth allowance First paid step
Neon Managed Better Auth (Neon Free) Up to 60k MAU Launch: up to 1M MAU
Supabase Auth (Free) 50,000 MAU Pro, $25/month: 100,000 MAU
Firebase Authentication (Spark) 50K MAU for email, social, anonymous and custom sign-in; 50 MAU for SAML/OIDC —
Nhost (Starter) "Unlimited" total users, OAuth included Pro: from $25/month

Nhost's "Unlimited" is what its pricing table says. I didn't go through its terms for a fair-use ceiling, so take it as the table's word and not mine. Supabase's 50,000 MAU sounds like a lot until you notice it shares a project with a 500 MB database that pauses after a quiet week. For most apps on a free plan, the storage or the pause runs out long before the MAU count.

Firebase's 50K matches Supabase, with one trap. If you sell to companies that want SAML or OIDC single sign-on, the free allowance for those methods is 50 MAU. Not 50,000. Fifty. And the numbers move again if you upgrade to Identity Platform: Firebase's auth docs set a 3,000 daily active user limit on Spark once you do, for most sign-in providers, and 2 DAU for SAML and OIDC.

Neon's auth has changed names. What it offers now is Managed Better Auth, and the docs refer to "the previous Neon Auth implementation via Stack Auth". The pricing row is labelled "Auth (MAU)", with the same 60k on Free and 1M on Launch.

Which one I'd pick

For a Postgres side project that needs to stay up: Neon. It has 1 GB per project and Managed Better Auth up to 60k MAU, and its listed idle rule is a five-minute scale-to-zero rather than the one-week pause Supabase and Nhost list. The cost is a slower first query after a quiet spell. If you specifically want the Supabase-style bundle of database, file storage and auth in one dashboard, and one project is enough, Nhost matches Supabase's file storage and beats it on database size.

If storage is the constraint and you can live with SQLite semantics and row quotas, Turso gives you 5 GB with no card on file. Two things to know first. Free databases get archived after 10 days without activity, so anything you leave alone longer than that needs a turso group unarchive before it'll answer again. And if you were reaching for Turso specifically as a Supabase alternative, Supabase announced on 2 October that it's acquiring Turso (details above). D1 is the pick if you're already on Workers, as long as each database stays under 500 MB.

Supabase still makes sense if 500 MB really covers you, and for plenty of early apps it does. Just don't pick it because of the 1 GB figure, and don't leave a demo on it unattended for a week.

If you're stacking free credits across a whole project rather than only the database, free developer tool credits in 2026 covers the rest of the stack.