Bun.js is an all-in-one JavaScript runtime that consolidates the fragmented Node.js toolchain (runtime, bundler, package manager, test runner, transpiler) into a single, faster binary by using Zig and JavaScriptCore instead of C++ and V8.
Bun is an all-in-one JavaScript runtime, bundler, test runner, and package manager written in Zig and powered by JavaScriptCore (Safari's JavaScript engine). The official GitHub repository is https://github.com/oven-sh/bun and the project website is https://bun.sh. In December 2025, Bun was acquired by Anthropic to power Claude Code, Claude Agent SDK, and future AI coding products, with Bun remaining open-source and MIT-licensed.
Installation is straightforward: curl -fsSL https://bun.sh/install | bash on macOS/Linux or powershell -c "irm bun.sh/install.ps1 | iex" on Windows. Bun supports Linux (x64 & arm64), macOS (x64 & Apple Silicon), and Windows (x64 & arm64). To start a new project: bun init creates a TypeScript-ready project, bun run index.ts executes code with native TypeScript support (no transpiler needed), and bun run --watch enables auto-restart on file changes. Bun 1.3 introduced Bun.SQL, a unified API supporting MySQL, MariaDB, PostgreSQL, and SQLite with zero external dependencies, plus a built-in Redis client delivering 7.9x the performance of the ioredis package.
Performance claims are mixed. Benchmarks show Bun sustained roughly 52,000 requests per second in Express-style HTTP tests while Node plateaued at 13,000, and hit 52k requests/sec—roughly 4× Node's throughput. However, in real-world backend tests with databases, Node has a very slight performance advantage that is almost negligible, though when removing the Postgres connection, Bun clearly takes the win at over 100k RPS. Startup time is about 1/3 of Node.js, native HTTP server throughput is about 4x Express, and bun install is about 25x faster than npm. The "25x faster" package installation claim varies widely in practice—benchmarks show bun install can be over 7 times faster than npm and 17 times faster than Yarn, with real-world reports ranging from 10-40x depending on project size and cache state.
Node.js compatibility is improving but incomplete. Popular frameworks like Next.js, Express, and millions of npm packages intended for Node just work with Bun, and the team runs thousands of tests from Node.js' test suite before every release. Over 90% of Node.js's test suite passes for multiple core modules, with some modules achieving 100% pass rates. However, Bun is not fully compatible with Node.js, which can lead to migration challenges—for example, frameworks like Next.js App Router rely on Node.js APIs that Bun has not yet implemented. Production readiness is debated: Bun is production-viable for many workloads in 2026, with Anthropic backing reducing abandonment risk and the tooling having matured, though if your observability stack depends on Node.js-specific APM agent internals, wait six months and re-evaluate as Datadog and New Relic are working on better Bun support.
Bun consolidates runtime, bundler, package manager, test runner, and transpiler into a single fast binary using Zig and JavaScriptCore, replacing the fragmented Node.js ecosystem.