---
aside: false
editLink: false
title: tinyhttp
titleTemplate: :title ยท 0-legacy, tiny & fast web framework as a replacement of Express
description: modern Express-like web framework written in TypeScript and compiled to native ESM with minimal dependencies.
layout: home
---
tinyhttp is a modern, lightweight and modular Express-like web framework for Node.js.
::: code-group
```bash [npm]
npm i @tinyhttp/app
```
```bash [pnpm]
pnpm i @tinyhttp/app
```
```bash [bun]
bun i @tinyhttp/app
```
:::
```ts
import { App } from '@tinyhttp/app'
import { logger } from '@tinyhttp/logger'
const app = new App()
app
.use(logger())
.get('/', (_, res) => void res.send('
Hello World
'))
.get('/page/:page/', (req, res) => {
res.status(200).send(req.params)
})
.listen(3000)
```
## Features
- โ Express middleware compat
- โช Async error handling support
- โ ESM-only
- ๐ No legacy compat or useless polyfills
- ๐ค Minimal dependencies (3x less than express v5)
- ๐จ Types out of the box
- ๐ฅ Middlewares for common tasks
## Sponsors
[](https://www.lambdatest.com/?utm_source=tinyhttp&utm_medium=sponsor)
## Support
Help support future development and make tinyhttp a sustainable open-source project:
- [GitHub Sponsors](https://github.com/sponsors/tinyhttp?metadata_campaign=docs_support)
- [Donate personally or become a contributor](https://github.com/tinyhttp/#help-the-project)
## Used by
- [json-server](https://github.com/typicode/json-server)
- [@vercel/toolbar](https://www.npmjs.com/package/@vercel/toolbar)
- [catai](https://github.com/withcatai/catai)
- [hyperschedule](https://github.com/hyperschedule/hyperschedule)
- [add your own](https://github.com/tinyhttp/tinyhttp/discussions/418)