# Supabase vs Firebase: database, pricing, auth and lock-in compared

> Supabase runs Postgres with a fixed plan fee. Firebase runs Firestore billed per read and write. How the two compare on data, free tiers, bills and lock-in.

- **Published:** 2026-10-27
- **Author:** Abhishek Jaiswal
- **Section:** Compare (https://ownkube.io/compare)
- **Tags:** supabase, firebase, supabase-vs-firebase, postgres, firestore, baas
- **Canonical URL:** https://ownkube.io/compare/supabase-vs-firebase
- **Cover:** https://ownkube.io/blog/supabase-vs-firebase.png

---
Supabase and Firebase both give a frontend a database, auth, file storage and functions without running a server. The difference starts with the database. Supabase is Postgres, with tables, joins and SQL, and it bills a plan fee plus compute size. Firebase is Firestore, a document store with offline sync, and it bills per document read and write. Pick Supabase if your data is relational or you want to keep the option to leave. Pick Firebase if you are building a mobile app that leans on offline sync and Google's mobile tools.

**TL;DR**

- Supabase is Postgres. Firebase's main database, Firestore, stores documents and has no joins.
- Supabase Pro is $25 a month and includes $10 of compute credit. Firebase Blaze has no base fee and bills each read, write and GB.
- Both free plans include 50,000 monthly active users for auth. Supabase Free pauses a project after a week of inactivity, and Firebase Spark caps Firestore at 50,000 reads a day.
- Supabase Pro has a spend cap on by default for usage lines. Firebase has budget alerts, which do not stop spending.
- Supabase is open source and can be self-hosted. Firebase runs only on Google Cloud.

## Supabase vs Firebase at a glance

| | Supabase | Firebase |
|---|---|---|
| Database | Postgres | Firestore (documents), Realtime Database (JSON tree) |
| Queries | SQL with joins | Document queries, no joins |
| Access rules | Postgres row level security | Firebase security rules |
| Functions | Edge Functions on Deno (TypeScript) | Cloud Functions (Node.js, Python) |
| Offline sync | Not built in | Built into the Firestore SDKs |
| Push, crash reports, analytics | Not included | Cloud Messaging, Crashlytics, Analytics |
| Pricing model | Plan fee plus compute size | Pay per read, write, GB and invocation |
| Self-hosting | Yes, with Docker or the CLI | No |

## How do the data models differ?

### Supabase: tables and SQL

A Supabase project is a full Postgres database. You define tables, foreign keys and indexes, and query them with SQL or through the API Supabase generates from your schema. A report that joins orders, customers and products is one query.

Postgres extensions come with it. pgvector stores embeddings next to the rows they describe, and PostGIS handles location queries.

### Firebase: documents and collections

Firestore stores JSON-like documents in collections. Queries filter and sort within a collection, and there are no joins, so data that would be related in SQL is usually copied into each document that needs it. Updating a customer's name can mean writing to every order that holds a copy.

In exchange, Firestore's mobile and web SDKs cache data on the device, work offline and sync changes when the connection returns. Real-time listeners push updates to every client watching a document.

## How does pricing compare?

The two bill in different units, so the cheaper one depends on traffic.

### Firebase bills per operation

On Blaze, Firestore bills each document read, write and delete past a daily free quota.

| Firestore location | Reads per 100K | Writes per 100K | Storage per GiB a month |
|---|---|---|---|
| Mumbai | $0.035 | $0.104 | $0.104 |
| Frankfurt | $0.039 | $0.117 | $0.117 |

Every document a query returns is a read, so a list screen with 50 items costs 50 reads each time it opens. [Firebase pricing explained](/compare/firebase-pricing-explained) covers Functions, Hosting and Storage line by line.

### Supabase bills per plan and compute size

Pro is $25 a month per organization and includes $10 of compute credit, which covers one Micro project (1 GB of memory). Bigger sizes cost more: Small is about $15 a month and Medium about $60. Queries are not counted, so the bill follows the size the database needs. [Supabase pricing explained](/compare/supabase-pricing-explained) has the full compute table.

| Pro quota | Included | Past the quota |
|---|---|---|
| Database disk | 8 GB per project | $0.125 per GB |
| Egress | 250 GB | $0.09 per GB |
| Monthly active users | 100,000 | $0.00325 per user |
| File storage | 100 GB | $0.0213 per GB |
| Edge Function invocations | 2 million | $2 per million |
| Realtime messages | 5 million | $2.50 per million |
| Realtime connections | 500 concurrent | $10 per 1,000 |

### Two example bills

A small app with 6 million Firestore reads, 900,000 writes and 2 GiB of data a month costs about $2 in Mumbai on Firebase. The same app on Supabase Pro is $25, or $0 on Supabase Free if it fits in 500 MB and stays active.

A busy app with 30 million reads, 3 million writes and 5 GiB costs about $12.90 a month in Mumbai on Firestore, with reads making up about three quarters of that. Supabase Pro stays at $25 while the database fits on Micro. Firebase is cheaper at low and moderate traffic. Its read charges grow in step with traffic, while a Supabase bill moves when you change the compute size.

## How do the free plans compare?

| | Supabase Free | Firebase Spark |
|---|---|---|
| Database | Postgres, 500 MB | Firestore, 1 GiB |
| Database limits | Two active projects | 50,000 reads, 20,000 writes and 20,000 deletes a day |
| Egress | 5 GB | 10 GiB a month from Firestore |
| Auth | 50,000 monthly active users | 50,000 monthly active users |
| File storage | 1 GB | Needs Blaze |
| Functions | 500,000 Edge Function invocations | Needs Blaze |
| Realtime | 200 concurrent connections, 2 million messages | Listener updates bill as reads |
| Inactivity | Project pauses after a week | No pause |
| Backups | None | None |

Spark has no inactivity pause, which makes it the better home for a small app that gets little traffic. Supabase Free is the better fit when you need file storage or functions without a payment method.

## Auth, storage and functions

Both include email, password and social sign-in, and both give 50,000 monthly active users on the free plan. On paid plans, Supabase Pro includes 100,000 and bills $0.00325 per user past that. Firebase bills past 50,000 at Google Cloud rates, and phone sign-in bills per SMS. Supabase's phone multi-factor authentication is a $75 a month add-on for the first project.

Supabase Storage is part of every plan, with 1 GB on Free and 100 GB on Pro. On Firebase, Cloud Storage needs Blaze, and its free amounts only apply to buckets in three US regions.

Supabase Edge Functions run TypeScript on Deno. Firebase Cloud Functions run Node.js or Python on Google Cloud, with 2 million invocations a month free on Blaze, then $0.40 per million plus CPU and memory time.

## Spend limits and backups

Supabase Pro has a spend cap, on by default. With it on, usage past a quota stops until the next billing cycle. It covers disk, egress, users, storage, realtime and function invocations. Compute size and point-in-time recovery bill whether the cap is on or off.

Firebase has no spend cap. A Google Cloud budget sends alerts, and stopping the bill means disabling billing on the project or turning services off yourself.

Supabase Pro includes daily backups kept 7 days. Point-in-time recovery is $100 a month per 7 days of retention. Firestore backups and point-in-time recovery have no free usage and bill once enabled.

## Regions

Supabase lets you pick a region per project, including Mumbai (`ap-south-1`), Frankfurt (`eu-central-1`) and London (`eu-west-2`). Firestore has locations in Mumbai (`asia-south1`) and Frankfurt (`europe-west3`), plus a Europe multi-region (`eur3`) that costs more. Put the database in the same region as most of your users.

## Lock-in

Supabase is open source, and you can run it yourself with Docker. Because the database is Postgres, `pg_dump` moves the data to any Postgres host, and the SQL and row level security policies come with it.

Firebase runs only on Google Cloud. Moving off Firestore means exporting documents and redesigning them into another data model, and the client code that calls the Firebase SDK changes too.

## Which should you pick?

| Your app | Pick |
|---|---|
| Mobile app that must work offline | Firebase |
| Uses push notifications, Crashlytics and Analytics | Firebase |
| Relational data, reports or joins | Supabase |
| Vector search next to app data | Supabase, with pgvector |
| Small app with little traffic and no payment method | Firebase Spark |
| Wants a spend cap on usage | Supabase Pro |
| Wants to self-host later | Supabase |

## How Ownkube compares

Ownkube is a different shape from both. It runs your own backend, workers, scheduled jobs and a Postgres database, billed by the resources they use. It has no built-in auth, file storage or client SDK, so you bring a library for each. This fits a project that has outgrown calling the database straight from the frontend.

Postgres starts at $4 a month on a DB 0.5 box, plus $0.25 per GB of storage, and Postgres extensions such as pgvector and PostGIS turn on from the database settings. Compute bills at about $18 per vCPU a month and $4.50 per GiB, by the minute. Apps run in Mumbai or Germany.

Billing works from a prepaid wallet. Pay as you go starts with a $5 top-up, Personal is $5 a month and loads $5 of credit, and Team is $20 a month and loads $20. Credit never expires. When it runs out, apps pause and keep their data until you top up.

## Checklist before you pick

- Is your data relational, or does it fit in self-contained documents?
- Does the app need to work offline on a phone?
- How many documents does a busy screen read, and how often does it open?
- Do you need a hard cap on usage, or are budget alerts enough?
- Would you want to move the database to another host one day?

For other Postgres hosts, see [Supabase alternatives](/compare/supabase-alternative), [Neon vs Supabase](/compare/neon-vs-supabase) and [managed Postgres pricing](/compare/managed-postgres-pricing).

## FAQ

### Is Supabase better than Firebase?

For relational data, SQL and a path to self-hosting, Supabase fits better. For a mobile app that needs offline sync, push notifications and crash reporting from one SDK, Firebase fits better.

### Is Supabase cheaper than Firebase?

At low traffic, usually not: a small Firestore app often costs a few dollars a month on Blaze or nothing on Spark, while Supabase Pro starts at $25. Firestore bills every read, so a read-heavy app can cost more on Firebase once its traffic grows.

### Can I migrate from Firebase to Supabase?

Yes. Firestore documents have to be mapped to tables, the security rules rewritten as row level security policies, and the client code moved from the Firebase SDK to the Supabase client. Firebase Auth users can be exported and imported.

### Does Supabase have offline sync like Firebase?

Not built in. Supabase's client libraries query the database over the network. Apps that need offline sync add a separate library for it.

### Can I self-host Firebase?

No. Firebase runs on Google Cloud only. The Firebase emulators run locally for development and testing.

## Where Ownkube fits

If your app has its own API and uses Supabase or Firebase mostly as a database, Ownkube runs the API, its workers and Postgres together from a prepaid wallet. [Deploy my first app](https://app.ownkube.io/login).

## Search

This site has a search endpoint: https://context7.com/api/v2/ask?siteKey=ask_c64dfe8ffaa8d3ad19576838&query=<URL-encoded question>. It returns documentation that answers the question, with a source link for each part. No API key is needed. If nothing matches, it says so.
