Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one

★ 96,741⑂ 5,277👁 625⑃ 27,718● 19,217▤ 219◈ 979
RustNOASSERTIONCreated 2021-04-14bun.com
96,741
stars
+15+225+618
5,277
forks
625
watchers
27,718
prs
19,217
issues
219
releases
979
discussions

README

Bun








  Documentation
    •  
  Discord
    •  
  Issues
    •  
  Roadmap
  


 Read the docs →

 What is Bun?

Bun is an all-in-one toolkit for JavaScript and TypeScript apps. It ships as a single executable called bun.

At its core is the _Bun runtime_, a fast JavaScript runtime designed as a drop-in replacement for Node.js. It's written in Rust and powered by JavaScriptCore under the hood, dramatically reducing startup times and memory usage.

bash
bun run index.tsx              TS and JSX supported out-of-the-box


The bun command-line tool also implements a test runner, script runner, and Node.js-compatible package manager. Instead of 1,000 node_modules for development, you only need bun. Bun's built-in tools are significantly faster than existing options and usable in existing Node.js projects with little to no changes.

bash
bun test                       run tests
bun run start                  run the start script in package.json
bun install               install a package
bunx cowsay 'Hello, world!'    execute a package


 Install

Bun supports Linux (x64 & arm64), macOS (x64 & Apple Silicon), and Windows (x64 & arm64).

 Linux users — Kernel version 5.6 or higher is strongly recommended, but the minimum is 5.1.

 x64 users — if you see "illegal instruction" or similar errors, check our CPU requirements

sh
 with install script (recommended)
curl -fsSL https://bun.com/install | bash

 on windows
powershell -c "irm bun.sh/install.ps1 | iex"

 with npm
npm install -g bun

 with Homebrew
brew tap oven-sh/bun
brew install bun

 with Docker
docker pull oven/bun
docker run --rm --init --ulimit memlock=-1:-1 oven/bun


 Upgrade

To upgrade to the latest version of Bun, run:

sh
bun upgrade


Bun automatically releases a canary build on every commit to main. To upgrade to the latest canary build, run:

sh
bun upgrade --canary


View canary build

 Quick links

- Intro
  - What is Bun?
  - Installation
  - Quickstart
  - TypeScript
  - TypeScript 6

- Templating
  - bun init
  - bun create

- Runtime
  - bun run
  - File types (Loaders)
  - JSX
  - Environment variables
  - Bun APIs
  - Web APIs
  - Node.js compatibility
  - Plugins
  - Watch mode / Hot Reloading
  - Module resolution
  - Auto-install
  - bunfig.toml
  - Debugger
  - REPL
  - $ Shell

- Package manager
  - bun install
  - bun add
  - bun remove
  - bun update
  - bun link
  - bun pm
  - bun outdated
  - bun publish
  - bun patch
  - bun why
  - bun audit
  - bun info
  - Global cache
  - Global store
  - Isolated installs
  - Workspaces
  - Catalogs
  - Lifecycle scripts
  - Filter
  - Lockfile
  - Scopes and registries
  - Overrides and resolutions
  - Security scanner API
  - .npmrc

- Bundler
  - Bun.build
  - Loaders
  - Plugins
  - Macros
  - vs esbuild
  - CSS
  - HTML & static sites
  - Hot Module Replacement (HMR)
  - Full-stack with HTML imports
  - Standalone HTML
  - Minifier

- Compiler
  - Single-fil

Top issues

Discussions

Latest release

Bun v1.4.4 bun-v1.4.4 2026-10-22
To install Bun v1.4.4
bash
curl -fsSL https://bun.com/install | bash
 or you can use npm
 npm install -g bun


Windows:
bash
powershell -c "irm bun.com/install.ps1|iex"


To upgrade to Bun v1.4.4:
bash
bun upgrade


 Read Bun v1.4.4's release notes on Bun's blog

 Thanks to 39 contributors!

- @0xh3x
- @1cedsoda
- @alex-mextner
- @alii
- @Artoria2e5
- @bompus
- @C0casio45
- @cirospaciari
- @davidhevn
- @deepshekhardas
- @Dex4Sure
- @dylan-conway
- @EffortlessSteven
- @eriklangille
- @filipesarturi
- @fredluz
- @gerardp
- @gohryt
- @himself65
- @hughescr
- @Jarred-Sumner
- @jdjkelly
- @jecquas

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON