express
npmv5.2.1Fast, unopinionated, minimalist web framework
Adopt with care
express is usable, with caveats. Pulls in 62 transitive packages, about 2.1 MB installed (at least — some of the tree is still being crawled).
- AAdoption: grade A, Excellent.
92.8M downloads per week and 17 known dependents.
- BMaintenance: grade B, Good.
Last published 282 days ago. 12 releases in the last 2 years.
- DWeight: grade D, Poor — a real concern.
Pulls in 62 transitive packages, about 2.1 MB installed (at least — some of the tree is still being crawled).
- ASupply chain: grade A, Excellent.
No install scripts, 5 maintainers, and a contained dependency surface.
- ALicense: grade A, Excellent.
MIT — permissive, with no copyleft found in the dependency tree.
Grades are computed deterministically from registry metadata collected by PackageGraph — downloads, dependents, publish dates, the resolved dependency tree, maintainer count, and declared licenses. No third-party scores are used.
Install cost
What you actually take on by adding express to a project.
Runtime packages this one declares itself.
Distinct packages in the full runtime tree, deduplicated the way a package manager would.
Unpacked size of this package plus its entire runtime tree.
Longest resolved dependency chain below this package.
Part of this dependency tree has not been crawled yet, so these figures are a lower bound rather than a final total.
Licenses in the dependency tree
Every license you inherit by installing express, not just its own. Check this before a legal review, not after.
Compatibility
- Node.js
- node >= 18
- Module format
- CommonJS only
- TypeScript
- No bundled types
- Install scripts
- None
Quick start
A usage example from the express README.
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')
})express vs the alternatives
Packages solving a similar problem in the npm ecosystem, compared on the signals that drive an adoption decision.
Dependencies
Declared by express v5.2.1. Runtime dependencies are installed with the package; dev dependencies are not.
Runtime (28)
Dev (16)
Used by
Popular packages that depend on express.
Promise based HTTP client for the browser and node.js
HTTP and HTTPS modules that follow redirects.
Node.js CORS middleware
Minimal H(TTP) framework built for high performance and portability.
Universal WHATWG Fetch API for Node, Browsers and React Native
Low-level network interception library for Node.js.
Mongoose MongoDB ODM
Seamless REST/GraphQL API mocking library for browser and Node.js.
Canvas graphics API backed by Cairo
Fake HTTP injection library
Cookies, optionally signed using Keygrip.
Universal Server.
A simple common HTTP client specifically for Google APIs and services.
Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.
JavaScript implementations of network transports, cryptography, ciphers, PKI, message digests, and various utilities.
Model Context Protocol implementation for TypeScript
The official MongoDB driver for Node.js
Relationship graph
Dependencies (left) and dependents (right) of express.
Frequently installed together
TypeScript definitions for node
Next generation testing framework powered by Vite
An AST-based pattern checker for JavaScript.
An HTTP/1.1 client, written from scratch for Node.js
Get an available TCP port to listen
V8 coverage provider for Vitest
Node.js Adapter for Hono
An extremely fast JavaScript and CSS bundler and minifier.
Official client encryption module for the MongoDB Node.js driver
Prettier is an opinionated code formatter
Cross-platform WebSocket Servers for Node.js, Deno, Bun and Cloudflare Workers
Web framework built on Web Standards
Release history
7 releases in the last two years, typically about 4 days apart.
| Version | Published | Size | License |
|---|---|---|---|
| 4.22.2 | 4 months ago | 217 KB | MIT |
| 4.22.1 | 9 months ago | 217 KB | MIT |
| 5.2.1latest | 9 months ago | 74 KB | MIT |
| 5.2.0 | 9 months ago | 74 KB | MIT |
| 4.22.0 | 9 months ago | 216 KB | MIT |
| 5.1.0 | 1 year ago | 192 KB | MIT |
| 4.21.2 | 1 year ago | 216 KB | MIT |
| 5.0.1 | 1 year ago | 191 KB | MIT |
| 4.21.1 | 1 year ago | 216 KB | MIT |
| 4.21.0 | 2 years ago | 216 KB | MIT |
| 5.0.0 | 2 years ago | 191 KB | MIT |
| 4.20.0 | 2 years ago | 215 KB | MIT |
| 5.0.0-beta.3 | 2 years ago | 185 KB | MIT |
| 4.19.2 | 2 years ago | 210 KB | MIT |
| 5.0.0-beta.2 | 2 years ago | 185 KB | MIT |
Overview
express is an npm package that fast, unopinionated, minimalist web framework. It is extremely widely used, with about 92.8M downloads per week and 17 known dependents in the graph. The latest version is 5.2.1, released under the MIT license.
Who should use it
Teams working in the npm ecosystem who need fast, unopinionated, minimalist web framework and value a battle-tested, widely-adopted solution.
When not to use it
Consider an alternative if you need to minimize your dependency tree, have first-class TypeScript types out of the box, or if a more actively-maintained option better fits your npm stack.
Pros
- Large, well-established user base (92.8M weekly downloads).
- Clear open-source license (MIT).
Cons
- Large dependency tree (44 direct dependencies) increases install size and audit surface.
- No bundled TypeScript types (may require a separate @types package).
Auto-generated from collected registry metadata. No external claims are inferred.
Maintainers
Funding
Frequently asked questions
Should I use express?
express is usable, with caveats. Pulls in 62 transitive packages, about 2.1 MB installed (at least — some of the tree is still being crawled).
How do I install express?
Run `npm install express` to add express to your npm project.
How many dependencies does express have?
express declares 44 direct dependencies and pulls in 62 packages in total once its runtime tree is resolved totalling about 2.1 MB on disk.
What license is express released under?
express is distributed under the MIT license. Its dependency tree also includes: BSD-3-Clause, ISC, MIT.
How popular is express?
express has approximately 92,836,012 downloads per week and 17 known dependent packages.
Is express still maintained?
The most recent release of express (v5.2.1) was published 9 months ago.
Does express run install scripts?
No. express does not define preinstall, install, or postinstall scripts, so installing it does not execute publisher-supplied code.