Home/Backend Frameworks/Hono
Backend Frameworks
hono

Hono

TypeScriptOpen SourceEdgeLightweight

Ultra-fast, lightweight web framework for the edge — runs on Cloudflare Workers, Deno, Bun, and Node.js with a familiar Express-like API.

License

MIT

Language

TypeScript

84
Trust
Strong

Why Hono?

Cloudflare Workers or edge runtimes where bundle size matters

Building fast REST APIs with a minimal, Express-style API in TypeScript

Multi-runtime apps that need to run on Bun, Deno, and Node.js

Signal Breakdown

What drives the Trust Score

npm downloads
1.2M / wk
Commits (90d)
250 commits
GitHub stars
22k ★
Stack Overflow
500 q's
Community
Growing
Weighted Trust Score84 / 100

Download Trend

Last 12 months

Tradeoffs & Caveats

Know before you commit

Complex enterprise apps requiring NestJS-style DI and architecture

Heavy SSR apps — Next.js or SvelteKit are better suited

Pricing

Free tier & paid plans

Free tier

Open source, free to use

Paid

Free & open-source

Alternative Tools

Other options worth considering

fastify
Fastify83Strong

High-performance Node.js web framework with a schema-based approach — significantly faster than Express with built-in JSON schema validation.

nestjs
NestJS87Strong

Progressive Node.js framework for building scalable server-side apps — Angular-inspired architecture with decorators, DI, and a rich module ecosystem.

express
Express.js87Strong

The most widely used Node.js web framework. Express is minimal and flexible, giving you full control over your server setup. Despite being older, it remains the most downloaded backend framework in the npm ecosystem by a wide margin.

Often Used Together

Complementary tools that pair well with Hono

cloudflare-workers

Cloudflare Workers

Serverless Edge

54Limited
View
bun

Bun

Backend Frameworks

86Strong
View
typescript

TypeScript

Dev Toolchain

95Excellent
View

Learning Resources

Docs, videos, tutorials, and courses

Get Started

Repository and installation options

View on GitHub

github.com/honojs/hono

npmnpm install hono

Quick Start

Copy and adapt to get going fast

import { Hono } from 'hono';

const app = new Hono();

app.get('/', (c) => c.text('Hello Hono!'));
app.get('/user/:id', (c) => c.json({ id: c.req.param('id') }));

export default app;

Community Notes

Real experiences from developers who've used this tool