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-claude-fix-yaml-docs/ba6flgIPltjjNPcD/icons/typescript.svg?fit=max&auto=format&n=ba6flgIPltjjNPcD&q=85&s=9c700644ac7789bb180093029561ecd4server.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