Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

expressjs/express

Developer Tools

Minimalist Node.js web framework for building HTTP servers, APIs, and web apps with routing and middleware.

69,576
25,381
JavaScript
MIT
17 years old

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

  1. Install Node.js 18 or newer from nodejs.org.
  2. In a new project, create a package.json if 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.

Hacker News

ExpressJS 5.0
▲ 44 · 5 comments · September 11, 2024
ExpressJS 5.0 Released
▲ 21 · 8 comments · September 10, 2024
Express.js Releases Version 5
▲ 5 · 0 comments · September 10, 2024