Bun
by Oven · Language · also known as Bun.js, Bun runtime
All-in-one JavaScript and TypeScript runtime, package manager, bundler and test runner built on JavaScriptCore by Oven
Overview
Bun is a JavaScript and TypeScript runtime developed by Oven, written in Zig and built on Apple's JavaScriptCore engine rather than V8. It ships as a single binary that combines a runtime with Node.js API compatibility, an npm-compatible package manager, a bundler, a test runner and a shell scripting helper. TypeScript and JSX files run directly without a build step.
Bun is commonly adopted to speed up install and test cycles in existing Node projects, since bun install and bun test can usually be dropped into a repository that keeps Node for production. It also serves as a full runtime for Hono, Elysia or Next.js applications on macOS and Linux. Caveats: Node compatibility is extensive but not complete, so some native modules and edge cases behave differently; Windows support arrived later and is less mature; and the core team is small relative to Node's, so production teams should verify their dependency set.
Capabilities
- JavaScript and TypeScript execution without a compile step
- npm-compatible package manager with lockfile
- Built-in bundler and test runner
- Node.js API compatibility layer
- Native SQLite, HTTP server and WebSocket APIs
Typical workflows
- Replace npm install and Jest in an existing repository for faster CI
- Run a Hono or Express API directly from TypeScript sources
- Bundle a front end without a separate bundler
Strengths
- Single binary covering runtime, packages, bundling and tests
- Runs TypeScript directly
- MIT license
Limitations
- Node.js compatibility is not complete
- Smaller team and ecosystem than Node
- Statically links JavaScriptCore (LGPL), which matters for redistribution
Prerequisites
- macOS, Linux or Windows; install script, Homebrew or npm
Who it is for
- JavaScript developers seeking faster toolchains
- Teams building TypeScript APIs
- Front-end developers
Alternatives & comparison
Node.js is the compatibility baseline Bun targets and remains the most widely tested runtime; Deno, the other alternative runtime, emphasizes web-standard APIs and a permission model. Vite and Jest are the single-purpose tools Bun's bundler and test runner most often replace.
- Deno
Secure-by-default JavaScript and TypeScript runtime from Deno Land with web-standard APIs, built-in tooling and an optional hosted Deploy service
Open sourceOpen source - Jest
JavaScript testing framework created at Meta with built-in assertions, mocking, snapshot testing and parallel test execution
Open sourceOpen source - Node.js
Server-side JavaScript runtime built on the V8 engine, governed by the OpenJS Foundation, with npm as its package ecosystem
Open sourceOpen source - TypeScript
Statically typed superset of JavaScript from Microsoft that compiles to plain JavaScript and powers editor tooling across the web ecosystem
Open sourceOpen source - Vite
Front-end build tool and development server that serves native ES modules during development and bundles for production, with a plugin API shared by many frameworks
Open sourceOpen source - Vitest
Vite-native unit test framework for JavaScript and TypeScript with a Jest-compatible API, watch mode, coverage and browser mode
Open sourceOpen source
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- Licensehttps://github.com/oven-sh/bun/blob/main/LICENSE.mdchecked Nov 1, 2026
Supports: license_spdx, limitations
Bun itself MIT; statically linked JavaScriptCore is LGPL-2
- Official documentationchecked Nov 1, 2026
- Official sitechecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026
Spotted an error?
More in Programming languages & runtimes
Homebrew
Homebrew maintainers · macOS system utilities
Community-maintained package manager for macOS and Linux that installs command-line tools (formulae) and desktop apps (casks) from the terminal
Python
Python Software Foundation · Programming languages & runtimes
General-purpose, dynamically typed programming language with a large standard library and the dominant ecosystem for data science and machine learning
Swift
Apple Inc. · Swift & SwiftUI development
Apple's compiled, memory-safe, multi-paradigm language for Apple platforms, Linux, Windows and embedded targets, developed in the open at swift.org
TypeScript
Microsoft · Programming languages & runtimes
Statically typed superset of JavaScript from Microsoft that compiles to plain JavaScript and powers editor tooling across the web ecosystem
Lean
Lean FRO · Mathematical & statistical computing
Open-source functional programming language and interactive theorem prover with dependent types, the Mathlib mathematics library and VS Code tooling, stewarded by the Lean FRO
uv
Astral · Programming languages & runtimes
Rust-based Python package and project manager from Astral that replaces pip, venv, pip-tools and pyenv with one command-line tool