Migrating production infrastructure? Get up to ₹10,000 in migration credits. Apply now
voroaBlog
PostgreSQL

Supabase Free Tier Limits: What Happens When You Hit Each

· · 5 min read

Supabase free tier limits and what happens at each - pause, read-only, restriction and the hidden auth limits

The Supabase free tier is one of the most generous free backends available, which is why so many student projects and early products in India start on it. Its limits are clear on paper, but what happens when you cross one is less obvious, and it usually shows up at the worst moment, such as the morning of a demo or a viva. This guide lists every limit, explains what each one does to a live app, and gives the exact fix where there is one.

All figures are from Supabase’s official pricing page and platform documentation, checked on 7 October 2026.

Advertisement

Every limit on the free plan

Resource Free plan limit
Active projects 2 per organisation
Database size 500 MB per project
Compute Shared CPU, 500 MB RAM
Egress (data sent out) 5 GB, plus 5 GB of cached egress
File storage 1 GB, with a 50 MB maximum per file
Monthly active users 50,000
Edge function invocations 500,000 per month
Realtime 200 concurrent connections, 2 million messages per month
Image transformations Not included
Automatic backups Not included
Logs kept 1 hour for auth, 1 day for API and database
Custom domain, branching, read replicas Not included
Support Community only
Inactivity Paused after 1 week

What happens at each limit

Diagram: a quiet week pauses the project; data over 500 MB makes it read-only; going over the usage quota restricts it; a project paused for over a year can no longer be restored from the dashboard

A quiet week pauses the project

A free project is paused when it “does not receive sufficient user database activity over the past week”, in Supabase’s words; a few real requests a day usually keeps it running. You get a warning email about a week before the pause and a second email when it happens.

A paused project does not answer at all, so your app shows errors until someone opens the dashboard and selects Resume project. It comes back with its data and settings. According to Supabase’s project pausing guide, you can restore it from the dashboard for up to a year.

Data over 500 MB makes the database read-only

The database keeps serving reads, but every insert and update fails with an error that it cannot execute the write in a read-only transaction. Sign-ups, orders and form submissions stop while pages that only read data look normal, which makes this easy to miss.

Check your size with:

sql
SELECT pg_size_pretty(sum(pg_database_size(datname))) FROM pg_database;

To get out of read-only mode, Supabase’s database size guide gives these steps:

sql
SET SESSION CHARACTERISTICS AS TRANSACTION READ WRITE;
-- delete the rows or tables you no longer need, then:
VACUUM;
SET default_transaction_read_only = 'off';

The first line applies only to your current session, so run all of it in one SQL editor session. If you cannot free enough space, the other way out is upgrading to Pro.

Going over the usage quota restricts the organisation

Egress, storage, function calls and other usage are counted across the whole free organisation. When usage passes the quota, Supabase emails the billing address and starts a grace period. If usage stays over, it can restrict the organisation: API requests start failing and new projects cannot be created. Restrictions lift when the next billing cycle starts, or straight away if you upgrade.

Auth sends only 2 emails an hour

This limit is not on the pricing page, and it catches many first launches. With Supabase’s built-in email sender, auth emails such as sign-up confirmations, magic links and password resets are limited to 2 per hour. A launch that brings 20 sign-ups in an hour leaves most of them waiting for an email that never arrives.

The fix is to connect your own SMTP provider in the auth settings, which is allowed on the free plan and lifts the limit. Phone OTPs and other auth endpoints have their own, higher limits.

Paused for over a year: no dashboard restore

After the restore window, the Resume project button is gone, and Supabase’s pausing guide does not promise another way back. Treat a project paused for over a year as lost unless you kept your own dump.

How to stay within the free tier

  1. Watch database size, not disk size. The 500 MB limit counts your data and indexes. Large text columns, logs and old rows grow it faster than you expect; run the size query above weekly.
  2. Resize images before upload. Full-size photos use egress every time someone views them, and image transformations are not on the free plan.
  3. Set up your own SMTP before launch. Do it before your first real users arrive, not after the complaints.
  4. Export your data yourself. There are no automatic backups, so run a dump before any schema change. Our Supabase backup guide shows how.

When the free tier is the wrong choice

The free tier fits learning, hackathons and prototypes. It is the wrong choice for an app that must answer at any hour: a live client project, a store, or anything people log in to daily. The weekly pause alone makes it unsuitable, and there is no backup if something goes wrong. Costs above the free plan are in Supabase pricing in India.

A free PostgreSQL database in Mumbai

If you only need PostgreSQL, Voroa’s managed PostgreSQL has a free size, DB Nano, with 1 GB of storage in Mumbai and no card needed. Free databases on Voroa are not paused today; the policy that would apply in future is written down in advance. As storage fills you get emails at 80% and 90%, and the database switches to read-only only near full, as described in database storage limits. Free web services are covered in free instances.

Voroa does not include auth, file storage or realtime. If your app uses those, compare carefully using our Supabase alternative guide.

FAQ

Is the Supabase free tier enough for production?

For a small internal tool that someone opens every day, it can be. For anything customers rely on, the weekly pause, the 2-emails-an-hour auth limit and the lack of backups are real risks.

Does Supabase delete my data when a project is paused?

No. A paused project keeps its data and can be restored from the dashboard for up to a year. After that, Supabase does not promise a way back, so keep your own dump.

How many free Supabase projects can I have?

Two active projects per free organisation.

Why are my Supabase sign-up emails not arriving?

Most often the built-in sender’s limit of 2 emails an hour. Connect your own SMTP provider in the auth settings.

Start a free PostgreSQL database in Mumbai

Create a free PostgreSQL database in Mumbai, connect it with one DATABASE_URL, and move to a paid size only when your app needs more. The steps are in creating and connecting a database.

Advertisement