</>PackageGraphPackageGraph

express

npmv5.2.1

Fast, 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.

28
Direct dependencies

Runtime packages this one declares itself.

62
Total installed

Distinct packages in the full runtime tree, deduplicated the way a package manager would.

2.1 MB
Install size

Unpacked size of this package plus its entire runtime tree.

5
Tree depth

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

BSD-3-ClauseISCMIT

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.

PackageWeekly downloadsDependentsLicenseLast release
expressthis page92.8M17MIT9 months ago
hono04MIT1 day ago
koa6.8M0MIT1 day ago
axios106.5M4MIT1 day ago
fastify8.9M4MIT1 day ago
next40.6M0MIT1 day ago

Dependencies

Declared by express v5.2.1. Runtime dependencies are installed with the package; dev dependencies are not.

Dev (16)

after 0.8.2connect-redis ^8.0.1cookie-parser 1.4.7cookie-session 2.1.1ejs ^3.1.10eslint 8.47.0express-session ^1.18.1hbs 4.2.0marked ^15.0.3method-override 3.0.0mocha ^10.7.3morgan 1.10.1nyc ^17.1.0pbkdf2-password 1.2.1supertest ^6.3.0vhost ~3.0.2

Used by

Popular packages that depend on express.

axiosnpm

Promise based HTTP client for the browser and node.js

106.5M/wk4 dependentsMITTS
follow-redirectsnpm

HTTP and HTTPS modules that follow redirects.

91.6M/wk2 dependentsMIT
corsnpm

Node.js CORS middleware

69.7M/wk6 dependentsMIT
h3npm

Minimal H(TTP) framework built for high performance and portability.

34.2M/wk8 dependentsMITTS
cross-fetchnpm

Universal WHATWG Fetch API for Node, Browsers and React Native

32.9M/wk2 dependentsMITTS
@mswjs/interceptorsnpm

Low-level network interception library for Node.js.

20.3M/wk1 dependentsMITTS
mongoosenpm

Mongoose MongoDB ODM

6.1M/wk0 dependentsMITTS
mswnpm

Seamless REST/GraphQL API mocking library for browser and Node.js.

0/wk5 dependentsMITTS
canvasnpm

Canvas graphics API backed by Cairo

0/wk1 dependentsMITTS
light-my-requestnpm

Fake HTTP injection library

0/wk1 dependentsBSD-3-ClauseTS
cookiesnpm

Cookies, optionally signed using Keygrip.

0/wk1 dependentsMIT
srvxnpm

Universal Server.

0/wk2 dependentsMITTS
gaxiosnpm

A simple common HTTP client specifically for Google APIs and services.

0/wk1 dependentsApache-2.0TS
express-rate-limitnpm

Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.

0/wk2 dependentsMITTS
node-forgenpm

JavaScript implementations of network transports, cryptography, ciphers, PKI, message digests, and various utilities.

0/wk5 dependents(BSD-3-Clause OR GPL-2.0)
@modelcontextprotocol/sdknpm

Model Context Protocol implementation for TypeScript

0/wk1 dependentsMIT
mongodbnpm

The official MongoDB driver for Node.js

0/wk3 dependentsApache-2.0TS

Relationship graph

Dependencies (left) and dependents (right) of express.

Frequently installed together

Release history

7 releases in the last two years, typically about 4 days apart.

Recent versions of express
VersionPublishedSizeLicense
4.22.24 months ago217 KBMIT
4.22.19 months ago217 KBMIT
5.2.1latest9 months ago74 KBMIT
5.2.09 months ago74 KBMIT
4.22.09 months ago216 KBMIT
5.1.01 year ago192 KBMIT
4.21.21 year ago216 KBMIT
5.0.11 year ago191 KBMIT
4.21.11 year ago216 KBMIT
4.21.02 years ago216 KBMIT
5.0.02 years ago191 KBMIT
4.20.02 years ago215 KBMIT
5.0.0-beta.32 years ago185 KBMIT
4.19.22 years ago210 KBMIT
5.0.0-beta.22 years ago185 KBMIT

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

Keywords

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.