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.