Build an HTTP server using Express and Bun

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.

bun add express

To define a simple HTTP route and start a server with Express:

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:

bun server.ts