413 (Cloudflare 100 MB) 🟧 Cloudflare

Cloudflare 413 Request Entity Too Large (upload over the plan limit)

The request body is larger than Cloudflare allows through the proxy — 100 MB on Free/Pro, 200 MB Business, 500 MB Enterprise default.

Seen on: Cloudflare

Meaning

Large uploads through proxied hostnames fail at Cloudflare before reaching your server. Use chunked uploads, direct-to-storage uploads (R2/S3 presigned URLs), or a DNS-only subdomain for uploads.

Common causes

  • Single upload larger than the plan limit
  • Video/backup uploads through the proxy
  • Base64 body inflation

⚡ Quick fix

  1. Upload in chunks (tus, multipart)
  2. Upload directly to object storage with presigned URLs
  3. Use a grey-cloud upload subdomain

Detailed fix by platform

JavaScript

  1. javascript
    // upload in 50 MB chunks
    for (let start = 0; start < file.size; start += 50e6) {
      await fetch(`/upload?offset=${start}`, { method: 'PUT', body: file.slice(start, start + 50e6) });
    }

How to diagnose

  1. Size — Body size vs plan limit
  2. Path — Proxied hostname?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.