File storage
Supabase Storage
Store uploads in buckets with access policies connected to your Supabase backend.
Sources checked
Our recommendation
When to choose it
Start here for uploads in a Supabase app. Keep file ownership, bucket policies and database metadata consistent.
A good fit for
- An app already using Supabase Auth
- User-owned uploads with explicit bucket policies
Choose something else when
Choose R2 when independent object storage and S3-compatible tooling fit your architecture better.
Watch out for
- A public bucket is public even when your app has a login screen.
- Database rows and uploaded objects have different lifecycles; deleting one need not delete the other.
How costs work
Storage and transfer usage within Supabase plans
Review file storage and transfer alongside the other resources in your project.
Check current official terms and pricing ↗This is a pricing model, not a monthly quote. Check your region, intended usage and current plan before buying.
What connects to it
- Supabase Auth and access policies
- Supabase client SDKs
These are technical connections you can configure. Selecting a card creates no accounts or resources.
Compare the alternatives
Learn the boundary before you connect it
Lessons open through your account and the kits you own.
Check the evidence
Feature sources were reviewed on 4 Oct 2026. Plans and availability can change.
- Storage and permissions ↗
Buckets, object access and backend integration.
- Project pricing ↗
Storage and transfer are project billing dimensions.