Guides / Supabase backup tools

Supabase backup tools compared

Four tools restore your Supabase backup on a schedule to test it: BackupDrill, BackProve, ReviveDB and SafeGrd. Reeve checks each copy's row counts against the file. SimpleBackups, SupaSafe, Supabackup and Ottomatik take the copy and leave the restore to you. Supabase's own daily backups leave out your Storage files and are deleted with the project.

Written by SafeGrd's founder, so SafeGrd is on this list. Each entry starts with what that tool does better than the others, including better than SafeGrd. Facts come from each product's own home page, pricing page and documentation, read on 2026-10-18. If a page has changed since, the product's page is right.

What a Supabase backup has to cover

The short version

ToolStorage filesWhere the copy is keptRestore tested on a scheduleEncrypted before uploadPrice
Supabase daily backupsNoInside Supabase, deleted with the projectNoKept by SupabaseIncluded from Pro ($25 a month)
pg_dump in GitHub ActionsNo, a second jobYour bucketNoIf you add itFree
BackupDrillYesYour bucketYes, weekly on paid plansNot statedFree for 1 project; paid from $19 a month
BackProveYesNot statedYes, dailyYes, age$12 a month for 3 projects
ReviveDBYesReviveDB's storage, in the EUYes, each backupStored encryptedFree for 1 project; paid from EUR 9 a month
ReeveYesReeve's storage (R2), in the EUNo; row counts checked against the fileAES-256, Reeve holds the keysBackups from $49 a month
SimpleBackupsYesYour bucket, or theirsNot describedOptional, with your own keyFree for 1 job; paid from $49 a month
SupaSafeNot statedSupaSafe's Backblaze B2Not describedYes, optional public keyFree for 1 project; paid from $4.99 a month
SupabackupNot statedYour Google DriveNot describedNot statedFree for 1 job; paid from $9 a month
OttomatikNot statedYour bucket, Drive, Dropbox, or theirsNo; restore by handAt restFrom $14 a month
SafeGrdYesYour bucket, or SafeGrd's, under Object LockYes, with a signed recordYes, ageFree tier; paid from $15 a month

"Restore tested" means the tool loads the backup into a fresh database and checks what came back. Counting rows in the dump file catches a dump that came out empty, but not one that fails to load.

Supabase's own daily backups and PITR

Best at: undoing a bad day inside the project, with nothing to set up. Pro keeps 7 days of daily backups, Team 14 and Enterprise up to 30. Point-in-time recovery is an add-on that restores to any second in its window, from about $100 a month for 7 days, and it needs a Small compute add-on or larger.

What it leaves to you: the Storage files, which no Supabase backup includes; a copy that survives deleting the project; and anything on the Free plan, which gets no backups. Turning on PITR turns off the daily backups. (How to back up a Supabase database)

pg_dump in a GitHub Actions workflow

Best at: a free copy outside the project, in a bucket you own. Supabase's documentation has a workflow that runs the Supabase CLI's dump on a schedule, and the same job can encrypt with age and upload to S3.

What it leaves to you: the Storage files, alerts when the workflow stops running (GitHub disables scheduled workflows in a public repository with no activity for 60 days), a lock on the bucket, and the restore test. How to back up Supabase with GitHub Actions is the workflow with those checks.

BackupDrill

Best at: the shortest setup for Supabase alone. It connects to a project by signing in to Supabase, backs up the database and the Storage files to your S3, R2, B2 or Wasabi bucket, and restores the backup in its own cloud every week on paid plans, with the report by email. Paid plans back up daily.

What it leaves to you: databases that are not Supabase, a size cap per project (10 GB on the $19 plan), and a lock on the bucket. (SafeGrd and BackupDrill)

BackProve

Best at: a daily restore test for a low flat price. Every day it backs up the database and Storage files, restores the dump into a fresh Postgres with the same major version and Supabase's extensions, and compares the object count with the dump's manifest. Dumps are encrypted with age.

What it leaves to you: more than 3 projects, any database outside Supabase, and knowing where the backups are stored, which its page does not say.

ReviveDB

