Skip to content
tinyhttp is a modern, lightweight and modular Express-like web framework for Node.js.
bash
npm i @tinyhttp/app
npm i @tinyhttp/app
bash
pnpm i @tinyhttp/app
pnpm i @tinyhttp/app
bash
bun i @tinyhttp/app
bun i @tinyhttp/app
Express compatibility
Works with most of the Express middleware out of the box.
Async support
async / await no longer crashes or hangs your app.
Fast
66% faster than Express
See more
Prebuilt middleware
Re-written with latest ECMAScript and types out of the box.
ts
import { App } from '@tinyhttp/app'
import { logger } from '@tinyhttp/logger'

const app = new App()

app
  .use(logger())
  .get('/', (_, res) => void res.send('<h1>Hello World</h1>'))
  .get('/page/:page/', (req, res) => {
    res.status(200).send(req.params)
  })
  .listen(3000)
import { App } from '@tinyhttp/app'
import { logger } from '@tinyhttp/logger'

const app = new App()

app
  .use(logger())
  .get('/', (_, res) => void res.send('<h1>Hello World</h1>'))
  .get('/page/:page/', (req, res) => {
    res.status(200).send(req.params)
  })
  .listen(3000)

Features

  • ESM-only. Embraces the standard modules.
  • No polyfills. 75% smaller install size, faster CI builds.
  • Strongly typed. Works well with TypeScript.

Support

Help support future development and make tinyhttp a sustainable open-source project:

Used by

Released under the MIT License. Forked from viem docs