The landscape in 2026
Express remains the most-used framework by total installs, but it's showing its age with JavaScript-first design and slow middleware. A new generation of frameworks — Fastify, Hono, Elysia — offers dramatically better performance with first-class TypeScript. NestJS continues to dominate enterprise TypeScript applications.
Express
Best for: Teams with existing Express codebases, or developers new to Node.js who want the largest tutorial ecosystem.
Throughput: ~15,000 req/s on simple JSON routes
TypeScript: Via @types/express — works but isn't native
Ecosystem: Largest. 10+ year old ecosystem of middleware.
Trade-off: Slowest framework; no built-in validation; loose typing.
Fastify
Best for: High-throughput APIs, new Node.js services where TypeScript and performance matter.
Throughput: ~80,000–95,000 req/s
TypeScript: First-class, native support
Ecosystem: Good, growing. Plugin system is well-designed.
Trade-off: Schema-first approach is a different mental model from Express. Smaller community.
NestJS
Best for: Large team codebases, enterprise Node.js APIs, teams coming from Angular or Spring Boot.
Throughput: ~12,000–40,000 req/s (depends on underlying adapter: Express vs Fastify)
TypeScript: Fully TypeScript-native with decorators
Ecosystem: Excellent. First-party modules for auth, DB, queues, microservices.
Trade-off: High boilerplate. Over-engineered for small applications.
Hono
Best for: Edge runtimes (Cloudflare Workers), ultra-lightweight APIs, multi-runtime compatibility.
Throughput: ~150,000–200,000 req/s on Node.js
TypeScript: Fully TypeScript-native with excellent type inference
Runtime support: Node.js, Cloudflare Workers, Deno, Bun
Trade-off: Newer, smaller ecosystem. Some Node.js-specific middleware missing.
Elysia (Bun)
Best for: New projects using Bun as the runtime where maximum performance is the goal.
Throughput: 500,000+ req/s on Bun (not apples-to-apples with Node frameworks)
TypeScript: Best-in-class type inference with end-to-end type safety
Trade-off: Requires Bun. Not a drop-in replacement for Node.js production environments.
Recommendation by use case
- New REST API (TypeScript): Fastify
- Large enterprise backend: NestJS
- Edge/multi-runtime: Hono
- Existing Express app: Stay on Express unless you have a measurable performance problem
- Bun runtime: Elysia