Overview
Hono (Japanese for flame) is a web framework for JavaScript and TypeScript built only on Web Standard APIs. Because handlers receive a standard Request and return a standard Response, the same application runs on Cloudflare Workers and Pages, Fastly Compute, Deno, Bun, Vercel, Netlify, AWS Lambda and Lambda@Edge, and on Node.js through an adapter.
The core has zero dependencies and the hono/tiny preset is under about 14 kB minified, which matters on edge platforms with bundle limits and cold starts. It offers several routers: RegExpRouter for fast matching, LinearRouter for environments that initialise the app on every request, and PatternRouter for the smallest size.
The API will feel familiar to anyone who has used Express: routes, middleware and a context object. Hono adds first-class TypeScript types, validators, a JSX renderer, and an RPC client that shares route types with the front end. Cloudflare uses it for internal APIs of D1 and Workers KV, and Clerk, Unkey and OpenStatus list it for their API servers.
Hono has been developed in the open since late 2021 under the MIT licence, led by its author Yusuke Wada with a group of regular contributors.
Pricing and plans
What it does
- Multi-runtime
- The same code runs on Cloudflare Workers, Fastly Compute, Deno, Bun, AWS Lambda and Node.js (via a Node adapter).
- Built-in middleware
- Middleware and helpers such as basic authentication ship in the package; the rest is bundled only when used.
- Typed RPC client
- Export the app type and call routes from the client with request and response types inferred from validators and handlers.
- Multiple routers
- RegExpRouter, SmartRouter, LinearRouter and PatternRouter trade matching speed against registration speed and size.
- Standard Schema validation
- Validators accept Zod, Valibot and other Standard Schema libraries.
- Small footprint
- Zero dependencies; the tiny preset is under about 14 kB minified.
Strengths and limitations
Strengths
- Portable across edge, serverless, Bun, Deno and Node with no rewrite
- Very small bundle, suited to cold-start sensitive platforms
- Strong TypeScript inference and an RPC client for typed front ends
- Familiar Express-style routing and middleware
Limitations
- No ORM, auth system, job queue or admin: it is a routing and middleware layer, so you assemble the rest
- Running on Node.js needs a separate adapter package
- RPC types need strict mode in both client and server tsconfig, which the docs call out for monorepos
- Hono describes itself as having no frontend; full-stack apps pair it with another tool
Who it suits
Good for
- APIs on Cloudflare Workers or other edge runtimes
- TypeScript back ends that may move between hosts
- Proxies and small services where bundle size matters
Look elsewhere if
- Teams wanting a batteries-included MVC framework with ORM and auth (see AdonisJS, NestJS or Laravel)
- Projects that depend heavily on Express-only middleware
Alternatives to Hono
Questions
Is Hono better than Express?
Hono runs on edge and serverless runtimes as well as Node and has built-in TypeScript types; Express runs only on Node but has a far larger middleware ecosystem.
Does Hono work with Node.js?
Yes, through its Node.js adapter.
Is Hono free?
Yes. It is MIT licensed with no paid edition.
Can Hono run on Cloudflare Workers?
Yes. Cloudflare Workers is one of its main targets and Cloudflare uses Hono for internal APIs.
Sources read for this page