StartupStash

An editorial team. Writers who work in each category build the lists. Prices come from the vendors' own pages.

Koa Alternatives for Node.js Middleware and APIs

Koa is a minimal Node.js framework from the team behind Express, and it is still maintained. npm lists koa 3.3.0 from November 3, 2026. Version 3.0.0 landed on April 28, 2025, adding app.currentContext through AsyncLocalStorage and a response.back() redirect helper, and Koa needs Node 18 or newer. The Koa homepage is blunt about its design: it does not bundle any middleware within its core.

That design is also the usual reason people look elsewhere. A real Koa app needs a router, a body parser, CORS, validation and error formatting, each from a separate package. The alternatives below either ship more in the box, run on more runtimes, or keep Koa's style with better types. For a config-first take on the same problem, our hapi alternatives page compares many of the same frameworks from the hapi side.

Picks are ordered by how little of a Koa mental model you have to unlearn.

Prices below are as of November 8, 2026. Our method is on How we review tools.

Quick comparison

Tool Best for Price Platforms
Hono Koa-style middleware on any runtime Free (MIT) Node, Bun, Deno, Workers, Lambda
Express The largest middleware pool Free (MIT) Node.js 18+
Fastify Speed with schema validation Free (MIT) Node.js 20, 22
h3 Tiny, portable HTTP core Free (MIT) Node 20.19+, Bun, Deno, Workers
Elysia Typed APIs on Bun Free (MIT) Bun; Node via adapter
hapi Built-in validation and auth Free (BSD-3-Clause) Node.js 14.15+
NestJS Structured TypeScript backends Free (MIT) Node.js 20+

Hono

Koa developers feel at home in Hono within minutes. Its middleware wraps the handler like layers of an onion: code before await next() runs on the way in, code after it runs on the way out, which is exactly how Koa timing and error middleware work. Context lives on a single c object, much like Koa's ctx.

The difference is where it runs. Hono is built on Web Standards with zero dependencies, so the same app deploys to Cloudflare Workers, Deno, Bun, AWS Lambda or Node. The current release is 4.13.17 from November 7, 2026, MIT-licensed, with 5.0.0-rc.1 on the next tag.

Best for: Koa users who want the same middleware model plus edge and serverless targets.

Pricing:

  • Free, MIT licence
  • Hosting costs depend on the runtime you deploy to

Watch out for:

  • Handlers return a Response instead of assigning ctx.body, as the Hono middleware docs describe, so every Koa route needs a small rewrite.
  • A 5.0 release candidate is already out, so a fresh 4.x codebase faces a major upgrade within months.

Express

Express is the older sibling Koa was written to improve on, and version 5 closed much of the gap. Rejected promises from async handlers now go straight to the error middleware, so the .catch(next) boilerplate that pushed people to Koa is gone. Express 5.3.0 was published on October 9, 2026 and needs Node 18 or newer.

What you gain is reach: nearly every Node library ships Express middleware first. The 4.x line also stays supported, at 4.22.3 from September 14, 2026.

Best for: Teams that care more about ecosystem and hiring than about middleware elegance.

Pricing:

  • Free, MIT licence
  • Extended support for old lines through HeroDevs, price on request

