Express is a fast, unopinionated, minimalist web framework for Node.js. You can deploy an Express app to Vercel with zero configuration.
Express applications on Vercel benefit from:
- Fluid compute: Active CPU billing, automatic cold start prevention, optimized concurrency, background processing, and more
- Preview deployments: Test your changes on a copy of your production infrastructure
- Instant Rollback: Recover from unintended changes or bugs in milliseconds
- Vercel Firewall: Protect your applications from a wide range of threats with a multi-layered security system
- Secure Compute: Create private links between your Vercel-hosted backend and other clouds
Get started with Express on Vercel
You can quickly deploy an Express application to Vercel by creating an Express app or using an existing one:
vc initexpress
app.{js,cjs,mjs,ts,cts,mts}
index.{js,cjs,mjs,ts,cts,mts}
To run an Express application on Vercel, create a file that imports the express package at any one of the following locations:
server.{js,cjs,mjs,ts,cts,mts}
Get started by initializing a new Express project using Vercel CLI init command:
src/app.{js,cjs,mjs,ts,cts,mts}
For example, use the following code that exports your Express app:
src/index.{js,cjs,mjs,ts,cts,mts}
This will clone the Express example repository in a directory called express.
src/server.{js,mjs,cjs,ts,cts,mts}
The file must also export the application as a default export of the module or use a port listener.
constapp=express();
// Define your routes
import express from'express';
// Export the Express app
exportdefault app;
app.get('/', (req, res) => {
TypeScript
You may also run your application using the app.listen pattern that exposes the server on a port.
constport=3000;
import express from'express';
// Define your routes
TypeScript

// Use "type: module" in package.json to use ES modules
});
});
constapp=express();
app.listen(port, () => {
app.get('/', (req, res) => {
res.json({ message:'Hello from Express on Vercel!' });
Use vercel dev to run your application locally
vercel dev
To deploy, connect your Git repository or use Vercel CLI:
vc deploy
Serving static assets
To serve static assets, place them in the public/** directory. They will be served as a part of our CDN using default headers unless otherwise specified in vercel.json.
Vercel Functions
Additionally, all Vercel Functions limitations apply to the Express application, including:
Limitations
When you deploy an Express app to Vercel, your Express application becomes a single Vercel Function and uses Fluid compute by default. This means your Express app will automatically scale up and down based on traffic.
express.static() will be ignored and will not serve static assets.
express.static() will not serve static assets. You must use the public/** directory.
- Application size: The Express application becomes a single bundle, which has a standard bundle size limit of 250MB. Large Functions support Node.js bundles up to 5GB on Fluid compute when enabled (public beta). Our bundling process removes all unneeded files from the deployment's bundle to reduce size, but does not perform application bundling (e.g., Webpack or Rollup).
- Error handling: Express.js will swallow errors that can put the main function into an undefined state unless properly handled. Express.js will render its own error pages (500), which prevents Vercel from discarding the function and resetting its state. Implement robust error handling to ensure errors are properly managed and do not interfere with the serverless function's lifecycle.
More resources
Learn more about deploying Express projects on Vercel with the following resources:
Previous
Last updated August 10, 2026
Nitro
Was this helpful?
Cross-link map: Express on Vercel (/docs/frameworks/backend/express)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 pagesHow to ship an Express app on Vercel — Deploy an Express app to Vercel with zero configuration. Configure response streaming, middleware, cron jobs, the Bun ruBuild with an Express starter template — Deploy an Express app to Vercel from a template. Browse Express starters from Vercel and the community, then run them loFastify on Vercel — Deploy Fastify applications to Vercel with zero configuration.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.How to ship a Fastify app on Vercel — Deploy a Fastify app to Vercel with zero configuration, then add streaming, lifecycle hooks, cron jobs, and observabilitThis page links to (13)Vercel CDN overview — Vercel's CDN is a globally distributed platform that handles routing, caching, security, and compression for every deplovercel deploy — Learn how to deploy your Vercel projects using the vercel deploy CLI command.vercel init — Learn how to initialize Vercel supported framework examples locally using the vercel init CLI command.Environments — Environments are for developing locally, testing changes in a pre-production environment, and serving end-users in produFluid compute — Learn about fluid compute, an execution model for Vercel Functions that provides a more flexible and efficient way to ruVercel Functions — Build API routes, webhooks, and agent request handlers with Vercel Functions, then test and debug them with Vercel CLI.Vercel Functions Limits — Learn about the limits and restrictions of using Vercel Functions.System Headers — This reference covers the list of request, response, cache-control, and custom response headers included with deploymentPerforming an Instant Rollback on a Deployment — Learn how to perform an Instant Rollback on your production deployments and quickly roll back to a previously deployed pSecure Compute — Secure Compute provides dedicated private networks with VPC peering for Enterprise teams.Vercel Firewall — Learn how Vercel Firewall helps protect your applications and websites from malicious attacks and unauthorized access.Build with an Express starter template — Deploy an Express app to Vercel from a template. Browse Express starters from Vercel and the community, then run them loHow to ship an Express app on Vercel — Deploy an Express app to Vercel with zero configuration. Configure response streaming, middleware, cron jobs, the Bun ruPages that link here (6)By site: vercel-changelog (2) · vercel-kb (4)From vercel-changelogExperimental build mode for Hono and Express projectsZero-configuration Express backendsFrom vercel-kbBuild with an Express starter template — Deploy an Express app to Vercel from a template. Browse Express starters from Vercel and the community, then run them loHow 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 Build a Weather API with Express and Vercel — Provide real-time weather data to apps and websites with a single Express route.Build a Weather API on Vercel: Express, FastAPI, and Nitro — Build a weather API on Vercel with FastAPI, Express, or Nitro. Compare the three runtimes, add caching and Observability