Bun
bun.sh
What it is
Bun combines a JavaScript runtime, package manager, test runner, and bundler in one binary. It runs JavaScript and TypeScript on JavaScriptCore, with support for Node.js APIs and node_modules. Its npm-compatible package manager supports workspaces, catalogs, overrides, patches, readable lockfiles, private registry authentication, dependency resolution, and offline installation. The test runner includes Jest-compatible expectations, mocks, snapshots, DOM testing, and coverage. For builds, Bun handles TypeScript, JSX, CSS, and HTML for browsers and servers, and includes a development server with hot module reloading and single-file executables. Built-in APIs cover PostgreSQL, MySQL, SQLite, Redis, S3-compatible storage, HTTP, and WebSockets. The project names Next.js, Remix, Nuxt, Astro, SvelteKit, Hono, and Elysia among frameworks that run on Bun. It is MIT-licensed and developed publicly on GitHub. Bun runs on Linux, macOS, and Windows, subject to minimum OS versions and x64 processors with SSE4.2. Install options include an official script, npm, Homebrew, Windows package managers, and Docker. Support and discussion are available through Discord.
Spec sheet
- What it does
- Bun combines a JavaScript runtime, package manager, test runner, and bundler in a single binary.Read 7 Oct 2026 · bun.sh
- Support
- Bun directs users to its Discord for support and discussion.Read 7 Oct 2026 · bun.sh
- Company
- Bun says it has joined Anthropic, which is investing in Bun as infrastructure for Claude Code, Claude Agent SDK, and future AI coding products.Read 7 Oct 2026 · bun.sh
- Built-in integrations
- Bun includes APIs for PostgreSQL, MySQL, SQLite, Redis, S3-compatible storage, HTTP, and WebSockets.Read 7 Oct 2026 · bun.sh
- Bundling
- Bun’s bundler handles TypeScript, JSX, CSS, and HTML for browsers and servers, and supports a dev server with hot module reloading and single-file executables.Read 7 Oct 2026 · bun.sh
- Dependency resolution
- YesRead 21 Sep 2026 · bun.sh
- Framework compatibility
- The site names Next.js, Remix, Nuxt, Astro, SvelteKit, Hono, and Elysia as frameworks that run on Bun.Read 7 Oct 2026 · bun.sh
- Install options
- The install page offers installation through an official script, npm, Homebrew, Windows package managers, and Docker.Read 7 Oct 2026 · bun.sh
- Lockfile support
- YesRead 21 Sep 2026 · bun.sh
- Offline installation
- YesRead 21 Sep 2026 · bun.sh
- Open source
- Bun says it remains open-source and MIT-licensed and continues to be developed in public on GitHub.Read 7 Oct 2026 · bun.sh
- Package formats
- npm packages,Git repositories,GitHub repositories,tarballs,file dependencies,npm aliasesRead 21 Sep 2026 · bun.sh
- Package manager
- Bun’s npm-compatible package manager supports workspaces, catalogs, overrides, patches, and a readable lockfile.Read 7 Oct 2026 · bun.sh
- Platform limits
- Bun requires macOS 13.0 or later, Windows 10 version 1809 or later, and x64 CPUs with SSE4.2 support.Read 7 Oct 2026 · bun.sh
- Private registry auth
- YesRead 21 Sep 2026 · bun.sh
- Runtime
- Bun runs JavaScript and TypeScript on JavaScriptCore and supports Node.js APIs and node_modules.Read 7 Oct 2026 · bun.sh
- Security features
- Bun lists password hashing with Argon2 and bcrypt, CSRF tokens, and OS keychain secrets storage among its built-in APIs.Read 7 Oct 2026 · bun.sh
- Supported platforms
- macOS,Linux,WindowsRead 21 Sep 2026 · bun.sh
- Testing
- Bun’s test runner offers Jest-compatible expectations, mocks, snapshots, DOM testing, and coverage.Read 7 Oct 2026 · bun.sh
- Workspace support
- YesRead 21 Sep 2026 · bun.sh
Plans and prices
Strong points and limits
Strong points
- Combines runtime, package manager, test runner, and bundler
- Supports offline installation and private registries
- Includes testing features such as snapshots and coverage
- Runs on Linux, macOS, and Windows
- MIT-licensed and available at no cost
Limits
- Requires macOS 13.0 or later
- Windows support requires version 1809 or later
- Requires an x64 CPU with SSE4.2 support
Who it suits
Bun suits JavaScript and TypeScript developers who want runtime, package management, testing, and bundling in one tool. It is also relevant to teams using its listed frameworks or built-in database and network APIs.
Bun in depth
Read the full write-up
Bun is a JavaScript and TypeScript runtime with a package manager, test runner and bundler in one toolkit. It suits developers who want those capabilities together, provided their machines meet its operating-system and processor requirements. Its breadth is the draw; its platform floor is the main reason to look elsewhere.
Overview
Bun combines several parts of a JavaScript development workflow in a single binary. The runtime uses JavaScriptCore and supports Node.js APIs and node_modules, while the npm-compatible package manager handles dependency resolution, lockfiles and workspaces. This makes Bun a broad alternative to assembling separate tools, but may be more than needed if package management alone is the goal.
The project is open source under the MIT license and developed in public on GitHub. Bun says it has joined Anthropic, which is investing in it as infrastructure for Claude Code, Claude Agent SDK and future AI coding products. For support and discussion, Bun directs users to its Discord.
Key features
Packages and dependencies
The package manager supports workspaces, catalogs, overrides and patches, with a readable lockfile. It accepts npm packages, Git and GitHub repositories, tarballs, file dependencies and npm aliases. Private registry authentication and offline installation are supported, which makes it useful for projects with varied dependency sources or constrained connectivity.
Testing and bundling
Bun’s test runner includes Jest-compatible expectations, mocks, snapshots, DOM testing and coverage. That breadth can keep testing within the same toolkit, though teams with established testing tools may have less reason to switch.
The bundler handles TypeScript, JSX, CSS and HTML for browsers and servers. A dev server with hot module reloading and support for single-file executables extend its reach beyond a basic build step. Bun also includes APIs for PostgreSQL, MySQL, SQLite, Redis, S3-compatible storage, HTTP and WebSockets, plus security APIs for Argon2 and bcrypt password hashing, CSRF tokens and OS keychain secrets storage.
Frameworks and installation
Bun names Next.js, Remix, Nuxt, Astro, SvelteKit, Hono and Elysia as frameworks that run on it. This offers a range of familiar options, but does not guarantee that every project will work without changes. Installation options include Bun’s official script, npm, Homebrew, Windows package managers and Docker.
Pricing
Bun is free and open source. Its Bun plan costs nothing and includes an open-source JavaScript runtime and toolkit under the MIT license. There are no paid tiers or usage limits stated, so the main trade-off is not a plan cap but whether Bun’s technical requirements and combined-tool approach suit the project.
Platforms
Bun supports Linux, macOS and Windows, but its minimum requirements matter: macOS 13.0 or later, Windows 10 version 1809 or later, and an x64 CPU with SSE4.2 support. Older operating systems and unsupported processors rule it out. Check those requirements before adopting it across a team, where one incompatible machine can complicate a shared setup.
Who it's for
Bun is a strong fit for JavaScript and TypeScript developers who want runtime, package management, testing and bundling together, and who value features such as workspaces, private registry authentication and offline installation. It is less suitable for developers seeking only a package manager or working on machines below its minimum requirements.
Pros and cons
Broad toolkit in one binary: Runtime, package manager, test runner and bundler cover several common development jobs.
Flexible dependency support: Workspaces, multiple dependency sources, private registry authentication and offline installation suit varied project setups.
Significant platform floor: macOS 13.0, Windows 10 version 1809 and x64 with SSE4.2 exclude older systems and some processors.
More than a package manager: The all-in-one scope may be unnecessary for teams that want to change only their dependency tool.
Alternatives
If package management is the priority, npm offers public package publishing and registry access on its free plan, with paid plans also available. pnpm is another free package-manager option for Linux, macOS, Windows and Android. Yarn is a free, open-source package manager with no paid plans or usage limits stated.
For import-map package management, consider JSPM, whose open-source project and jspm.io CDN services are described as free. Pantry may suit readers focused on package publishing and analytics, with a free plan that includes public packages, 30 days of full analytics, 50MB artifacts and a standard build queue.
For JavaScript monorepo management, Rush is a free, open-source option installable via npm. The directory also covers JavaScript Package Managers, Monorepo Management Tools and Package Managers.
Textadept and Utoo are additional listed alternatives.
Verdict
Choose Bun if you want a free, MIT-licensed JavaScript and TypeScript toolkit that brings runtime, package management, testing and bundling together. Its broad capabilities make it a compelling single-tool option; look elsewhere if your machine misses its minimum requirements or you need only a package manager.
Verdict
Bun brings several JavaScript development tools together and includes broad package, testing, and bundling capabilities. Check its operating system and processor requirements before installing.
Where Specifiction places it
- Monorepo Management Tools#5 of 338.3
- JavaScript Package Managers#3 of 198.5
- Package Managers#24 of 938.4