Skip to content

EXPRESS, SUPERCHARGED.

Same Express.
Different speed.

Your routes. Your middleware. Your code.
A faster engine underneath it all.

The drop-in Express 5 replacement, powered by uWebSockets.js. Move to the fast lane with a single import.

npm install fulmine.js

Open source. Express 5 compatible. Built for Node.js.

NATIVE ENGINE01 / µWS
UP TO16×faster than Expresson 1,000 parameterized routes
90th percentile of the last 20 CI runs, median 11×. Explore the conditions

10× medianon large route tables, measured on every push

1 line to migrateYour routes and middleware keep working

9 frameworksNestJS, Next.js, Astro and more, tested in CI

01 FAMILIAR BY DESIGN

Change the import.
Keep the good parts.

You already know how to use Fulmine. Keep your routes, your middleware and the way you build. Give them a faster foundation.

The migration guide Read the differences from Express

See what it does with your app. The first command switches the import, the second lists which of your routes run native.

npx fulmine.js migrate
npx fulmine.js profile
app.jsONE LINE. ALL THE DIFFERENCE.
js
const express = require("express"); 
const express = require("fulmine.js"); 

const app = express();

app.get("/", (req, res) => {
    res.send("Hello, fast lane.");
});

app.listen(3000);

02 LESS OVERHEAD. MORE GO.

Fast where
it counts.

Native routing. Less work per request. More room for your application.

Go under the hood

1.3-3.0×

Plain routing

The everyday requests.
Less framework overhead.

9.2-11.7×

1,000 routes

Your route table grows.
The native router keeps up.

9.5-15.5×

1,000 parameterized routes

More paths. More parameters.
This is where native shines.

Throughput relative to Express. Ranges are the 10th to 90th percentile of the last 20 CI runs, 21 October 2026 to 27 October 2026, on Node 26 and on whatever runner GitHub gives each run; the dots move at the upper end of each range. Results depend on workload and hardware; shared work such as JSON parsing or compression sees smaller gains. Methodology & limitations ↗

03 MEASURED BY OTHERS

#6 of 81.
#2 in JavaScript.

HttpArena is an open benchmark: every framework runs the same tests on the same machine. This is Fulmine next to the frameworks you know, in JavaScript and in the other languages.

See the full boardFulmine.js on HttpArena
  • #1genhttp-ioxideC#7,176
  • #2dustyZig7,172
  • #3takoRust6,775
  • #4spliffyJS6,752
  • #5actixRust6,425
  • #6fulmine.jsJS6,363
  • #7fiberGo5,757
  • #8bunTS5,652
  • #9vertxJava5,585
  • #10ntexRust5,576
  • #15micronaut-productionJava4,574
  • #20axumRust4,292
  • #21drogonC++4,280
  • #22cutelystC++4,250
  • #23micronautJava4,163
  • #25helidon-productionJava4,080
  • #45fastifyJS2,305
  • #56expressJS1,774
HttpArena H/1.1 composite on 28 Oct 2026, ranks on the whole board of 81. Every framework ahead of Fulmine, after it only the flagship ones, and Express and Fastify wherever they land. Same tests and same 64-core machine for all.

04 REAL APPLICATIONS

Real apps.
Up to 26% less CPU.

LibreChat, n8n and Actual Budget on Fulmine, with no change to their code: their test suites pass as they do on Express. Actual spends 19% less CPU per user with no change, LibreChat 26% with Fulmine's own compression and static files.

See how it was measured The scripts and the raw results

Actual Budget, sync server

  • Express60 ms
  • -19%fulmine, no change49 ms
  • -19%fulmine, best setup49 ms

LibreChat, API server

  • Express63 ms
  • -6%fulmine, no change59 ms
  • -26%fulmine, best setup46 ms
CPU time one active user costs the server in a day: the page, the API calls, the syncs, a new release now and then. Their own endpoints with Chrome's headers, one ARM core, Node 24. The noise of the machine is under 6%.

05 BRING YOUR STACK

All your favourites.
Already on board.

From a single endpoint to a full-stack framework. Integrations run against both Express and Fulmine in CI, with their outputs compared.

Explore compatibility

YOUR FRAMEWORKS

NestJSNext.jsAstroSvelteKitReact RoutertRPC

YOUR MIDDLEWARE

helmetcorspassportmorganmulterexpress-session

Familiar tools. Tested together.

Go real-time.

Native WebSockets, right alongside your HTTP routes.

Explore WebSockets

Use every core.

Built-in clustering. One port. Ready for your next deployment.

Deploy Fulmine

Know your fast path.

Inspect your routes with profile. Understand requests with explain.

Meet the tools

LESS FRICTION. MORE MOMENTUM.

Your next request.
Only faster.

Apache-2.0. Attribution. Not affiliated with the Express.js project.