Skip to content
Home / Migrations / ExpressHono

Express Hono

easy

Hono is 3-5x faster than Express, runs on Cloudflare Workers, Bun, Deno, and Node. TypeScript-first with RPC client generation.

Estimated: 2-4h · 5 steps
Progress0%
Step 1: Install Hono
npm install hono && npm uninstall express
Step 2: Rewrite server entry

Replace app = express() with new Hono(). Middleware is registered with app.use(), routes stay app.get/post().

import { Hono } from 'hono'
const app = new Hono()
Step 3: Convert routes

Express: (req, res) => res.json(). Hono: async (c) => c.json(). All handlers receive the context object c.

Step 4: Replace middleware

body-parser → built-in. cors → hono/cors. logger → hono/logger. Compress → hono/compress.

import { cors } from 'hono/cors'
app.use('*', cors())
Step 5: Run on your target runtime

Hono adapts to each runtime. Node: serve(app, { port: 3000 }). Cloudflare: export default app.

import { serve } from '@hono/node-server'
serve(app)
All routes return correct responses. Performance improved.

What this migration involves

Moving from Express to Hono is rated easy and takes about 2-4h on a typical project. The guide breaks it into 5 steps, 4 of which ship with runnable commands and 1 with a verification check. On pricing, Express is open-source and Hono is open-source with a free plan to test the move.

FAQ

How long does migrating from Express to Hono take?

Around 2-4h for a typical project — 5 steps, difficulty rated easy, 4 of them with copy-paste commands.

Is moving from Express to Hono reversible?

No reverse guide is tracked yet, so treat this as a one-way move and keep a full export of your Express data before you start.

What does Hono cost compared to Express?

Express: open-source from $0/mo, free plan available. Hono: open-source from $0/mo, free plan available.