Stable release
1.0.27[1] Edit this on Wikidata / 17 February 2024; 17 days ago (17 February 2024)
Written inZig
TypeRuntime environment
LicenseMIT license[2]

Bun is a JavaScript runtime, package manager, test runner bundler built from scratch using the Zig programming language.[3] It was designed by Jarred Sumner as a drop-in replacement for Node.js. Bun uses JavaScriptCore as the JavaScript engine,[4] unlike Node.js and Deno, which both use V8.

It supports bundling, minifying, server-side rendering (SvelteKit, Nuxt.js, Vite). The technology in question offers robust support for several advanced web development practices and frameworks, notably bundling, minifying, and server-side rendering. Bundling refers to the process of combining multiple files and assets like JavaScript, CSS, and HTML into a single file, or a smaller number of files, to reduce the number of server requests and enhance performance. Minifying is the technique of compressing these files by removing unnecessary characters (like whitespace, comments, etc.) without affecting their functionality, further optimizing website loading times.

The runtime supports foreign function interface (FFI), SQLite3, TLS 1.3, and DNS resolution. It also comes bundled in with common tools like file editing, HTTP servers, Websocket, and hashing.[5]

See also


  1. ^ "Release 1.0.27". 17 February 2024. Retrieved 19 February 2024.
  2. ^ Sumner, Jarred (2023-07-02). "License". Bun Docs. Retrieved 2023-07-07.
  3. ^ Tyson, Matthew (February 23, 2023). "Explore Bun.js: The all-in-one JavaScript runtime". InfoWorld. Retrieved October 11, 2023.
  4. ^ Omolana, Timilehin (2022-08-02). "What Is Bun.js and Why Is the JavaScript Community Excited About It?". makeuseof.com. Retrieved 2023-05-30.
  5. ^ "Bun APIs". Bun Docs. Retrieved September 11, 2023.