It is the most widely used Node web framework, and most Node backend code you'll read is built on it or on its ideas.
Express is a small, unopinionated web framework for Node.js. Under the hood it is a function you hand to Node's http.createServer; on top of the raw module it adds three things:
- Routing — map an HTTP method and a URL pattern (
GET /users/:id) to a handler function. - Middleware — a pipeline of functions that every request flows through, used for parsing bodies, logging, authentication, compression and error handling.
- Helpers on `req` and `res` —
req.params,req.query,req.get(),res.json(),res.status(),res.sendFile(),res.redirect().
What Express deliberately does not include: a database layer, validation, authentication, a project structure, or a templating engine choice. You assemble those from packages. That makes it flexible and easy to learn, and it means your design decisions — not the framework's — shape the app.
This course targets Express 5, released in 2024 and the default latest on npm since 5.1 (March 2025). Compared with Express 4, its headline features are that rejected promises from async handlers reach your error handler automatically, a stricter and safer route path syntax, and the removal of long-deprecated APIs. It requires Node 18 or newer.
Where Express fits: JSON APIs, server-rendered sites, backends-for-frontends, webhooks, and small internal services. Alternatives like Fastify (speed, schemas built in), Koa (by the Express team, async-first) or NestJS (structure, dependency injection) solve similar problems; concepts you learn here — routes, middleware, request/response — transfer directly.
Install it into a project with npm install express.
Example
# A new Express 5 project
mkdir my-api && cd my-api
npm init -y
npm pkg set type=module
npm install express # installs Express 5 (latest)
npm ls express # my-api@1.0.0 -> express@5.xRemember
- Express = routing + middleware + req/res helpers on top of node:http
- It is unopinionated: you pick the database, validation and structure
- Express 5 forwards async errors automatically and requires Node 18+
Watch out for
- Following Express 4 tutorials verbatim — some APIs and path patterns changed in 5.