Automated Supabase backups, proven to restore
Backups go straight to your own cloud storage — we don’t keep a copy. Connect once, and we test that they restore.
1,100+ restore drills passed · updated weekly
acme-prod
Postgres 17 + Storage
- Database13 tables, 1,495,250 rows
- Storage files250 files, 33.6 MB
- Restore drillpg_restore in 2.2s
- PostgreSQL
- Amazon S3
- Wasabi
How BackupDrill backs up Supabase
Connect once — the rest runs on a schedule.
- 1
Connect your Supabase project
Click Connect Supabase and pick a project. We set up a read-only backup role inside it.
No database password, no service_role key.
- 2
Pick where backups go
A bucket you own on Amazon S3, Cloudflare R2, Backblaze B2 or Wasabi.
It’s your bucket — we keep only an encrypted access key.
- 3
Back up on a schedule
Daily on paid plans, weekly on Free: your database as a standard pg_dump file, plus Storage files once you add their S3 keys.
Streams straight to your bucket — we don’t keep a copy.
- 4
Prove it restores
Every week on paid plans (once on Free), we restore the latest backup into a temporary database and check every table, plus a sample of Storage files when they’re included.
The temporary database is deleted as soon as the check finishes.
See a real drill report
What Supabase’s built-in backups cover, and what they don’t
Supabase’s own database backups, next to what BackupDrill adds.
| Topic | Supabase on its own | With BackupDrill |
|---|---|---|
| Free plan | No backups you can restore or download (the pause snapshot aside) | One project backed up weekly, free |
| Pro and Team plans | Daily backups, kept 7 days (14 on Team) | Daily backups on paid plans, kept in your bucket as long as your lifecycle rules allow |
| Where backups live | Inside the project, and deleted with it | Your own cloud storage: Amazon S3, Cloudflare R2, Backblaze B2 or Wasabi |
| Download | Not on projects using physical backups (Postgres 15.8.1.079+ or PITR) | Standard pg_dump files you can restore anywhere with pg_restore |
| Storage files | Not included, with or without PITR | Included once you add the project’s Storage S3 keys |
| Restore tested | Not tested for you | A restore drill every week on paid plans, one on Free |
| Price | PITR add-on: $100/month per project | Free plan; paid plans from $19/month |
Supabase plan details checked against Supabase’s docs in October 2026. Every Supabase backup option compared, with commands.
Supabase backups for a fifth of the cost of PITR
Supabase PITR: $100/month per project, Storage files not included.
FIRST MONTH $1full price from month 2
Any monthly plan, first subscription · cancel anytime · or stay on the Free plan with no card at all
Free
For side projects
$0/month
- 1 project
- Weekly backups
- 3-snapshot console history
- Up to 1 GB per project
- One restore drill on your first backup
Solo
POPULARFor products with real users
$19/month
First month $1, then $19/month
- 5 projects
- Daily backups
- Weekly restore drills, report by email
- 30-snapshot console history
- Up to 10 GB per project
Team
For small teams
$49/month
First month $1, then $49/month
- 20 projects
- Daily backups
- Weekly restore drills, report by email
- 30-snapshot console history
- Up to 25 GB per project
Agency
For client work
$99/month
First month $1, then $99/month
- 100 projects
- Daily backups
- Weekly restore drills, report by email
- 60-snapshot console history
- Up to 100 GB per project
- PDF client reports
- Priority support
Every plan: database + Storage files in one snapshot (Storage joins once you add its S3 keys), to your own S3, R2, B2, or Wasabi bucket. Email alerts when a backup or drill fails. Snapshot history counts console records — objects in your bucket stay yours (add a lifecycle rule to expire old ones).
Annual billing: pay for 10 months.
The backup engine is open source
MIT-licensed: audit the CLI the hosted service runs, or run it yourself.
npm install -g backupdrill
backupdrill backup # your database (+ Storage files, once configured) → your bucket
backupdrill drill # prove the latest snapshot actually restoresA script covers one-off backups. The hosted service runs this engine on a schedule, adds the restore drills, and emails you when something is wrong — nothing for you to babysit.
Supabase backup questions
Does Supabase back up my database automatically?
On Pro and above, yes: one backup a day, kept for 7 days (14 on Team, up to 30 on Enterprise), stored inside the project and deleted with it. On the Free plan there are no scheduled backups you can restore or download — only the snapshot Supabase takes when it pauses an idle project. BackupDrill keeps copies in your own bucket on a schedule — weekly on Free, daily on paid plans — and runs restore drills to show they come back.
Are Storage files included in Supabase backups?
No. Supabase’s backups, daily and PITR alike, cover the database only, and the database holds just the metadata for your Storage objects. Restoring brings back pointers to files that may no longer exist. BackupDrill puts Storage files in the same snapshot as the database once you add the project’s Storage S3 keys.
How to back up Supabase Storage filesCan I download my Supabase backups?
Only on projects still on the older logical backup process. Projects on physical backups — Postgres 15.8.1.079 or newer, or any project with PITR — can’t download them from the dashboard. BackupDrill writes standard pg_dump files to your bucket, so you can restore them anywhere with pg_restore.
Export a Supabase backup as a .sql fileHow do I back up a Supabase project on the Free plan?
The Free plan has no backups you can rely on, so you need your own copy. Run pg_dump yourself (a GitHub Actions schedule can automate it), or use BackupDrill’s Free plan: one project up to 1 GB, weekly backups into your own bucket, and a restore drill on your first backup — no credit card, no time limit, and every snapshot stays in your bucket whether you subscribe or not. Paid plans add daily backups and a drill every week: first month $1, then $19/month. Cancel anytime.
Supabase Free plan backups, step by stepWhere are my backups stored?
In your own cloud storage — a bucket you create on Amazon S3, Cloudflare R2, Backblaze B2 or Wasabi — so your data stays private and under your control. We don’t keep a copy: backups stream straight to your bucket without touching our disks, and a restore drill runs in a temporary sandbox that’s deleted when the check finishes. If you cancel, every backup is still yours.
How is this different from Supabase PITR?
PITR gives you point-in-time recovery for $100/month per project — and still doesn’t cover Storage files. We sell verified daily snapshots of your database and Storage files together — Storage joins the same snapshot once you add its S3 keys — starting at $19/month. If you need sub-24h recovery points, run both: they solve different problems.
What happens in a restore drill?
We download your latest snapshot into an isolated temporary sandbox, provision a temporary Postgres, restore into it, and verify it against the backup manifest: archive sha256, pg_restore completes, table count matches with no missing tables, populated tables restored non-empty, and — when the snapshot includes Storage files — sampled sha256 checks on them. We measure the wall-clock restore time, then destroy the sandbox and the instance. The report lands in your inbox.
What access do you need?
Click Connect Supabase and approve Database (read and write) and Projects (read) access once. We use it to create a read-only backup role in your project (it can read RLS-protected tables, which a full backup needs), then discard the token; only that role’s connection string is kept, sealed-box encrypted. No database password, no service_role key. Prefer not to authorize? Run a three-line SQL snippet or paste a connection string instead. Restoring Storage files into a new project is the one exception: it needs that project’s service-role key, which you enter at restore time and we never store.
How do I get started?
Sign up free — no credit card. Click Connect Supabase, pick the project, and point us at your own bucket. Connect Supabase needs Postgres 16 or newer; older projects paste a connection string instead. Your first backup runs within a few minutes, and the free restore drill follows it.
Put your Supabase backups on autopilot.
Backups to your own bucket, restore drills on a schedule, and a report that proves your data comes back. Start on the Free plan — no credit card — and see a drill pass before you decide anything.