Backups
Supabase project paused? Your data is still there
Supabase paused your project after a week of inactivity. Nothing is deleted, Restore sits beside the project name, and you have a year before that changes.

In short
- A Supabase project paused for inactivity is not a deleted one. The data is frozen on disk and the dashboard has a Restore button beside the project name.
- You have one year from the day it paused to restore it from the Supabase dashboard. Free projects pause after about a week of low activity.
- After that year the Restore button is replaced by a download, and the only way back is a new project with a new URL and new keys.
- The free plan copies nothing while your project is running, so the only backup that exists is the one taken the moment it paused.
Your app stopped answering. Every request comes back as an error, and when you open your Supabase dashboard the project has the word Paused beside its name, with a Restore button where the usual panels used to be. Nothing you deployed caused it, and nothing warned you it was coming.
Here is where the two usual answers both go wrong. One says your database is gone, which was never true. The other says relax, because a Supabase project paused for inactivity still holds all of its data, so press Restore and get on with your day. That one is true today and quietly stops being true on a date nobody mentions.
It helps to think of the project as a storage unit. The rent stopped, so the lights are off and the door is locked. Your boxes are inside, exactly as you left them. That is where your project is standing right now, and there is a date after which the unit gets cleared out.
Is a paused Supabase project deleted?
No. The project is stopped, and stopping is not removing. Your tables, your rows, your Row Level Security policies and the files your users uploaded are all still sitting on disk. What has been switched off is the database in front of them, which is why your app gets an error for every request it makes.
That gap is what makes the panic reasonable. From the outside the app is broken the way an app breaks when its database has gone: empty lists, loaders that never finish, an error on every save. From the dashboard it is a project with a button on it.
Supabase pauses projects on the free plan and only on the free plan. In their own words they "may pause applications on the Free Plan that exhibit low activity in a 7-day period to save on server resources", and paid projects are not paused for inactivity at all. Their project pausing page is the one to read, because everything below depends on numbers that are theirs to change.
Why did Supabase pause my project?
Because nothing talked to it for about a week.
Activity means requests. Opening the project in the dashboard counts. Your app calling the database counts. What does not count is your app merely existing, so a project that launched last month and has not found visitors yet is the exact shape that gets paused. The apps this happens to are almost never the busy ones.
The free plan also allows two active projects at a time, and paused ones stop counting against that limit. So a project you parked on purpose and a project that stopped on its own sit side by side in the dashboard looking the same, and both are now on the same one-year clock.
How do I restore a paused Supabase project?
Open the dashboard, pick the project, and press Restore. Inside the window that is the whole procedure, and it is a few minutes of waiting rather than a migration.
What comes back is the project you had. The same project ref, so the same API URL. The same tables, the same policies, the same storage buckets. Supabase brings free projects up on the latest minor Postgres version as part of the restore, which you will not notice.
The keys are the part that may not come back as they were. Supabase has warned
that projects restored since 1 November 2025 no longer receive the legacy keys,
anon and service_role: in its own
words, "paused projects
that are restored risk being broken as they won't have the legacy keys". If your
app still sends the older anon key, a long string beginning eyJ, expect its
requests to be refused once the project is back. The fix is the project's
publishable key, which begins sb_publishable_, in your builder's environment
settings. The two key formats are compared side
by side.
Do one thing before you close the tab: take a copy of the data while the database is running. A paused project is the one state in which you cannot export anything, and the reason to do it today rather than next week is the clock in the next section.
While your app is back up, it is also worth knowing what it exposes to a stranger. Our free scan reads your live site from outside and tells you what it finds. It takes about 20 seconds and needs no account: scan your app.
How long do I have to restore it?
One year from the day it paused. Supabase's wording is that "once the project is paused, there is a 1-year window to restore the project on the platform from within Supabase Studio".
Check that number rather than trusting it, because it has already moved once. When the limit was introduced in June 2024 it was 90 days, and anything written about paused projects before Supabase widened it still says 90. Their own troubleshooting article is the clearest sign of it: the page says one year, and the URL it lives at still says 90 days.
Work out the date and put it in a calendar while you are thinking about it. It is one year from the day the project paused, which is almost never one year from the day you noticed.
There is no Restore button. What happens now?
You get a download instead of a restore, and that difference is larger than it sounds.
Once the window has closed, Supabase replaces the restore option with two things you can take away: the latest logical backup, taken right before the project was paused, and all of your Storage objects. Both come off the project's overview page. Your data is in those files. Your project is not, and it is not coming back.
Supabase documents the migration that follows. It is five steps, and between them they want a Postgres client, the Supabase CLI and a Management API access token.
| What you get back | How it gets there |
|---|---|
| Tables, rows, column types, indexes and Row Level Security policies | Inside the .backup file, replayed into a fresh project with psql |
| The files your users uploaded | Downloaded separately from the overview page, then copied into the new buckets with the Supabase CLI |
| Auth, Realtime, Storage and API settings | Supabase publishes a script that copies them across through their Management API |
| Extensions, database webhooks and Realtime publications | You switch them back on by hand in the new project |
| Your API URL and your keys | You do not get these back. A new project has a new project ref, so the URL and every key change with it, and everything holding the old ones has to be updated |
That last row is the one people find out about too late. The address your app has been using is part of the project you just lost, so a rebuild is not only a data job. Your builder's environment variables, anything you pasted into the code directly, any webhook or payment provider or analytics tool pointing at the old URL: each of those is a place the app breaks after the data is safely back.
There is one more line after that, and it has no recovery attached. Supabase's own note is blunt: once a project is deleted, all associated data including backups is permanently removed and cannot be recovered. If your dashboard is currently offering you downloads, take them now.
Does the free plan keep a backup while my project is paused?
There is exactly one, and it is not the safety net most people picture.
The free plan takes no scheduled backups at all. Nothing is copied anywhere while your project is running, which is worth knowing before anything goes wrong rather than during. The copy that appears in your dashboard when the restore window closes is a single logical backup taken at the moment of the pause, and it becomes available to download at precisely the point you can no longer restore.
Two things follow. The copy is dated the day your project stopped, which turns out to be fine, because a paused project has not accepted a write since then. And it lives in the same account as the project it came from, behind the same login, covered by the same deletion. It is in the unit, behind the same door.
The moment to take your own copy is while the project is running again. Making one from the dashboard without touching a terminal is the free-plan route, and three ways to back up a Supabase database compares what each one costs you.
How do I stop it pausing again?
Give the project something to answer every few days, or take it off the free plan.
Supabase counts opening the project in the dashboard and "making API calls to your project or sending requests via your connected application" as activity. So a scheduled job that calls your database once a day is enough to keep the counter alive, and a small cron service or a scheduled workflow in your code repository is the usual way to arrange one.
Upgrading to Pro removes the question rather than managing it. Paid projects are not paused for inactivity, and Pro is also where Supabase's own daily backups begin, reaching back seven days. What else Pro changes, limit by limit, has an article of its own.
What to do this week
What to do
- Press Restore today if the button is there. It is a few minutes, and it is the only route that keeps your URL. If your app still uses the older
anonkey, give it the publishable key once the project is back. - If the button has gone, download both the backup file and your Storage files before anything else. A deleted project takes them with it.
- Take your own copy of the database as soon as the project is running, because the free plan is not taking one for you.
- Put something on a timer that calls your project, and make sure you would notice if that timer stopped.
- Keep one copy of your data outside your Supabase account, where a pause, an expired window or a deletion cannot reach it.
Where Reeve Care fits
A pause is an outage that does not look like one. Your pages still load, because your builder is serving them; it is everything behind them that stopped. That is a large part of why nobody told you.
- A paused project cannot be copied, and a copy that fails sends you an email. Care connects to your database on its own schedule rather than waiting for your app to notice, so the night it stops answering is the night you hear about it.
- The copy lives outside your Supabase account. Encrypted, on storage we hold, so a project that paused, expired or was deleted does not take the backups down with it.
- Every copy is read back before it counts. The date on your dashboard is the last backup that passed that check, never the last one attempted.
- Restoring is a button, and it takes a snapshot of the current state before it starts, so the restore has an undo of its own.
- The files your users uploaded are copied too, once you connect your Storage buckets. That is a second key and it is optional, because the key Supabase issues for Storage can write as well as read, and we would rather ask for it separately than fold it in with one that cannot.
Two limits, before you decide anything. Care backs up Supabase and nothing else today, and if your data lives somewhere else we say so before you pay rather than after. And none of this stops a project pausing: the pause happens inside Supabase, where we are a client like any other. What it changes is where your data is standing on the day it does.
Keep Supabase's own backups switched on as well, the day you move to a paid plan. Two copies in two places is the whole idea, and the cheaper of the two is already in your bill. What each plan includes is on the pricing page, and the copy, the check and the restore are drawn out step by step on the Supabase backups page.
Before you close this tab, open your dashboard and look at which of the two buttons your project is offering you. That one fact decides whether today is five minutes of waiting or a rebuild, and the 10-minute security checklist covers backups alongside the rest of what is worth confirming once your app is answering again.
FAQ
Is a paused Supabase project deleted?
No. A pause stops the database from running; it does not remove anything. Your tables, rows, Row Level Security policies and uploaded files are all still on disk, which is why the dashboard offers you a Restore button rather than an apology. What a pause does break is your app, because every request it makes now comes back as an error.
How long do I have to restore a paused Supabase project?
One year from the day it paused, according to Supabase, who describe it as a 1-year window to restore the project from within Supabase Studio. That number has moved before: it was 90 days when the limit was introduced in June 2024, and the troubleshooting article Supabase publishes on the subject still carries 90 days in its URL. Read the current figure off their project pausing page rather than off anyone else.
There is no Restore button on my project. What now?
The restore window has closed, and Supabase has swapped that button for two downloads: the latest logical backup, taken right before the project was paused, and all of your Storage files. Both sit on the project overview page. Your data is in them, and getting back to a working app means creating a new project and replaying those files into it. Download both today, because a deleted project takes its backups with it permanently.
Will my project URL and API keys stay the same?
If you press Restore inside the window, the URL does: the project comes back with the same project ref your URL is built from. The keys may not. Supabase has warned that projects restored since 1 November 2025 come back without the legacy anon and service_role keys, so an app still using the anon key needs the project's publishable key instead. If you have to rebuild into a new project, both change: a new project has a new ref, so the API URL and every key change with it. That means updating your builder environment variables and anything that has the old address written down, including webhooks and third-party services.
How do I stop Supabase pausing my project again?
Give it something to answer at least once a week, or move it off the free plan. Supabase counts opening the dashboard and requests from your connected application as activity, so a scheduled job that calls your project once a day keeps the counter alive. Upgrading to Pro removes the question entirely, since paid projects are not paused for inactivity, and it is also where daily backups start.
My project is gone from the dashboard, not paused. Can I get it back?
Establish which one you have first, because they are different situations. A paused project is still listed, with Restore beside its name and the data frozen on disk. If it is not listed at all, the dashboard offers no undelete control: what is left is a support ticket with Supabase and a copy you made yourself. That second one is the whole argument for having a backup before the day you need it.