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- #2 in JavaScript on HttpArena
- 1,153 / 1,153 Express 5 tests passing
Open source. Express 5 compatible. Built for Node.js.
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 ExpressSee what it does with your app. The first command switches the import, the second lists which of your routes run native.
npx fulmine.js migratenpx fulmine.js profileconst 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 hood1.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
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- Express60 ms
- -19%fulmine, no change49 ms
- -19%fulmine, best setup49 ms
- Express63 ms
- -6%fulmine, no change59 ms
- -26%fulmine, best setup46 ms
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 compatibilityYOUR FRAMEWORKS
NestJSNext.jsAstroSvelteKitReact RoutertRPC
YOUR MIDDLEWARE
helmetcorspassportmorganmulterexpress-session
Go real-time.
Native WebSockets, right alongside your HTTP routes.
Explore WebSocketsUse every core.
Built-in clustering. One port. Ready for your next deployment.
Deploy FulmineKnow your fast path.
Inspect your routes with profile. Understand requests with explain.
Meet the toolsLESS FRICTION. MORE MOMENTUM.