Replace Node.js, npm, and bundlers with a single tool to speed up your development workflow.
Start a new JavaScript or TypeScript project without installing and configuring multiple separate tools.
Gradually migrate an existing Node.js codebase to a faster runtime without rewriting code.
Build HTTP servers and WebSocket applications with built-in APIs instead of external packages.
Bun is an all-in-one toolkit for running, building, testing, and packaging JavaScript and TypeScript applications. It ships as a single executable. The motivation is that the typical JavaScript workflow needs several separate tools, one to run code, another to bundle it for the browser, a third to install packages, a fourth to run tests, and each tool brings its own configuration, slowdowns, and rough edges. Bun bundles all of those jobs into one program designed to be faster than the existing options. At its core is the Bun runtime, which is described as a drop-in replacement for Node.js, meaning code and packages written for Node.js are intended to work without changes. The runtime is written in Zig and uses JavaScriptCore underneath, which the project says reduces startup time and memory use. The same bun command also installs packages (replacing npm), runs tests (replacing test frameworks), runs scripts from package.json, and bundles code for production. TypeScript and JSX are supported out of the box without extra configuration. You would use Bun if you want a faster development loop than the standard Node.js toolchain provides, if you are starting a new project and want one tool instead of many, or if you want to gradually adopt a faster runtime for an existing Node.js codebase. Bun supports several operating systems and CPU architectures including Linux, macOS, and Windows, on both x64 and arm64. The project also ships built-in APIs for serving HTTP, WebSockets, file input and output, archives, and direct SQLite and PostgreSQL access. Installation is via a curl install script, npm, Homebrew, or Docker.
Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.