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.
Sleeps or stays awake: the fork that decides it
Strip away the feature lists and the choice comes down to one question: can your project tolerate a cold start?
If it sits idle most of the day and a wait of a second or two on the first request is fine — a hobby tool, an internal dashboard, a preview environment — the serverless options are the better deal. The auto-pause is not a defect there; it is why the free tier can afford to be free, and the specialist providers give you more per gigabyte than a plain database would.
If the project gets steady traffic and a cold start would show, you want something that stays awake. The most generous never-pause option among the majors is an always-free autonomous database. A small always-on machine running the database yourself never pauses either, at the cost of now owning patching and backups — a real cost, and not one to take on unless you want the practice.
If you are staying inside Azure
| Option | Monthly cost | The catch | Best for |
|---|---|---|---|
| Azure SQL free offer | Free, ongoing | A monthly compute cap; it pauses or bills once you hit it | Learning SQL, certification labs, small app backends |
| Cosmos DB free tier | Free within the allowance | One account per subscription, and overage bills normally | NoSQL learning, small always-on APIs |
| PostgreSQL Flexible Server, smallest burstable | Cheap, not free | Storage bills even while the server is stopped, and stopped servers restart automatically after a period | A real open-source database on a portfolio project |
| Table Storage | Pennies per gigabyte plus transactions | No SQL and no joins — key-value only | Logs, lookup data, cheap application state |
The paragraph most cloud sites will not write
Here is something a cloud training site is not supposed to say: for a lot of learner projects, the right database is not in the cloud at all. If your portfolio app runs on one small machine and the database exists only to make the app function, SQLite — a single file, embedded in your process, no configuration and no cost — is not a toy. It is one of the most deployed pieces of software on earth, and for a single-box app it beats a remote database because there is no network round trip at all.
Use a managed cloud database when the database is part of what you are demonstrating: connection strings and secret handling, firewall rules, backups and restores, scaling tiers — the operational story an employer asks about. Use SQLite when the database is plumbing and the app is the point. Doing both is reasonable: build fast on SQLite, then swap in a managed database at the end specifically to practise the wiring. That order costs almost nothing and teaches the same lessons.
The database you chose is almost never what bills you. The thing you forgot about it is.
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.
Which free PostgreSQL option is best for a side project?
It depends on whether the project can tolerate a cold start. If it is idle most of the day, the specialist serverless providers give the most per gigabyte and their auto-pause is the reason the tier can be free at all. If it needs to stay awake, an always-free autonomous database is the most generous never-pause option, and running Postgres yourself on a small always-on instance never pauses either — at the cost of owning patching and backups.
Should I use SQLite instead of a cloud database?
Often, yes. If your app runs on one machine and the database is plumbing rather than the thing you are demonstrating, SQLite is a single file with no configuration, no cost and no network round trip. Reach for a managed cloud database when the database itself is part of the story you want to tell — connection strings, secrets, firewall rules, backups and scaling tiers — because that is the operational experience an employer asks about.
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.