Watch out for:

  • Express middleware passes control forward with next() and does not resume afterwards the way Koa's await next() does, so response-time and error-wrapping middleware need a different pattern.
  • Version 5 changed route syntax. The Express 5 migration guide requires named wildcards such as /*splat and drops regexp characters in paths.

Fastify

Fastify answers the main complaint about Koa: that validation and serialization are left to you. Each route can declare a JSON Schema for its input and output, Fastify validates requests against it, and responses are serialized from it. Logging through Pino is built in, and plugins are encapsulated so one module's decorators do not leak into another.

Its benchmark chart puts Fastify 5.12.7 at 89,733 requests per second against Koa 3.2.1 at 72,594. The current release is 5.12.8 from November 2, 2026, MIT-licensed, and 6.0.0-alpha.6 is on the next tag.

Best for: JSON APIs where schema-checked input and fast output matter.

Pricing:

  • Free, MIT licence
  • Commercial support for end-of-life versions via HeroDevs, price on request

Watch out for:

  • Fastify's request lifecycle uses named hooks such as onRequest and preHandler instead of one middleware stack, which takes some relearning.
  • Old majors lose support fast: the Fastify LTS page shows v4 support ending on June 30, 2025, and v6 is already in alpha.

h3

h3 describes itself as a minimal HTTP framework built for performance and portability, and it shares Koa's taste for a lean core. It is based on Web Standards, works on Node, Bun, Deno and Workers, and the 2.0.8 package depends on just two libraries, rou3 for routing and srvx for the server layer.

Version 2 took a long road. Release candidates started on October 7, 2025, the first stable release of h3 v2 (2.0.1) came out on October 3, 2026, and 2.0.8 followed on October 22, 2026. The 1.x line stays on its own npm tag at 1.15.11.

Best for: Portable APIs and server routes where you want as few dependencies as possible.

Pricing:

  • Free, MIT licence
  • No paid tier

Watch out for:

  • The stable 2.x line is only weeks old, so examples and third-party guides still mostly cover 1.x.
  • It needs Node 20.19 or newer, per the engines field on the h3 npm entry, which is a higher floor than Koa's Node 18.

Elysia

Elysia is for Koa users who are moving to Bun anyway. It infers types from route definitions, generates OpenAPI docs from the same types, and its Eden client lets a front end call the API with full type checking and no code generation. Validation accepts Zod, Valibot, ArkType or Joi through Standard Schema.

The stable release is 1.4.31 from November 5, 2026, MIT-licensed, published the same day as 2.0.0-rc.3.

Best for: New TypeScript services on Bun with a typed front-end client.

Pricing:

  • Free, MIT licence
  • No paid tier

Watch out for:

  • On Node it runs through the separate @elysiajs/node adapter, whose latest release on npm is 1.4.5 from February 17, 2026.
  • With 2.0 at release candidate stage, the 1.x API will change soon.

hapi

hapi is the opposite of Koa in philosophy. Routes are configuration objects that carry their own validation, auth strategy, caching and payload limits, so the framework enforces what a Koa team would assemble by hand. Every dependency is an @hapi package, which keeps the supply chain short.

According to the @hapi/hapi npm entry, 21.4.13 was published on November 4, 2026 under BSD-3-Clause, and it accepts Node 14.15 or newer.

Best for: Security-sensitive APIs where built-in defaults beat hand-picked middleware.

Pricing:

  • Free, BSD-3-Clause licence
  • No paid tier

Watch out for:

  • Koa middleware does not carry over. hapi extends the request lifecycle through plugins and extension points rather than middleware functions, so each Koa package needs a hapi equivalent or a rewrite.

NestJS

NestJS fits when a Koa service has grown into many services and the team wants rules. Modules, controllers and injectable providers give every feature the same shape, and the HTTP layer underneath is Express by default or Fastify through @nestjs/platform-fastify.

@nestjs/core 12.4.0 was published on November 6, 2026, MIT-licensed, and needs Node 20 or newer. The 11.x line sits on a legacy tag at 11.2.8.

Best for: Larger TypeScript teams that want enforced structure and dependency injection.

Pricing:

  • Free, MIT licence
  • Enterprise support from the core team, price on request

Watch out for:

  • It is heavy for small services. Decorators, modules and providers add ceremony that a 200-line Koa app never needed.
  • Paid support is sold with no public price, and the NestJS docs only link to an enterprise support contact.

How to choose

If you need Pick
Keep Koa's onion middleware and add edge runtimes Hono
The most middleware and the most developers Express
Schema-validated JSON APIs at high speed Fastify
A tiny core with two dependencies h3
End-to-end types on Bun Elysia
Validation, auth and limits built in hapi
Strict structure for a big TypeScript team NestJS

When to stay with Koa

Stay on Koa if your middleware stack is settled and your team likes composing it. Koa 3 is a small, stable core with recent releases, its official router @koa/router reached 15.7.1 on November 1, 2026, and benchmarks put it ahead of Express. Moving frameworks to gain features you can add with one package rarely pays off.

Frequently asked questions

Is Koa still maintained?

Yes. koa 3.3.0 was published on November 3, 2026, after 3.2.0 in March and 3.2.1 in May 2026. Koa 2 still receives fixes on the latest-2 tag, with 2.16.4 released on February 25, 2026.

Koa vs Express, what is the difference?

Both come from the same team. Express bundles routing and passes control forward through next(). Koa ships no middleware at all, and each layer can run code both before and after the rest of the stack through await next(). Express 5 now handles rejected promises, which removes Koa's old async advantage for error handling.

Which router should I use with Koa?

Use @koa/router, now at 15.7.1 and requiring Node 20 or newer. The older koa-router package on npm carries a deprecation notice that points users to @koa/router from version 9 onward.

Is Koa faster than Express?

On the illustrative benchmark published by Fastify, Koa 3.2.1 serves 72,594 requests per second and Express 5.3.0 serves 67,794. Fastify itself reaches 89,733 and Hono 84,930 on the same chart. The test route does almost nothing, so real apps rarely see the full gap.

StartupStash

An editorial team. Writers who work in each category build the lists. Prices come from the vendors' own pages.

More alternatives

Kuula Alternatives for 360 Virtual Tours

Kuula alternatives for hosting 360 virtual tours: Panoee, CloudPano, 3DVista, Pano2VR, Matterport, Marzipano and Pannellum, with prices and billing.

Kuula alternatives

OpenSea Alternatives for Buying, Selling and Minting NFTs

Blur said its website would shut on November 12, 2026, and Foundation closed in April. Compare Rarible, Magic Eden, Tensor, Manifold, Teia and Etherscan.

OpenSea alternatives

Skeleton CSS Alternatives for Small, Simple Stylesheets

Skeleton CSS has not had a new release since 2.0.4. Pico CSS, Pure.css, Simple.css, MVP.css, Bulma and Tailwind compared, with versions checked on npm.

Skeleton alternatives