TL;DR
Choose by fit. Express serves existing ecosystem and compatibility needs, Fastify offers schema-oriented Node.js APIs, and Hono targets a multi-runtime Web-Standards model. A dated distribution snapshot does not establish satisfaction, new-project share, replacement, or a universal winner.
The protected query "is Express dead?" has a direct answer: no. Express 5 is the active npm default/latest line in the approved records. The useful decision is whether Express, Fastify, or Hono matches the application's runtime, compatibility, validation, and migration requirements.
Key takeaways
- Express 5 requires Node.js 18+ and documents migration changes plus Promise support for rejected async handlers.
- Fastify documents JSON Schema validation and serialization for Node.js APIs.
- Hono documents a multi-runtime Web-Standards model across Cloudflare Workers, Fastly, Deno, Bun, Vercel, Netlify, AWS Lambda, and Node.js.
- Express, Fastify, and Hono are MIT-licensed npm packages. Open-source licensing does not establish hosted plans or zero total operating cost.
- Package-level traffic limits are application-specific. Deployment, middleware, and infrastructure determine practical limits.
- The guide has no reproducible receipt for a universal throughput ranking; benchmark the target application.
Package health snapshot
At access time, npm latest tags were Express 5.2.1, Fastify 5.12.1, and Hono 4.13.3. Express 5.1 became npm's default line in March 2025, and the current frozen latest tag is 5.2.1. Recheck versions before publication.
For distribution context, the official npm 2026-08-15 through 2026-08-21 snapshot records Express 129,407,148 weekly downloads. This is a package distribution count, not unique developers or a new-project-share estimate. No repository-star or fork counter is used in this guide.
The cited Express release record and the Express, Fastify, and Hono npm registry records were reachable on 2026-08-22. Express 5 was the active npm default/latest line in those records. Do not infer future maintenance or service uptime from package-record reachability.
At-a-glance decision table
| Context | Start with | Validate before committing |
|---|---|---|
| Existing Express service | Express 5 migration path | Route-pattern changes, async error flow, middleware, Node.js version, and tests. |
| New schema-oriented Node.js API | Fastify | JSON Schema design, plugin compatibility, logging choice, deployment adapter, and team familiarity. |
| Multi-runtime or Web-Standards deployment | Hono | Runtime adapters, dependency portability, middleware behavior, and platform limits. |
| Public multi-client API | The framework that best supports the chosen contract | Validation, error model, OpenAPI or client generation, and compatibility policy. |
Comparison matrix
Express 5
Express preserves its basic request, response, middleware, and routing interface while documenting breaking migration changes. Its release notes describe Promise support for rejected async handlers, and its migration guide requires Node.js 18+. This makes Express 5 a practical compatibility path for an existing service, not a guarantee that every Express 4 route or middleware works unchanged.
Express remains useful when the real question is "what is the migration path and what do we get from it?" Existing middleware, operational knowledge, and stable application behavior can outweigh the value of changing frameworks. For an established service, the answer may be "not enough to justify the cost right now," after the team tests the alternatives.
Fastify
Fastify documents JSON Schema validation and serialization. That interface can centralize request validation and response serialization for a Node.js API. Evaluate plugins and application adapters individually rather than assuming Express middleware maps directly.
Use Fastify when schema-oriented Node.js development aligns with the team's API contract. Do not choose it from an unsourced throughput multiplier; run the target service, database path, serialization workload, and production runtime through a reproducible benchmark.
Hono
Hono documents a Web-Standards model across multiple JavaScript runtimes. That makes it relevant when portability across Node.js, Bun, Deno, edge, or serverless environments is an explicit requirement. Multi-runtime support does not prove every third-party package works on every runtime, so test dependencies and adapters per application.
Capabilities and compatibility
The sources support three specific capability claims:
- Express 5: documented Promise support, migration changes, and the familiar Express API model.
- Fastify: documented JSON Schema validation and serialization.
- Hono: documented multi-runtime Web-Standards routing.
A modern "Express-based full-stack framework" may hide the HTTP adapter behind a larger module interface. Inspect that adapter before treating the framework's package graph as a direct recommendation for Express.
Benchmark table: what to measure
| Measurement | Minimum receipt |
|---|---|
| Throughput and latency | Application code, versions, runtime, hardware, warmup, repetitions, raw output, and error rate. |
| Validation cost | Exact schemas, payload shapes, serialization settings, and failure cases. |
| Database path | Query, pool, data volume, cache state, and database location. |
| Cold start | Runtime, deployment platform, bundle, dependencies, and repeated starts. |
Fastify's own benchmarking guide says to benchmark the target application. Without that receipt, framework-level request figures and migration-duration estimates do not belong in the decision.
Migration notes
For Express 4 to Express 5:
- Confirm Node.js 18+ across development, CI, and production.
- Read the official migration guide and run the documented codemods where applicable.
- Audit route patterns, removed APIs, body parsing, and async error handlers.
- Run public route and middleware tests before changing production traffic.
For Express to Fastify or Hono, treat the work as an adapter migration rather than a syntax rewrite. Inventory middleware, authentication, validation, errors, request context, streaming, and deployment behavior. Move one route family at a time behind tests.
There is no labor-market dataset supporting claims about universal hiring familiarity, teaching prevalence, team migration duration, or institutional knowledge as a measured outcome.
Methodology
The comparison uses official npm records, official Express release and migration notes, official Fastify validation and benchmarking documentation, official Hono documentation, and the approved tRPC documentation. It separates dated distribution from framework fit and omits unsupported performance, market-share, and perpetual-maintenance claims.
FAQ
Should I start a new project with it?
Start with the application's constraints. Express is a defensible fit for compatibility and an existing ecosystem. Fastify is a candidate for schema-oriented Node.js APIs. Hono is a candidate for multi-runtime Web-Standards deployment.
An individual developer may ask "should I start a new project with it?" A team is more likely to ask "should we use Express?" In both cases, runtime, compatibility, validation, and migration requirements should drive the answer.
Is Express 5 merely "nice, but too little too late"?
That phrase is a reaction, not an evidence-backed verdict. Ask whether Express 5's migration path and Promise handling meet the application's needs while preserving compatibility.
Is Fastify always faster?
No universal benchmark is authorized. Benchmark the target application with a reproducible receipt.
Does Hono replace Express everywhere?
No. Runtime portability, dependencies, adapters, and middleware compatibility must be evaluated per application.
Sources
The synchronized guide packet contains the approved official source catalog, exact accessed dates, and assertion boundaries.
