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-ciro-ws-proxy/5VvA5_lSqM955zlx/icons/typescript.svg?fit=max&auto=format&n=5VvA5_lSqM955zlx&q=85&s=2b3096741a4a19a7060ecd17dee174a4server.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