Supabase Storage Object Size Limit

What the Supabase storage object size limit is, what happens when you exceed it, and how to check or raise it — verified 2026-08-19.

50 MB Supabase All plans (50 MB per object) Last verified 2026-08-19

Quick Answer

Check file.size <= 52428800 bytes before calling upload()

The Limit

50 MB All plans (50 MB per object)
PlanLimit
All plans50 MB per object

What is this limit?

Each individual file uploaded to Supabase Storage can be at most 50 MB (52,428,800 bytes). The per-object cap applies across all plans.

Why this limit exists

Storage is served through a shared object store; the per-object cap keeps upload and egress predictable and prevents a single upload from exhausting bandwidth or disk on shared infrastructure.

What happens when this limit is exceeded

How to check or raise this limit

  1. The 50 MB per-object cap is fixed across plans - there is no per-object raise on managed plans
  2. Measure the file size client-side before upload
  3. Plan for large media through external storage or compression pipelines

Code Examples

Pre-flight size check javascript
const MAX_BYTES = 50 * 1024 * 1024 // 50 MB
if (file.size > MAX_BYTES) {
  alert('File must be under 50 MB')
} else {
  await supabase.storage.from('uploads').upload(file.name, file)
}

Fail fast client-side instead of relying on the server-side 413.

Framework-Specific Notes

supabase-js

Enforce the cap in the client so uploads fail fast with a clear message.

const MAX = 50 * 1024 * 1024
if (file.size > MAX) {
  throw new Error('File exceeds the 50 MB storage limit')
}

You Might Also Like

Official Sources

This page is based on the official Supabase documentation linked below and adds practical guidance on top.