The cheapest database for a side project
The cheapest database is the one you never pay for — and for a hobby app, that is most of them. The only real decisions are which engine your app speaks and whether you can live with it going to sleep when nobody's using it.
New to cloud? CAMPUX is a free, build-first course. Start here →
For a side project you almost never need to pay for a database. Several managed options stay free indefinitely, not just for a trial. The right one comes down to two things: which engine your app already speaks, and whether you can tolerate it pausing when idle. For Postgres, look at Supabase or Neon. For the Microsoft or .NET stack, Azure SQL Database's free serverless tier. For SQLite at the edge, Cloudflare D1 or Turso. For MySQL, PlanetScale was the long-time answer.
I have shipped enough weekend projects to have paid for a database I did not need more than once, out of habit from work. You do not have to. The managed free tiers in 2026 are genuinely good — good enough that the money question is settled before it starts. What actually matters is picking the one whose limits you will not trip over and whose catch you can live with. Because every one of them has a catch, and "free" is quietly hiding it.
Start with the engine, not the price
Every provider on this list is free at hobby scale, so price is not the tiebreaker — the engine is. Your app talks to a database in a specific dialect, and switching later is real work. So decide this first.
- Postgres is the safe default for most new projects. It is the relational database with the deepest ecosystem, and two of the best free tiers going — Supabase and Neon — both speak it.
- SQLite is the answer when the database should live next to your code rather than across a network — small apps, edge functions, read-heavy workloads. Cloudflare D1 and Turso are SQLite you can deploy globally.
- SQL Server (via Azure SQL Database) is the answer when you are on the Microsoft stack — .NET, Entity Framework, a portfolio piece meant to show Azure on your résumé.
- MySQL is the answer mostly when your app or framework already assumes it. PlanetScale was the standard free home for it for years.
Pick the engine, then pick the cheapest home that runs it well. In 2026 that home is free in every case below.
The free tiers, side by side
Numbers move — providers revise these tiers more often than they announce it, so treat the figures below as the shape of each offer, not a contract. Confirm the current limits on the provider's own pricing page before you build on them. What does not change much is the character of each tier: what it is good at, and what it makes you give up.
| Provider | Engine | Rough free limits | Sleeps / pauses when idle? | Extras | Best for |
|---|---|---|---|---|---|
| Supabase | Postgres | A small managed Postgres instance with a low-single-digit-GB database cap and shared compute, plus storage and auth quotas on the free plan. | Yes — a free project pauses after a stretch of inactivity; you resume it from the dashboard. | Auth, auto-generated REST + realtime APIs, object storage, edge functions — a small backend, not just a database. | A full-stack side project that wants login and an API without you writing one. |
| Neon | Postgres | A free project with a storage cap and a monthly compute allowance; database branching included. | Yes — compute scales to zero when idle and wakes on the next query (a brief cold start). | Git-style branching of the database, instant branches for previews, serverless driver for edge/HTTP. | Plain Postgres with modern serverless ergonomics; preview environments per pull request. |
| Azure SQL Database | SQL Server | Free serverless offering with a monthly cap on compute (vCore-seconds) and a storage limit, on one database per subscription. | Yes — serverless auto-pauses when idle and resumes on first connection. | First-class .NET / Entity Framework support, T-SQL, integrates with the rest of Azure. | The Microsoft stack, and portfolio projects that should show Azure. (See the tilt below.) |
| Cloudflare D1 | SQLite | Free plan with per-day read/write row limits and a storage cap across your databases. | No warm-up pause in the same sense; it runs alongside Workers at the edge. | Tight integration with Cloudflare Workers; reads served close to users. | Small apps already built on Cloudflare Workers / Pages. |
| Turso | SQLite (libSQL) | Free plan with a storage cap and a monthly row-read allowance across multiple databases. | No cold-start pause of note; designed to stay reachable. | Multi-region replicas, embedded / local replicas, many databases per account. | Edge-served SQLite, or one-database-per-tenant hobby apps. |
| PlanetScale | MySQL | Historically a free hobby tier; the free plan was retired, so check current entry pricing before assuming free. | N/A — verify the current plan. | Schema branching and non-blocking migrations; strong MySQL tooling. | MySQL apps that want serious migration workflow — now weigh the cost. |
PlanetScale was the reflex answer for free MySQL for a long time, which is why it belongs in this comparison — a lot of tutorials still point at it. It removed its free hobby plan, so if you land there expecting free, you will not find it. For a free MySQL-ish home today, most people reach for a Postgres tier instead and adjust, or run MySQL themselves on a free-tier VM and accept the babysitting. Confirm the live pricing before you build a plan around any of it.
What "free" is hiding — the catch, per tier
None of these tiers are charity. They are free because the provider has bounded what you can do on them, and the bound is exactly where a growing project gets bitten. There are three catches. Every free tier has at least one; know which you signed up for.
Free never means unlimited. It means someone drew a line, and you'll find it the day your project matters.
- The cold-start pause. Neon and Azure SQL serverless scale compute to zero when idle to keep the tier cheap, which is fine right up until a real user hits the very first request and waits a beat for the database to wake. Supabase's free project goes further and pauses the whole project after enough inactivity, so a link you shared last month may greet a visitor with a spin-up. For a personal tool, nobody cares. For a demo you are showing an interviewer, warm it first.
- The hard cap. Storage limits, row-read allowances, and per-day operation quotas are generous for a hobby dataset and unforgiving for a real one. The failure mode is not a surprise bill — it is writes starting to fail, or the dashboard nagging you to upgrade, the week your project finally gets traffic. Know your ceiling before you hit it.
- The card on file. Several "free" tiers still want a credit card at signup — Azure is the notable one; a free tier does not mean a free account. The tier costs nothing, but the card is there so that the moment you cross a line, the meter can start. That is not a trap, but it is a thing to notice: free-tier does not mean no-card, and the two get conflated constantly.
The honest read: for a genuine side project, all three catches are survivable and none should cost you money. The trouble comes when a side project quietly turns into something people rely on and you never re-checked the line. When that happens, the skill you want is reading the pricing model — not the sticker — which is the same muscle a cloud cost engineer uses at work every day.
When Azure SQL free is the right call
If you are reading this from inside the Microsoft world, the tiebreaker is different, and it tilts toward Azure SQL Database's free serverless tier — not because it is cheaper (they are all free) but because of what it teaches and what it signals.
- Your app is .NET or Entity Framework. Azure SQL is SQL Server. The provider, the driver, the migrations tooling, the connection story — it all just fits, and you skip an impedance mismatch you would otherwise fight with a Postgres tier.
- The project is a portfolio piece. A side project that runs on Azure, with an Azure SQL backend and infrastructure you can describe, is a résumé line that maps directly onto jobs asking for Azure. A hobby app on a niche free tier does not carry the same signal into an interview. This is the whole reason the bootcamp is built on Azure — the learning doubles as the proof.
- You want the rest of the platform nearby. Once you have an Azure account, the free SQL database sits next to storage accounts, app services, and identity — the same building blocks a real system uses. You are not learning a toy; you are learning the platform, on the free tier.
The one thing to accept going in: Azure wants a card on file, and the free serverless database auto-pauses when idle. Both are fine for a portfolio project. Neither should ever produce a bill on the free tier — but set a budget alert anyway, because the habit of watching cost is the point.
New project, no strong opinion, no Azure requirement? Start on a free Postgres tier (Supabase if you want auth and an API handed to you, Neon if you want plain Postgres with branching). On the Microsoft stack, or building a portfolio piece? Azure SQL free serverless. Already living in Cloudflare Workers? D1. That covers almost everyone, and it costs nothing.
Where this fits the bigger picture
A managed free database tier is a small, concrete lesson in the thing that makes cloud worth learning: someone else runs the hard part, you rent the outcome, and the whole game is understanding where the free line sits and what happens when you cross it. That is platform-as-a-service in miniature, and it is the same reasoning that scales up to a real production system with a real bill. Start free, read the model, and you will not be the person who gets surprised — on a side project or on the job.
Common questions
What is the cheapest database for a side project?
Free, in almost every case. For Postgres, Supabase and Neon both have free tiers that stay free for a hobby project. For the Microsoft stack, Azure SQL Database has a free serverless offering. For SQLite at the edge, Cloudflare D1 and Turso are free to start. Pick by the engine your app already speaks, then by whether it is allowed to pause when idle.
Do free database tiers pause when idle?
Some do. Neon and Azure SQL serverless scale compute to zero when there is no traffic and take a moment to wake up on the first request — fine for a hobby app, annoying for anything a user is waiting on. Supabase's free project pauses after a stretch of inactivity and you resume it from the dashboard. Cloudflare D1 and Turso do not have a warm-up pause in the same way. Read the current terms before you commit; these change.
Is Azure SQL free for a side project?
Yes — Azure SQL Database offers a free serverless tier aimed at exactly this, with a monthly cap on vCore-seconds and a storage limit. It is the right call when your project is .NET, uses Entity Framework, or is a portfolio piece that shows Azure on your résumé. You do need an Azure account with a card on file even though the tier itself is free. Check the current limits on the Azure pricing page before you rely on them.
What's the catch with a free database tier?
There is always one. Usually it is a cold-start pause when the database has been idle, a hard cap on storage or rows that a real dataset will eventually hit, or a credit card required on file even for the free tier. None of these matter for a hobby project — but you should know which one you signed up for before it surprises you in production.