株式会社オブライト
Software Dev2026-04-08

Hono vs Express vs Fastify vs Elysia — 2026 Node.js/Bun Framework Comparison Guide

In-depth 2026 comparison of Hono, Express, Fastify, and Elysia across performance, type safety, ecosystem, and learning curve — with up-to-date benchmarks and a use-case selection guide.


The Quick Answer: Which Framework Should You Choose?

In 2026: choose Hono for multi-runtime and Edge deployments, Elysia for peak Bun performance, Fastify for fast and stable Node.js APIs, and Express when ecosystem breadth and existing middleware matter most.

Framework Positioning Map

Loading diagram...

Express (2010) remains the industry standard with the largest ecosystem. Fastify (2016) targets high-throughput Node.js services. Hono (2021) is a multi-runtime, Edge-optimized framework built on Web Standards. Elysia (2023) is a Bun-native framework tuned for maximum throughput.

Comprehensive Comparison Table

Key specs across all four frameworks at a glance.

CriteriaHonoExpressFastifyElysia
Release year2021201020162023
RuntimeMultiNode.js onlyNode.js onlyBun-first
Bundle size12–14 KB200 KB+50 KB+30 KB
TypeScriptNativeDefinitelyTypedDefinitelyTypedNative
Web StandardsYesNoNoYes
Type-safe RPCYes (hc)NoNoYes (Eden)
CF Workers perf.~840K req/s~180K req/s~210K req/sN/A
GitHub Stars (2026)~22K~65K~33K~12K

Strengths of Each Framework

Express dominates on ecosystem. Tens of thousands of middleware packages exist on npm, including battle-tested solutions like Passport.js, multer, and morgan. It has the widest hiring pool and the largest body of tutorials, making it the safest choice for enterprise teams with existing Node.js investments. Fastify delivers realistic performance gains on Node.js through JSON Schema–based serialization and a robust plugin system with scoped lifecycle hooks. It has strong production adoption at mid-to-large scale. Hono differentiates itself through multi-runtime portability. A single Hono application runs unchanged on Node.js, Bun, Deno, Cloudflare Workers, and AWS Lambda. Its type-safe RPC mode (`hc`) and Web Standards compliance make it productive for fullstack TypeScript development. Elysia pushes Bun to its performance ceiling with an end-to-end type-safe Eden client, declarative validation, and a macro system. It assumes the Bun runtime; portability to Node.js is limited.

Performance Benchmarks (2026)

Hello World throughput on identical hardware (reference values — results vary by workload).

RuntimeHonoExpressFastifyElysia
Node.js 22~230K req/s~18K req/s~72K req/sN/A
Bun 1.2~460K req/s~21K req/s~85K req/s~980K req/s
Cloudflare Workers~840K req/sN/AN/AN/A
Deno 2~310K req/sN/AN/AN/A

Same Endpoint in All Four Frameworks

A simple route that returns a user ID as JSON, written in each framework's idiomatic style.

ts
// Express
app.get('/users/:id', (req, res) => {
  res.json({ id: req.params.id })
})

// Fastify
fastify.get('/users/:id', (req, reply) => {
  return { id: (req.params as { id: string }).id }
})

// Hono
app.get('/users/:id', (c) => {
  return c.json({ id: c.req.param('id') })
})

// Elysia
app.get('/users/:id', ({ params }) => {
  return { id: params.id }
})

Ecosystem Comparison

Maturity and adoption metrics across frameworks.

MetricHonoExpressFastifyElysia
npm weekly downloads~2M~32M~11M~300K
GitHub Stars~22K~65K~33K~12K
Official cloud supportCF Workers, AWS, DenoAWS, Heroku, RailwayAWS, HerokuFly.io, Railway
Middleware packages20+ officialTens of thousands200+ official30+ official
Enterprise adoptionGrowingWidespreadMid-to-largeEarly stage

Framework Selection Flowchart

Loading diagram...

Migrating from Express to Hono

The core patterns map cleanly between Express and Hono. Below are the most common conversions.

ts
// Express: middleware
app.use('/api', (req, res, next) => {
  console.log(req.method, req.path)
  next()
})

// Hono: middleware
app.use('/api/*', async (c, next) => {
  console.log(c.req.method, c.req.path)
  await next()
})

// Express: error handler
app.use((err, req, res, next) => {
  res.status(500).json({ error: err.message })
})

// Hono: error handler
app.onError((err, c) => {
  return c.json({ error: err.message }, 500)
})

// Express: static files
app.use(express.static('public'))

// Hono: static files
app.use('/public/*', serveStatic({ root: './' }))

Learning Curve Comparison

Estimated time to productive development for different skill levels.

Skill LevelHonoExpressFastifyElysia
JavaScript beginnerMediumEasyMedium–HardHard
Node.js practitionerEasyEasyMedium
TypeScript practitionerEasyMediumEasyEasy
Unfamiliar with Edge runtimesMedium
Estimated ramp-up time1–2 days0.5–1 day1–3 days2–4 days

2026 Use-Case Recommendation Matrix

Recommended framework by project type.

Use CaseTop PickRunner-upReason
Cloudflare Workers APIHonoNative support, smallest footprint
New Node.js REST APIHono / FastifyFastifyType-safe and fast
Bun production APIElysiaHonoPeak Bun throughput
Extending a legacy Express appExpressFastifyLowest migration cost
MicroservicesHonoFastifyMulti-runtime, lightweight
Enterprise large-scaleFastifyExpressPlugin system, stability
Next.js API Routes replacementHonoEasy App Router integration
Type-safe fullstackHono (RPC)Elysia (Eden)No code generation required

FAQ

Q1. Is adopting Express for a new project in 2026 still reasonable? A. If you need a vast library of existing middleware or your team has deep Express expertise, yes. For greenfield projects, Hono or Fastify offer better type safety, performance, and modern developer experience out of the box. Q2. Does Hono run on Bun? A. Yes. Point Bun at your Hono entry file and it works. For the absolute highest throughput on Bun, Elysia benchmarks higher, but Hono on Bun is still very fast and portable. Q3. Can Elysia run on Node.js? A. Elysia is designed specifically for Bun. Community efforts to run it on Node.js exist but eliminate the performance advantage. For Node.js production workloads, choose Hono or Fastify. Q4. What makes Fastify's plugin system special? A. `fastify-plugin` enables encapsulated, scoped modules for database connections, authentication, and logging. Unlike Express middleware, plugins respect scope boundaries — decorators added inside a plugin don't leak to sibling plugins. Q5. Are Express middleware packages compatible with Hono? A. Not directly. The `hono/adapter` package bridges a subset of Express-style middleware to Hono, but full compatibility is not guaranteed. Each middleware should be tested individually during migration. Q6. How does WebSocket support compare? A. Hono provides `hono/ws` with Cloudflare Durable Objects integration. Fastify uses the `@fastify/websocket` plugin. Express relies on the standalone `ws` library. Elysia includes native WebSocket support baked in. Q7. Which framework is easiest to test? A. Hono and Elysia are the easiest — their Web Standards compliance means you can call `app.request()` directly without spinning up an HTTP server. Fastify provides an `inject()` method for similar in-process testing. Express typically requires supertest or a similar library.

How Oflight Can Help

Choosing the right framework is only the beginning. Oflight's engineers handle framework selection, architecture design, implementation, performance tuning, and migrations from Express or legacy REST APIs to modern Hono-based systems. Reach out for a free consultation through our Software Development service page.

Feel free to contact us

Contact Us