Free is free until the project matters: the pause after a week of inactivity, the 500 MB database and the lack of backups are the real reasons to move to Pro, which starts at $25 a month.
1. Supabase Free vs Pro, point by point#
Supabase offers managed PostgreSQL with authentication, storage and functions. The difference between Free and Pro is not a list of features but of limits: how large the database can be, what happens when nobody uses it and whether backups exist. The table compares the two plans with data from the official pricing page, read on October 17, 2026.
| Feature | Free | Pro |
|---|---|---|
| Price | $0 a month | From $25 a month |
| Database | 500 MB per project | 8 GB per project; then $0.125 per GB |
| Active projects | 2 | No cap shown in the pricing table |
| Pause for inactivity | Yes, after 1 week | No |
| Automatic backups | Not included | Daily, 7-day retention |
| Point-in-time recovery | Not included | Add-on: $100 a month per 7 days of retention |
| File storage | 1 GB | 100 GB; then $0.0213 per GB |
| Egress | 5 GB | 250 GB; then $0.09 per GB |
| Monthly active users | 50,000 | 100,000; then $0.00325 per user |
| Compute credits | — | $10 a month (cover one Micro instance) |
The quick read: Free costs $0 and is for building; Pro starts at $25 a month and removes the restrictions that hurt in production. All figures are in US dollars and exclude taxes.
Go deeperSupabase pricing in 2026: Free and Pro plans and what it really costs
Documentation: Supabase: pricing and plans ↗
2. The limits that really force a change#
Not all limits weigh the same. Four show up first in practice.
- The pause: a Free project pauses after a week without activity. For a product with sporadic visits, that means a slow first load or an error until it wakes up.
- The size: 500 MB per project seems like a lot until you store records, vectors or events. Pro includes 8 GB and charges $0.125 per additional GB.
- The backups: Free does not include automatic backups; Pro keeps daily backups for seven days.
- The projects: Free allows two active projects, so one production and one test environment already exhaust it.
The other limits (egress, files, active users) are rarely the first problem: Free includes 5 GB of egress, 1 GB of files and 50,000 monthly active users.
Documentation: Supabase: pricing and plans ↗
3. A calculated rule for deciding#
To avoid deciding by gut feeling, the function below applies the published limits of the Free plan and returns the minimum plan with the reasons. It is a rule, not a prediction: adjust the thresholds if Supabase changes its terms.
def supabase_plan(db_mb: float, active_projects: int, needs_backups: bool, production: bool) -> str:
"""Returns the minimum plan according to the published limits of the Free plan."""
reasons = []
if db_mb > 500:
reasons.append("the database exceeds 500 MB per project")
if active_projects > 2:
reasons.append("you need more than 2 active projects")
if needs_backups:
reasons.append("Free does not include automatic backups")
if production:
reasons.append("Free pauses the project after 1 week of inactivity")
return "Pro (" + "; ".join(reasons) + ")" if reasons else "Free"
cases = [("Personal prototype", 80, 1, False, False), ("Client demo", 300, 2, False, False),
("Startup with users", 900, 2, True, True)]
for name, db_mb, projects, backups, prod in cases:
print(name + ":", supabase_plan(db_mb, projects, backups, prod))| Case | Database | Active projects | Backups and production | Minimum plan |
|---|---|---|---|---|
| Personal prototype | 80 MB | 1 | No | Free |
| Client demo | 300 MB | 2 | No | Free |
| Startup with users | 900 MB | 2 | Yes | Pro |
The prototype and the demo fit in Free. The startup crosses two thresholds at once (900 MB and production without pauses or backups), so Pro is the reasonable minimum: $25 a month plus any compute and usage beyond what is included.
4. How to move from Free to Pro without surprises#
The change is a billing decision, not a data migration: the project stays the same. Before doing it, measure what you already use and review how much compute you need, because that is the cost that grows most (see the Supabase pricing guide for three calculated scenarios).
- Measure the size of the database and its largest tables with the query below.
- Check the dashboard for last month's egress and active-user consumption.
- Decide the compute size: Pro's $10 credit covers a Micro instance; larger ones are billed separately.
- Set spend alerts before upgrading, to catch the first egress spike.
-- Size of the database and of its largest tables
select pg_size_pretty(pg_database_size(current_database())) as database_size;
select relname as table_name, pg_size_pretty(pg_total_relation_size(relid)) as size
from pg_catalog.pg_statio_user_tables
order by pg_total_relation_size(relid) desc
limit 5;Go deeperPostgreSQL: Find the Right Index with EXPLAIN
Documentation: Supabase: billing ↗ · PostgreSQL: administration functions ↗
5. When it makes sense to stay on Free#
Free is the right choice for prototypes, demos, personal projects and test environments that tolerate a pause. It also works for learning the product without a card. Move to Pro when someone depends on the application, not before.
If you are torn between Supabase and another managed database, Codifly's database comparator shows their plans side by side, and the Turso vs Supabase guide explains the difference between billing per instance and billing per row.
Go deeperTurso vs Supabase: pricing, billing model and which to choose
6. Keep your numbers current#
Plan limits and prices change. The figures in this guide are those on the official page on October 17, 2026; confirm the conditions before committing to a budget.
- Note the date you verified each limit.
- Review the pricing page when your data or user volume changes.
- Compare against other options in the database comparator before deciding.
Sources and scope
Documentation checked on October 17, 2026. Examples and decision criteria are editorial proposals; adapt them to your application's contract and validate them in an authorized test environment.