Best at: the whole project in one copy. It backs up the database, Auth users, Storage files and Edge Functions with their settings, test-restores each backup, and exports any of them as a standard Postgres backup file.

What it leaves to you: a copy in your own bucket, since backups are kept in ReviveDB's storage. Paid plans cap each database at 10 GB.

Reeve

Best at: restoring for you. It backs up with a read-only role, checks each copy by counting every table against the file, and restores a chosen date in one click, taking a safety copy of the current database first. The top plan backs up every 6 hours.

What it leaves to you: a scheduled test restore, which its page does not describe, and a copy in your own bucket. Reeve holds the encryption keys so that it can restore for you.

SimpleBackups

Best at: covering the most of a Supabase project. Its Supabase page lists the database, Storage buckets, Auth users and identities, Edge Function manifests and project config, to more than 25 storage providers, with restore to a new project, an existing one or plain Postgres. Backups run as often as every 5 minutes on the top plan.

What it leaves to you: a scheduled restore test, which its pages do not describe, and a lock on the bucket. Plans count backup jobs, 5 on the $49 plan. (SafeGrd and SimpleBackups)

SupaSafe

Best at: the lowest price for a daily copy outside Supabase. It runs pg_dump daily or weekly, stores the dump in Backblaze B2 with a SHA-256 checksum, and can encrypt it to your own RSA public key so only you can read it.

What it leaves to you: the Storage files, which its page does not mention, a copy in your own bucket, and the restore test.

Supabackup

Best at: keeping the copy in Google Drive. It sends a dump from your project to a folder in your Drive daily, and Google's consent screen limits it to the files it creates.

What it leaves to you: the Storage files, encryption and the restore test, none of which its page mentions. A failed job pauses instead of retrying.

Ottomatik

Best at: one tool for Supabase and other databases, with destinations such as Google Drive and Dropbox. Backups run hourly to monthly, and a backup restores in one click to another server or a new database.

What it leaves to you: the Storage files, which its page does not mention, and running the restore test yourself. (SafeGrd and Ottomatik)

SafeGrd

Best at: proof that the backup restores, which someone outside the team can check. SafeGrd dumps the project through the session pooler with auth and storage included, encrypts it before upload, and writes it under Object Lock to your bucket or SafeGrd's, so the credentials that reach the database cannot delete it. The Storage files are backed up from the bucket's S3 key. On a schedule, a drill restores the newest backup into Supabase's own PostgreSQL image, counts every table's rows against the manifest written at backup time, and signs the result into a record an auditor can verify offline:

It runs from a GitHub Actions workflow, or SafeGrd takes the backup itself: the console signs you in to Supabase, lists your projects, and a machine started for each backup dumps and encrypts it, then is destroyed. One plan covers every project and the databases, files and mailboxes beside them.

What it leaves to the others: point-in-time recovery, and Edge Functions and project settings, which you keep in git. Paying for Supabase's PITR and keeping a tested copy in SafeGrd do different jobs, and many teams run both.

Run your first Fire Drill Back up Supabase with SafeGrd

How to choose

Whatever you pick, restore one backup into a scratch database yourself before you rely on it. How to test that a backup restores has the steps. For self-hosted PostgreSQL, see PostgreSQL backup tools compared.

Questions

Does Supabase back up Storage files?

No. Supabase's daily backups and PITR hold the storage.objects table, which lists the files, but not the files. Restoring an old backup does not bring back a file deleted after it. Back up the bucket separately through its S3 endpoint, or with a tool above that says Yes under Storage files.

Are Supabase backups deleted when the project is deleted?

Yes. Supabase's documentation says deleting a project removes all its data, including the backups it stored. A copy in a bucket outside Supabase is the one that survives.

Does the Free plan have backups?

No. Supabase recommends exporting the database yourself with the CLI's db dump. A free tool above, or the GitHub Actions workflow, does that on a schedule.

Which Supabase backup tools test the restore?

BackupDrill (weekly, on paid plans), BackProve (daily), ReviveDB (each backup) and SafeGrd (on every plan, with a signed record). Reeve counts rows against the dump file without restoring it.

Sources