Bun: JavaScript runtime, bundler, and package manager
Fast JavaScript runtime with built-in bundler and package manager.
Learn more about bun
Bun is a modern JavaScript runtime, package manager, and bundler built from the ground up using the JavaScriptCore engine and written in Zig for performance optimization. The runtime provides native APIs for common operations like file I/O and SQLite database access through built-in modules that bypass the need for external dependencies. It implements fast file system operations using direct system calls and includes an embedded SQLite driver that supports prepared statements, transactions, and synchronous query execution. The architecture prioritizes startup time and execution speed by bundling core functionality directly into the runtime rather than relying on separate packages. Bun achieves significant performance improvements over traditional Node.js workflows through optimized native implementations of package management, transpilation, and module resolution.

Zig and JavaScriptCore implementation
Bun is written in Zig and uses JavaScriptCore as its JavaScript engine, which differs from Node.js's V8 engine. This architectural choice affects startup time, memory usage, and runtime characteristics.
Integrated toolchain
Rather than separate tools, Bun combines runtime, bundler, test runner, and package manager into a single executable. This reduces the number of dependencies and configuration files needed for JavaScript projects.
Built-in TypeScript and JSX support
Bun handles TypeScript and JSX files natively without requiring separate build steps or configuration. Files are transpiled on execution without generating intermediate files.
// Read and write files using Bun's native APIs
const file = Bun.file("data.json");
const data = await file.json();
// Write file with Bun.write
await Bun.write("output.txt", "Hello from Bun!");
// Read file as text
const content = await Bun.file("output.txt").text();Release notes do not specify breaking changes, new requirements, or bug fixes; detailed changelog is published externally on Bun's blog.
- –Upgrade via `bun upgrade` or reinstall using the curl/PowerShell install scripts provided.
- –Review the full release notes at bun.com/blog/bun-v1.3.2 for feature and fix details.
Release notes do not specify breaking changes, new requirements, or bug-fix details; see bun.com/blog/bun-v1.3.1 for full changelog.
- –Upgrade via `bun upgrade` or reinstall using the curl/PowerShell install scripts provided.
- –Multiple fuzzing-reported bugs were fixed; impact and affected components are not detailed in these notes.
Release notes do not specify breaking changes, new requirements, or feature details beyond upgrade instructions.
- –Upgrade existing installations by running `bun upgrade` on macOS/Linux or the PowerShell script on Windows.
- –Consult the blog post at bun.com/1.3 for full feature and compatibility information not included in these notes.
See how people are using bun
Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
node
JavaScript runtime built on V8 for server-side development.
nanoid
Compact 21-character cryptographic IDs with URL-safe encoding.
node-gyp
Compiles native C/C++ addons for Node.js.
azure-cli
Cross-platform CLI tool enabling developers and administrators to manage Azure resources through intuitive commands and automation scripts.
tqdm
Instrument Python iterables with minimal-overhead progress tracking.