The Server Framework of Choice for Node.js

Express is by far the most popular web server framework for Node.js. Simple and elegant, Express makes writing classic web applications and REST APIs easy.

There's no better way to master a framework than to write your own clone from scratch. Get Write Your Own Express.js From Scratch and learn how Express works from the ground up!

Express Tutorials

Here's how you can handle HTTP FormData with Express
Confused by `app.use(express.json())` in Express? Here's what you need to know.
Here's how you can handle POST requests in Express, including handling JSON request bodies and file uploads.
Calling `app.use(express.static())` adds a middleware to your Express app that serves static files. Here's what you need to know.
Express apps have a `get()` function that creates a new route handler for GET requests. Here's what you need to know.
Express apps have a `use()` function that adds a new middleware to the middleware stack. Here's what you need to know.
Express template engines let you plug in support for templating languages like Pug (AKA Jade), Handlebars, or anything else. Here's how you can use existing templating engines, or write your own.
Given some plain HTML, how do you render it using Express? Here's what you need to know.
Express requests have a `params` object that contains route parameters, as well as a `query` object that contains query parameters. Here's what you need to know.
The `sendFile()` method lets you send a static file as an Express response. Here's what you need to know.
Here's how you can serve static assets directly from a folder using Node.js and Express.
Handling websockets with an Express server in Node.js is easy with the ws module. Here's how it works.
A webhook is an API endpoint designed to be called by an outside service when an event occurs. Here's what you need to know about webhooks in Express.
Server-sent events are an alternative to websockets for pushing events from your Express server to your client. Here's how you can get started with server-sent events in Node.js with Express.
Express automatically parses the URL query string and stores the parsed parameters in `req.query`. Here's what you need to know.
Express route parameters allow your users to pass parameters in the URL. Here's what you need to know.
Express doesn't set the request body for you by default, you need to attach middleware. Here's how you set up Express to parse the request body for you.
Express' Router class lets you define request handlers for specific URIs and HTTP methods. Here's what you need to know.
Express responses have a `res.json()` function that serializes a JavaScript object to JSON and puts it in the response body. Here's what you need to know.
CORS (Cross-Origin Resource Sharing) headers allow browsers to make HTTP requests to different domains. Here's how you set CORS headers with Express and Node.js
Middleware is the fundamental building block of Express apps - even routes are middleware under the hood. Here's what you need to know about middleware.
Error handling middleware is the canonical way to handle errors in Express. This tutorial shows you how to use error handling middleware for several common use cases.
The `res` parameter in Express is used to craft an HTTP response. This tutorial teaches you how to use the `res` object by example.
An overview of the `req` parameter in Express.
Learn how to upload files using Express, with help from the library Formidable.
Express doesn't support promises by default. Learn what you can do about it.
Learn how to redirect to a different URL using Express
Learn how to enable your Express server to respond on https://localhost
Learn how to render Vue components on the server side with Express