Platform primitives /Functions /

Functions overview

Serverless functions open a world of possibilities for running on-demand, server-side code without having to run a dedicated server. However, managing service discovery, configuring API gateways, and coordinating deployments between your app and your functions can quickly become overwhelming.

With Netlify Functions, your serverless functions are version-controlled, built, and deployed along with the rest of your Netlify site, and we will automatically handle service discovery through our built-in API gateway. This eliminates overhead and brings the power of Deploy Previews and rollbacks to your functions. To provide faster customer experiences, synchronous functions can use response streaming to get content in front of people as quickly as possible.

For longer-running function tasks, Background Functions allow for extended execution time using asynchronous invocation.

Currently, you can deploy functions built with TypeScript, JavaScript, and Go.

# Manage your functions

Functions deployed from Netlify are immutable. This means that an update to a function on your production branch won’t change the version that was deployed in a branch deploy, or in a Deploy Preview. You can access all versions of your functions in the Netlify web interface, under the Functions tab.

By default, the list displays all of the functions, including background functions, in the current published deploy. To find functions on another deploy, you can use the search field at the top of the list. You can start typing to jump to a particular branch, or find a Deploy Preview by number.

# Default deployment options

By default, all functions are deployed with:

  • us-east-2 AWS Lambda region (for sites created after October 4, 2023)

    Private Connectivity

    If your team has Private Connectivity enabled, note that this region selection makes your functions use the private network.

  • 1024 MB of memory
  • 10 second execution limit for synchronous functions, including scheduled functions
  • 15 minute execution limit for background functions
  • 6 MB request and response payload size limit for buffered synchronous functions

    Lower effective limit for binary request payloads

    We Base64-encode requests with binary payloads such as image uploads. This encoding comes with approximately 30% overhead relative to the size of the original binary data, effectively reducing the binary request payload size limit to 4.5 MB.

  • 20 MB response payload size limit for streamed synchronous functions
  • 256 KB request and response payload size limit for background functions

# Custom deployment options

Depending on your plan, you can change the deployment options for synchronous functions.

Limits other than the ones mentioned above cannot be changed.

If you wish to deploy functions onto your own AWS account (in order to integrate with other AWS services on your account), please contact sales.

# More Functions resources

Optional configuration for functions: Directory

Deploy functions

Deploy functions