# Supabase Storage: EntityTooLarge (413, the object is too large)

> Supabase Storage rejected the upload with EntityTooLarge (413): the file is over the bucket or global size limit. Raise the limit, or shrink the file first.

Canonical: https://app369.com/fix/supabase-storage-entity-too-large/
Last updated: 2026-11-09

EntityTooLarge is the Supabase Storage error for a file over the size limit, returned as HTTP 413. The limit is set per project and can be lower per bucket. On the Free plan it can’t go above 50 MB.

**Short answer**

Check the global file size limit in Storage Settings and the bucket’s own file size limit. Raise the one that is too low, up to your plan’s maximum. For files that will stay large, resize or compress them on the device. If the file goes through your own API first, check that layer’s body size limit too.

Rather not fix it yourself? [**App Fix Ticket**](https://app369.com/fixed-price/flutter-firebase-bug-fix/) starts with a fixed-price diagnosis, then a fixed price for the fix before any fix work.

## **Which limit you hit, and the fix**

1. 01 ### **The file is over the global limit**
  > “For Free projects, the limit can't exceed 50 MB. On the Pro Plan and up, you can set this value to up to 500 GB.” [**Supabase docs, Storage file limits**](https://supabase.com/docs/guides/storage/uploads/file-limits) Every bucket shares one global file size limit, set in Storage Settings. On Free it can’t exceed 50 MB. On Pro and up it can go to 500 GB.
2. 02 ### **The bucket has a lower limit**
  > “Additionally, you can specify the maximum file size on a per bucket level but it can't be higher than this global limit.” [**Supabase docs, Storage file limits**](https://supabase.com/docs/guides/storage/uploads/file-limits) A bucket can have its own size limit, which can be set when it is created, for example 1 MB for avatars. It can’t be higher than the global one. Check it in the bucket settings, or update it in code.```
// server side, with the service role key
// public is required by the call: keep it equal to the bucket's current value
await supabase.storage.updateBucket('avatars', {
  public: true, // false would make a public bucket private
  fileSizeLimit: '10MB',
});
```
3. 03 ### **Photos and videos straight from the phone** Phone photos and videos are often far bigger than the app needs. Resize images and compress video on the device before upload, and check the size first so the user gets a clear message instead of a failed upload.```
const MAX = 10 * 1024 * 1024; // match your bucket limit
if (file.size > MAX) throw new Error('File is over 10 MB. Choose a smaller file.');
```
4. 04 ### **The 413 comes from your own server** If the file goes through your own API route or a host with a request size cap, that layer can return 413 before Supabase sees the file. Upload from the client straight to Supabase Storage instead, for example with a signed upload URL.
5. 05 ### **The error is the limit, not a bug**
  > “Verify the max-file-limit is equal or higher to the resource you are trying to upload, you can change this value on the Project Settings” [**Supabase docs, Storage error codes (EntityTooLarge)**](https://supabase.com/docs/guides/storage/debugging/error-codes) Storage returns 413 with EntityTooLarge when the file is over a limit you control. Change the limit in Project Settings or the bucket, not the upload code.

Checked against the vendor’s docs on November 9, 2026: [Supabase docs: Storage file limits](https://supabase.com/docs/guides/storage/uploads/file-limits); [Supabase docs: Storage error codes](https://supabase.com/docs/guides/storage/debugging/error-codes).

## **Rather hand it over?**

Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.

- [from $450**App Fix Ticket**One reproducible bug in an existing mobile or web app, diagnosed and fixed.**See scope and start**](https://app369.com/fixed-price/flutter-firebase-bug-fix/)
- [from $450**AI-Built App Rescue**A Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.****No issues worth fixing, no charge.**** If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.**See scope and start**](https://app369.com/fixed-price/ai-app-rescue/)

[**All 127 Fiverr reviews**](https://app369.com/reviews/)

Related: [**Supabase Storage bucket not found**](https://app369.com/fix/supabase-storage-bucket-not-found/) · [**Supabase Storage bucket is public**](https://app369.com/fix/supabase-storage-bucket-public/) · [**Supabase Edge Function timeout**](https://app369.com/fix/supabase-edge-function-timeout/) · [**Supabase Storage InvalidKey**](https://app369.com/fix/supabase-storage-invalid-key/)

Questions

## **More on this error**

<details>

<summary>**Can I upload more than 50 MB on the Free plan? **+</summary>

No. On Free the global file size limit can’t exceed 50 MB. Shrink the file, split it, or move to a paid plan.

</details>

<details>

<summary>**Why does a small limit apply when the global one is high? **+</summary>

The bucket has its own lower limit. The smaller of the two applies, so raise the bucket limit too.

</details>

<details>

<summary>**Can you fix it for me? **+</summary>

If one bug is the whole problem, the App Fix Ticket covers it: a written diagnosis first, then the fix. If the app has more going on, the Launch Check is a written check of the whole app. Each issue found is rated critical, high, medium or low, with where it is and how it was confirmed. No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.

</details>

A different error?

## **Describe it and get a written quote**

Send the error and what you were doing. You get a written scope, a fixed price and a timeline; Simon replies by email, usually within one business day.

[**Describe your problem **→](https://app369.com/contact/) [**All fixes**](https://app369.com/fix/)