Skip to content

Store and serveany type of digital content

An open source S3 compatible storage solution with unlimited scalability, for any file type. With custom policies and permissions that are familiar and easy to implement.

Everything you need
for storage

S3 compatible storage with global CDN, image transformations, and fine-grained access controls powered by Postgres RLS.

Interoperable

Integrates with the rest of Supabase — Auth and Postgres work together.

Lightning fast

Thin API server layer built on Postgres permissions with content delivered via global CDN.

Files
images, videos, docs
Analytics
Iceberg, time-series
Vectors
embeddings, RAG

Multiple bucket types

Files, Analytics, or Vector buckets — choose the right storage model for your application.

Supabase is great because it has everything. I don't need a different solution for authentication, a different solution for database, or a different solution for storage.

Yasser ElsaidFounder of Chatbase

Bucket types
for every application

Files buckets

  • Store images, videos, documents, and more
  • Serve fast from a global CDN
  • Fine-grained access controls
  • Image optimizations and transformations

Analytics buckets

  • Apache Iceberg open table format
  • Efficient query, partition, and transform
  • Historical and time-series data
  • Optionally expose via Postgres

Vector buckets

  • Store and index vector embeddings
  • Multiple distance metrics
  • Metadata filtering and similarity queries
  • RAG systems and AI-powered search

Simple and convenient
APIs

Built from the ground up for interoperable authentication. Fast and easy to implement using our powerful library clients.

// Upload an image to the "avatars" bucket
const spaceCat = event.target.files[0]
const { data, error } = await supabase
  .storage
  .from('avatars')
  .upload('space-cat.png', spaceCat)
Documentation

Integrates natively
with Supabase Auth

Storage authorization is built around Postgres so that you can use any combination of SQL, Postgres functions, and even your own metadata to write policies.

create policy "Public Access"
on storage.objects for all
using ( bucket_id = 'avatars' );
Documentation
Private Alpha

Recover any file with
Object versioning

With versioning enabled on a bucket, Storage keeps previous versions of an object when it's overwritten or deleted, so you can restore any of them when you need to.

Lifecycle policies control how many versions are kept and for how long, so storage costs stay predictable.

Tell us what you store and we will get in touch as places open up. The alpha is limited while we work through feedback.

Documentation

Use the ref from your Supabase dashboard URL, for example /project/abcdefghijklmnopqrst.


By submitting this form, I confirm that I have read and understood the Privacy Policy and that my use of the Storage Object Versioning and Lifecycle Policies private alpha is a Beta Release, as defined in the Terms of Service, and is subject to the Terms of Service.

  • Version history

    Every upsert keeps the copy it replaced.

  • Archive instead of delete

    A soft-deleted file stays recoverable.

  • Restore

    Recover an archived file or an earlier version.

  • Lifecycle policies

    Expire old versions by age, or keep a set number per file.

Build in a weekend, scale to millions