How it works
An Express app is a list of routes (app.get('/orders', handler)) and middleware functions that run in order for each request: parse the body, check the session, log, then answer. It deliberately does little else, so templates, validation, database access and authentication all come from separate packages.
Released in 2010, it is the framework most Node tutorials, courses and older codebases use, and thousands of middleware packages target it. Express 5, the first major release in a decade, arrived in 2024 and passes errors from async handlers to the error handler automatically. In benchmarks it is slower than Fastify or Hono, which rarely matters for a typical app.
Express pros and cons
Pros
- Simple to learn, with examples for almost every problem
- Very large middleware ecosystem
- Unopinionated, so it fits any project structure
Cons
- Slower than newer frameworks in raw request throughput
- No built-in validation, types or structure; you assemble everything
- Built around Node's own request objects rather than web standards
When to use Express
Pick it when
- Small to medium Node.js APIs where familiarity matters most
- Maintaining or extending an existing Express codebase
Skip it when
- Edge runtimes or very high request volumes, where Hono or Fastify fit better
Express pricing
Express vs the alternatives
Related terms
More in Backend and APIs
Frameworks