The Modern Node.js Packager

The modern, drop-in replacement to vercel/pkg and yao-pkg. Bundle & ship production-ready, single executable program of your nodejs project to cross-platform.

NODEJSTSmodulesWIN.EXEMAC.APPLIN.BINPKGAPP CORESTANDALONE

Supported by Our Sponsors

DreamsHive Logo

Everything You Need to Package Node.js

From source code to standalone binary — bundle, compile, and ship your app to any platform.

APP.EXEAPP.APPAPP.BINTARGET: WIN32TARGET: DARWINTARGET: LINUX

Cross-Platform Builds

Build for Linux, macOS, and Windows from one machine. Hakobu produces native binaries for each target without separate build environments.

LINUXMACOSWIN
NATIVEIMGdepsJSAPP BINARYZERO DEPS ✓COMPILER

Zero-Dependency Output

Give users one standalone file they can run immediately. Native addons, static assets, and nested dependencies are packed inside it.

Rolldown Built-in

Ship an optimized package without extra bundler setup. Hakobu ships with Rolldown so your code is tree-shaken before packaging.

Instant Startup

Launch in milliseconds instead of waiting through Node startup overhead. Hakobu uses a patched Node runtime with V8 snapshots to accelerate boot.

Embedded Virtual Filesystem

Access assets without touching disk. Static files, templates, and dynamic modules live inside the binary's virtual filesystem. Reads are served from memory.

src/assets
config.json
logo.png
template.html

From Source to Executable in Three Steps

Point, package, ship. Hakobu handles the rest.

1
JSTS{}CommonJSESMexports map

Point at your entrypoint

Hakobu scans your project, detects the entrypoint, and resolves ESM, CommonJS, and package exports automatically.

2
WIN.EXEMAC.APPLIN.BINAPPCORE NODE.JSRUNTIMESNAPSHOT

Bundle with a patched Node runtime

Your code is bundled with a patched Node binary and a snapshot of only the files your app uses. Nothing extra ships.

3
NODERUNTIMEnode_modulesJSAPP.EXEZERO SETUP ✓PKG> ./app.exe[ RUNNING ]

Ship one binary, anywhere

Hand your users a single file. No Node.js install, no npm, no environment setup — it just runs.

Stop shipping zip files. Ship a binary.

Turn your Node.js project into a standalone executable your users can download and run — on Linux, macOS, or Windows.