Quick answer
A Vercel Function request body or response body is limited to 4.5 MB. Oversized payloads return a 413 FUNCTION_PAYLOAD_TOO_LARGE error.
Verified Aug 22, 2026Official source
Current limits
| Constraint | Current value | Scope | Verified source |
|---|---|---|---|
| Function request or response bodyPayloads over the documented limit return FUNCTION_PAYLOAD_TOO_LARGE with status 413. | 4.5 MB | Vercel Function request and response | VercelAug 22, 2026 |
Why does this limit matter?
Proxying a large upload through a Function consumes the payload budget even when the final destination is object storage.
Response generation can hit the same ceiling as inbound uploads.
What should you check?
- Inspect Content-Length when it is present.
- Log only sizes and request IDs, never sensitive request bodies.
- Use direct-to-storage uploads and return small metadata responses for large files.
Important caveats
- The limit applies to Function payloads, not every asset or direct object-storage upload.
- Compression and encoding can change transmitted size; base64 usually expands binary data.
HyperObserve reports the documented platform constraint. Your application, SDK, gateway, provider, region, or account can impose a lower effective limit.
Related