---
title: "Supabase Storage v3: Resumable Uploads with support for 50GB files"
description: "Storage v3 adds resumable uploads, quality and format filters, a Next.js loader, WebP rendering, presigned upload URLs, and per-bucket size and file-type limits. Resumable uploads divide files into chunks, emit progress events, and allow interrupted transfers to continue; Pro Plan and higher users can upload files up to 50GB, up from 5GB. Rather than expose S3’s proprietary protocol, the implementation uses the open TUS protocol over HTTP through the Node.js Storage-API service and tus-node-server, with Postgres RLS integration. To support multiple TUS instances behind a load balancer, transactional Postgres Advisory locks serialize access to each S3 object and help address concurrent uploads, while the release rolls out gradually over the next month."
---

# Supabase Storage v3: Resumable Uploads with support for 50GB files

[Supabase](https://yomu.fyi/company/supabase) · fabrizio,inian · Apr 12, 2023

**Type:** Announcement

## Summary

Storage v3 adds resumable uploads, quality and format filters, a Next.js loader, WebP rendering, presigned upload URLs, and per-bucket size and file-type limits. Resumable uploads divide files into chunks, emit progress events, and allow interrupted transfers to continue; Pro Plan and higher users can upload files up to 50GB, up from 5GB. Rather than expose S3’s proprietary protocol, the implementation uses the open TUS protocol over HTTP through the Node.js Storage-API service and tus-node-server, with Postgres RLS integration. To support multiple TUS instances behind a load balancer, transactional Postgres Advisory locks serialize access to each S3 object and help address concurrent uploads, while the release rolls out gradually over the next month.

## Context

Multipart uploads work well for small files but become problematic for medium to large files on unreliable connections because interrupted uploads must restart. Scaling TUS across multiple servers also creates concurrency risks when different servers process chunks for the same object and buffer to S3 concurrently.

## Approach / What changed

The implementation uses the open TUS resumable-upload protocol through the Node.js Storage-API service and tus-node-server. Postgres transactional Advisory locks coordinate access to each S3 object across server instances, while storage.objects continues to support object metadata and authorization. The release also adds image quality and format filters, a Next.js loader, presigned upload URLs, and per-bucket size and file-type limits.

## Takeaways

- Resumable uploads split files into chunks, provide progress events, and can continue after connectivity loss or an accidentally closed browser tab.
- Postgres transactional Advisory locks are acquired per S3 object so multiple TUS server instances can coordinate chunk processing without relying on sticky sessions.
- Pro Plan and higher users receive a maximum file size of 50GB, increased from the previous 5GB limit.

**Tags:** [Performance](https://yomu.fyi/topic/performance), [Postgres](https://yomu.fyi/topic/postgres), [Scalability](https://yomu.fyi/topic/scalability), [TypeScript](https://yomu.fyi/topic/typescript)

- Source: [Supabase](https://supabase.com/blog/storage-v3-resumable-uploads)
- Source URL: https://supabase.com/blog/storage-v3-resumable-uploads
- Ingested by Yomu: 2026-08-29T01:17:16.393Z

[Read original post](https://supabase.com/blog/storage-v3-resumable-uploads)
