Skip to main content
Express and other major Node.js HTTP libraries should work out of the box. Bun implements the node:http and node:https modules that these libraries rely on.
Refer to the Runtime > Node.js APIs page for more detailed compatibility information.
terminal
bun add express

To define a simple HTTP route and start a server with Express:
https://mintcdn.com/bun-1dd33a4e/Hq64iapoQXHbYMEN/icons/typescript.svg?fit=max&auto=format&n=Hq64iapoQXHbYMEN&q=85&s=c6cceedec8f82d2cc803d7c6ec82b240server.ts
import express from 'express';

const app = express();
const port = 8080;

app.get('/', (req, res) => {
	res.send('Hello World!');
});

app.listen(port, () => {
	console.log(`Listening on port ${port}...`);
});

To start the server on localhost:
terminal
bun server.ts