Skip to Content

Functions

Limits

Vercel Functions Limits

The table below outlines the limits and restrictions of using Vercel Functions with Fluid compute:


Maximum memory

250 MB, or 500 MB for

Hobby: 2 GB, Pro and Ent: 4 GB
Feature
Hobby: 300s default and maximum. Pro and Enterprise: 300s default, 800s maximum, and 1800s extended maximum
Limits

Size (uncompressed)

1,024 shared across concurrent executions (including runtime usage)

Large functions
max duration
Beta
Auto-scales up to 30,000 (Hobby and Pro) or 100,000+ (Enterprise) concurrency

Pay for active CPU time and provisioned memory time

Runs in a single region by default (iad1), which you can change.
Pro and Enterprise teams can set multiple regions

Beta
API Coverage
Full Node.js coverage
Concurrency

Functions name

The following limits apply to the function's name when using Node.js runtime:

Maximum length of 128 characters. This includes the extension of the file (e.g. apps/admin/api/my-function.js is 29 characters)

No spaces are allowed. Replace them with a - or _ (e.g. api/my function.js isn't allowed)

Bundle size limits

Vercel places restrictions on the maximum size of the deployment bundle for functions to ensure that they execute in a timely manner.

For Vercel Functions, the maximum uncompressed size is 250 MB including layers which are automatically used depending on runtimes. These limits are enforced by AWS. For Python functions, the maximum uncompressed size is 500 MB.

You can use includeFiles and excludeFiles to specify items which may affect the function size. These configurations are not supported in Next.js, instead use outputFileTracingIncludes.

Large functions let you deploy uncompressed bundles up to 5 GB. Use them for workloads that ship large dependencies, model files, or binaries. Large functions are supported on Node.js, Bun, and Python runtimes.

Large functions require fluid compute with Active CPU enabled. Fluid compute is enabled by default for new projects.

Enable large functions

New projects are eligible for large functions by default. For existing projects, opt in by setting the VERCEL_SUPPORT_LARGE_FUNCTIONS environment variable.

The environment variable always takes precedence over the project default. Set it to 1 to enable support for large functions, or 0 to disable, for both new and existing projects.

You can set VERCEL_SUPPORT_LARGE_FUNCTIONS as a project environment variable in your project settings or with the Vercel CLI.

In eligible projects, Vercel only uses the large functions beta for Functions that exceed the standard bundle size limit. Functions that fit within the standard limit continue to use the standard path.

Supported runtimes

Large functions are supported on the following runtimes:

Secure Compute or Static IPs.


Max duration

This refers to the longest time a function invocation can run before Vercel terminates it. For request handlers, this includes time spent processing the request and sending the response, including streamed responses.

Pro

With fluid compute enabled, Vercel Functions have the following defaults and maximum limits:

1800s (30 minutes)
Maximum
Extended maximum
Default

Hobby

300s (5 minutes)

300s (5 minutes)
-
Enterprise
1800s (30 minutes)

300s (5 minutes)

While Vercel Functions have a default duration, this duration can be extended using the maxDuration config. If a Vercel Function doesn't complete within the duration, a 504 error code ( FUNCTION_INVOCATION_TIMEOUT) is returned.

800s
800s
Beta
Beta

Secure Compute and Static IPs do not support durations above 800 seconds during the beta. See configuring maximum duration for the supported runtimes and examples.

Vercel Workflows, which allow your code to pause, resume, and maintain state for minutes to months without duration limits.

Edge runtime

Vercel Functions using the Edge runtime must begin sending a response within 25 seconds to maintain streaming capabilities beyond this period, and can continue streaming data for up to 300 seconds.

Memory size limits

Vercel Functions have the following defaults and maximum limits:

Hobby

The maximum size for a Function includes your JavaScript code, imported libraries and files (such as fonts), and all files bundled in the function.

Default

2 GB / 1 vCPU

Maximum

2 GB / 1 vCPU

Pro / Enterprise

Request body size

2 GB / 1 vCPU

Users on Pro and Enterprise plans can configure the default memory size for all functions in the dashboard.

4 GB / 2 vCPU

If you reach the limit, make sure the code you are importing in your function is used and is not too heavy. You can use a package size checker tool like bundle to check the size of a package and search for a smaller alternative.

In Vercel, the request body size is the maximum amount of data that can be included in the body of a request to a function.

The maximum payload size for the request body or the response body of a Vercel Function is 4.5 MB. If a Vercel Function receives a payload in excess of the limit it will return an error 413: FUNCTION_PAYLOAD_TOO_LARGE. See How do I bypass the 4.5MB body size limit of Vercel Functions for more information.

File descriptors

File descriptors are unique identifiers that the operating system uses to track and manage open resources like files, network connections, and I/O streams. Think of them as handles or references that your application uses to interact with these resources. Each time your code opens a file, establishes a network connection, or creates a socket, the system assigns a file descriptor to track that resource.

Vercel Functions have a limit of 1,024 file descriptors shared across all concurrent executions. This limit includes file descriptors used by the runtime itself, so the actual number available to your application code will be strictly less than 1,024.

File descriptors are used for:

To manage file descriptors effectively, consider the following:

If your function exceeds this limit, you might encounter errors related to "too many open files" or similar resource exhaustion issues.

You can reach our customer support team by emailing info@yourcompany.example.com, calling +1 555-555-5556, or using the live chat on our website. Our dedicated team is available 24/7 to assist with any inquiries or issues.

We’re committed to providing prompt and effective solutions to ensure your satisfaction.

We offer a 30-day return policy for all products. Items must be in their original condition, unused, and include the receipt or proof of purchase. Refunds are processed within 5-7 business days of receiving the returned item.

Geolocation data

Cache responses

Yes

The Hobby plan offers functions for free, within limits. The Pro plan extends these limits, and charges usage based on active CPU time and provisioned memory time for Vercel Functions.

Support

Yes

Cost and usage

Active CPU time is based on the amount of CPU time your code actively consumes, measured in milliseconds. Waiting for I/O (e.g. calling AI models, database queries) does not count towards active CPU time. Provisioned memory time is based on the memory allocated to your function instances multiplied by the time they are running.

Access request headers

If you have fluid compute enabled, the following environment variables are not accessible and you cannot log them:

Yes

It is important to make sure you've set a reasonable maximum duration for your function. See "Managing usage and pricing for Vercel Functions" for more information.

AWS_EXECUTION_ENV

AWS_LAMBDA_RUNTIME_API

AWS_LAMBDA_EXEC_WRAPPER

AWS_LAMBDA_FUNCTION_NAME

AWS_XRAY_DAEMON_ADDRESS

_AWS_XRAY_DAEMON_PORT

AWS_XRAY_CONTEXT_MISSING

LAMBDA_RUNTIME_DIR

Last updated August 24, 2026

Cross-link map: Vercel Functions Limits (/docs/functions/limitations)From the Vercel docs graph (built 2026-09-21T05:26:59.511Z), spanning vercel.com docs + KB, nextjs.org, ai-sdk.dev, and other Vercel documentation sites. Full graph as JSON: https://vercel.com/docs/graph.jsonSemantically closest pagesLegacy Usage & Pricing for Functions — Learn about legacy usage and pricing for Vercel Functions.Runtimes — Runtimes transform your source code into Functions, which are served by our CDN. Learn about the official runtimes suppoConfiguring Maximum Duration for Vercel Functions — Learn how to set the maximum duration of a Vercel Function.Vercel Functions — Build API routes, webhooks, and agent request handlers with Vercel Functions, then test and debug them with Vercel CLI.Troubleshooting Build Error: "Serverless Function has exceeded the unzipped maximum size of 250 MB" — Learn how to troubleshoot builds failing due to exceeding the maximum function size limit on Vercel.This page links to (22)output — Next.js automatically traces which files are needed by each page to allow for easy deployment of your application. LearnVercel CDN Cache — Learn how Vercel's CDN cache stores your content across a global network to reduce latency and origin load.vercel env — Learn how to manage your environment variables in your Vercel Projects using the vercel env CLI command.Environment variables — Learn more about environment variables on Vercel.Fluid compute — Learn about fluid compute, an execution model for Vercel Functions that provides a more flexible and efficient way to ruConcurrency scaling — Learn how Vercel automatically scales your functions to handle traffic surges.Configuring Maximum Duration for Vercel Functions — Learn how to set the maximum duration of a Vercel Function.Configuring Memory and CPU for Vercel Functions — Learn how to set the memory / CPU of a Vercel Function.Configuring regions for Vercel Functions — Learn how to configure regions for Vercel Functions.Runtimes — Runtimes transform your source code into Functions, which are served by our CDN. Learn about the official runtimes suppoUsing the Bun Runtime with Vercel Functions — Learn how to use the Bun runtime with Vercel Functions to create fast, efficient functions.Edge Runtime — Learn about the Edge runtime, an environment in which Vercel Functions can run.Using the Node.js Runtime with Vercel Functions — Learn how to use the Node.js runtime to create functions and deploy Node.js servers on Vercel.Using the Python Runtime with Vercel Functions — Learn how to use the Python runtime to run Python applications on Vercel.Streaming — Learn how to stream responses from Vercel Functions.Fluid compute pricing — Learn about usage and pricing for fluid compute on Vercel.Request headers — Learn about the request headers sent to each Vercel deployment and how to use them to process requests before sending aLimits — Look up account limits, usage summaries, rate limits, and resource constraints for every Vercel plan.Secure Compute — Secure Compute provides dedicated private networks with VPC peering for Enterprise teams.Static IPs — Access IP-restricted backend services through shared static egress IPs for Pro and Enterprise teams.Static Configuration with vercel.json — Learn how to use vercel.json to configure and override the default behavior of Vercel from within your project.How do I bypass the 4.5MB body size limit of Vercel Serverless Functions? — Learn how to deal with the body size limit of Serverless Functions on Vercel.Pages that link here (53)By site: vercel-changelog (5) · vercel-kb (17) · vercel-docs (31)From vercel-changelogBun runtime now supports large functions and extended max durationHigher defaults and limits for Vercel Functions running Fluid computePython Vercel Functions bundle size limit increased to 500MBVercel Functions can now be up to 5GB in package sizeWebSocket support is now in Public BetaFrom vercel-kbCan I get a fixed IP address for my Vercel deployments? — Vercel deployments use dynamic IPs by default. Learn how Static IPs, Secure Compute, and AWS PrivateLink give you a fixeDo Vercel Serverless Functions support WebSocket connections? — Information on Vercel's support for WebSocket connections with Vercel Functions.Running Docker on Vercel vs Render — Compare how Vercel and Render run Docker workloads, including deployment model, scaling, image sources, state, and netwoDoes Vercel support Docker deployments? — Vercel supports deploying OCI-compatible container images through Vercel Functions and Vercel Container Registry, with AHow to Effectively Load Test Your Vercel Application — Learn how to safely load test your Next.js app on Vercel. This guide covers realistic, policy-compliant testing of routeNext.js on Vercel vs Cloudflare — Compare running Next.js on Vercel Functions with Fluid compute against Cloudflare Workers with the OpenNext Cloudflare aNext.js on Vercel vs Webflow Cloud — Compare running Next.js on Vercel Functions with Fluid compute against Webflow Cloud on Cloudflare Workers. Learn how NeNext.js on Vercel vs Netlify — Compare running Next.js on Vercel Functions with Fluid compute against Netlify Functions and the OpenNext adapter. LearnPublish and subscribe to realtime data on Vercel — Learn how to publish and subscribe to realtime data on Vercel with WebSockets, SSE, Redis, and Queues, and when a manageBuild a real-time chat app with WebSockets on Vercel — Build and deploy a single-room messaging app in Next.js with real-time chat, typing indicators, and live online user couHow to send emails from an application on Vercel — Send email from Vercel Functions over an HTTP API instead of SMTP. Match the right Next.js pattern to your trigger and fHow to ship an Express app on Vercel — Deploy an Express app to Vercel with zero configuration. Configure response streaming, middleware, cron jobs, the Bun ruHow to ship an H3 app on Vercel — Deploy an H3 app to Vercel with zero configuration. Learn to configure streaming, middleware, cron jobs, the Bun runtimeTroubleshooting Build Error: "Serverless Function has exceeded the unzipped maximum size of 250 MB" — Learn how to troubleshoot builds failing due to exceeding the maximum function size limit on Vercel.The Complete Guide to Vercel Services — Vercel Services let you deploy multiple frontends and backends in one project on a shared domain. Learn how to define seVercel vs Fastly — A detailed guide to Vercel vs Fastly: full-stack application platform vs edge infrastructure layer, covering framework sVercel vs Render — A detailed guide to Vercel vs Render: compute models, AI infrastructure, Docker and container image support, backgroundFrom vercel-docsVercel Primitives — Learn about the Vercel platform primitives and how they work together to create a Vercel Deployment.Pricing and Limits — Understand how eve usage maps to Vercel resources and inherited platform limits.Using the Core Library — Use the Vercel Flags core evaluation library directly for custom setups.Fluid compute — Learn about fluid compute, an execution model for Vercel Functions that provides a more flexible and efficient way to ruBackends on Vercel — Vercel supports a wide range of the most popular backend frameworks, optimizing how your application builds and runs noExpress on Vercel — Deploy Express applications to Vercel with zero configuration. Learn about middleware and Vercel Functions.Deploy a FastAPI app on Vercel — Deploy a FastAPI app on Vercel. Learn how the Python runtime, ASGI, static assets, and Vercel Functions work together.Fastify on Vercel — Deploy Fastify applications to Vercel with zero configuration.Deploy a Flask app on Vercel — Deploy a Flask app on Vercel. Learn how the Python runtime, WSGI, static assets, and Vercel Functions work together.Koa on Vercel — Deploy Koa applications to Vercel with zero configuration.NestJS on Vercel — Deploy NestJS applications to Vercel with zero configuration.Deploy a Django app on Vercel — Deploy a Django app on Vercel. Learn how the Python runtime, WSGI, ASGI, static assets, and Vercel Functions work togethSvelteKit on Vercel — Deploy SvelteKit applications to Vercel and configure the adapter, rendering, streaming, ISR, analytics, and Routing MidVercel Functions — Build API routes, webhooks, and agent request handlers with Vercel Functions, then test and debug them with Vercel CLI.Configuring Functions — Learn how to configure the runtime, region, maximum duration, and memory for Vercel Functions.Configuring Maximum Duration for Vercel Functions — Learn how to set the maximum duration of a Vercel Function.Configuring Memory and CPU for Vercel Functions — Learn how to set the memory / CPU of a Vercel Function.Container Images — Deploy OCI container images with a Dockerfile or Containerfile on Vercel Functions.Using the Bun Runtime with Vercel Functions — Learn how to use the Bun runtime with Vercel Functions to create fast, efficient functions.Using the Node.js Runtime with Vercel Functions — Learn how to use the Node.js runtime to create functions and deploy Node.js servers on Vercel.Using the Python Runtime with Vercel Functions — Learn how to use the Python runtime to run Python applications on Vercel.Streaming — Learn how to stream responses from Vercel Functions.WebSockets — Serve WebSocket connections in Vercel Functions for realtime features like chat, collaboration, and AI streaming.Limits — Look up account limits, usage summaries, rate limits, and resource constraints for every Vercel plan.Secure Compute — Secure Compute provides dedicated private networks with VPC peering for Enterprise teams.Static IPs — Access IP-restricted backend services through shared static egress IPs for Pro and Enterprise teams.Vercel Enterprise Plan — Learn about the Enterprise plan for Vercel, including features, pricing, and more.Static Configuration with vercel.json — Learn how to use vercel.json to configure and override the default behavior of Vercel from within your project.Programmatic Configuration with vercel.ts — Define your Vercel configuration in vercel.ts with @vercel/config for type-safe routing and build settings.Services Pricing and Limits — Understand how billing works for Vercel Services, what's charged, and which limits apply.Workflow Pricing and Limits — Understand how Vercel Workflows billing works and the limits that apply to runs, streams, and platform resources.