Hono 4.6 drives edge adoption over Express and Fastify
Hono 4.13.13 achieves 62,000 requests per second on Bun, significantly outperforming Express which manages 8,000 to 10,000 requests per second on Node.js. This performance advantage stems from Hono using Web Standards APIs and the Fetch API to run seamlessly across Cloudflare Workers and Deno.
Hono 4.13.13 achieves 62,000 requests per second on Bun while Express 5.2.1 manages 8,000 to 10,000 requests per second on Node.js. This 37% throughput difference between Hono and Express on Node.js exists because Hono uses Web Standards APIs like Request and Response instead of Node-specific objects. The technical reason Hono wins on the edge involves its use of the Fetch API, which allows the same router to run on Cloudflare Workers, Bun, Deno, and AWS Lambda without the heavy compatibility shims that Express requires. Hono maintains a 15KB bundle, which fits within the 1MB script size limit for Cloudflare Workers. Express requires a 200KB bundle and lacks native support for V8 isolates. Fastify 5.12.5 delivers 15,000 requests per second on Node.js using JSON schema validation and Ajv. Elysia 1.x delivers 71,000 requests per second on Bun without validation.
| Framework | Runtime | Req/s (Bun) | Bundle Size | TypeScript |
|---|---|---|---|---|
| Elysia 1.x | Bun | ~71,000 | ~30KB | Best-in-class |
| Hono 4 | Bun/Edge | ~62,000 | ~15KB | Excellent |
| Fastify 5 | Node.js | ~18,000 | ~280KB | Good |
| Express 5 | Node.js | ~15,000 | ~200KB | Afterthought |
Deployment Infrastructure
Cloudflare and Deno announced the Deno team joined Cloudflare on October 9, 2026, to support the workerd runtime on personal servers. This development changes how teams view lock-in for edge functions. Hono runs on any runtime that supports the Fetch API, including Vercel Edge and Deno Deploy. Express cannot run on Cloudflare Workers or similar isolates without a heavy compatibility shim. Fastify relies on Node.js and requires a persistent process. AWS Lambda Web Functions support Express and Hono, which allows concurrent requests and response streaming. AWS charges for active CPU time and memory rather than CPU time spent waiting for downstream services. Vike released Photon, a new deployment infrastructure for JavaScript servers, which supports Hono, Express.js, Fastify, Elysia, H3, Srvx, and Hattip. Photon allows development inside the Cloudflare workerd runtime using the Vite Environment API. This setup avoids the old getPlatformProxy() configuration. Waku 1.0 alpha also uses Hono and Vite to support React Server Components. Waku provides a way to choose between static and dynamic rendering through per-route configuration. Will the expansion of V8 isolate support eventually make the Node.js runtime obsolete for web APIs?
TypeScript and Middleware
Hono 4.13.13 provides full route type inference. This feature works through the Hono RPC pattern. Developers use the hono/client to infer route types without code generation. Fastify uses generics for TypeScript support but requires explicit type annotations on every route. Elysia delivers end-to-end type safety through TypeBox without any code generation step.
Express holds 35 million weekly downloads and a massive middleware ecosystem. Most teams use Express because they inherit existing codebases with dependencies like passport or multer. Hono simplifies deployment by building CORS and other common middleware directly into the core package. You might find that the 37% throughput difference between Hono and Express matters less when your database query acts as the primary bottleneck. Hono’s Express-style adapter fails for middleware that writes to the response object directly. Fastify uses the fastify-plugin system to scope middleware to specific routes. This approach prevents middleware from leaking into unrelated parts of the application.