expressjs/express
Developer ToolsMinimalist Node.js web framework for building HTTP servers, APIs, and web apps with routing and middleware.
What it is
Express is a small, unopinionated HTTP framework for Node.js. It provides routing, middleware, HTTP helpers such as redirection and caching, content negotiation, and view rendering through 14+ template engines via @ladjs/consolidate (philosophy). It is aimed at JavaScript developers who want a lightweight base for websites, single-page app backends, or public HTTP APIs without being locked into an ORM or template engine.
A minimal server looks like this (Readme quick example):
import express from 'express'
const app = express()
app.get('/', (req, res) => {
res.send('Hello World')
})
app.listen(3000, () => {
console.log('Server is running on http://localhost:3000')
})
Getting started
- Install Node.js 18 or newer from nodejs.org.
- In a new project, create a
package.jsonif needed, then install the package:
npm init
npm install express
The full installation path is covered in the installing guide. For a pre-generated project skeleton, install the separate generator and create an app:
npm install -g express-generator@4
express /tmp/foo && cd /tmp/foo
npm install
npm start
Then open http://localhost:3000 to view the site (quick start).
Constraints and notes
- Node.js 18+ is required (installation).
- The generator is a separate package,
express-generator, and the README uses major version 4 for it even though the framework itself is on v5; check the generator release you install. - Express is unopinionated: database access, session handling, and most application structure come from middleware or other packages, not the core. Middleware and modules are published under the expressjs GitHub organization.
- If upgrading from v4, read the v5 migration guide, which the maintainers flag as required reading in the README.
- The repository is MIT-licensed (license).
HotRepo's take
Express is a long-established project with 69,577 stars and 25,376 forks at the time of the provided records. In HotRepo's recorded JavaScript daily snapshot for 2026-11-06, it gained 6 stars and ranked 14th in that language list; no all-language daily rank is recorded. The more relevant signal is the 2024 release of Express 5.0, which drew several Hacker News threads, including a 44-point discussion (ExpressJS 5.0). Commenters there highlighted async errors now reaching the global error handler as a long-awaited change, while one commenter noted that the migration guide still described the release as beta and that v4.20 remained tagged latest (discussion). That mismatch is worth checking against the current npm dist-tag before planning a production upgrade.
Written by AI from the project's README, updated . The project's own docs are the source of truth.