---
name: esbuild
summary: "esbuild is a high-performance JavaScript/TypeScript/CSS bundler and minifier written in Go, designed to be 10-100x faster than traditional web build tools. It offers a unified CLI, JS, and Go API with built-in support for ESM/CommonJS, JSX, tree shaking, source maps, and plugins."
language: Go
license: MIT
repo: https://github.com/evanw/esbuild
source: https://opensources.dev/resource/esbuild
health: 100
---

# esbuild

esbuild is a high-performance JavaScript/TypeScript/CSS bundler and minifier written in Go, designed to be 10-100x faster than traditional web build tools. It offers a unified CLI, JS, and Go API with built-in support for ESM/CommonJS, JSX, tree shaking, source maps, and plugins.

## Why?

Our current build tools for the web are 10-100x slower than they could be:

The main goal of the esbuild bundler project is to bring about a new era of build tool performance, and create an easy-to-use modern bundler along the way.

Major features:

- Extreme speed without needing a cache
- [JavaScript](https://esbuild.github.io/content-types/#javascript), [CSS](https://esbuild.github.io/content-types/#css), [TypeScript](https://esbuild.github.io/content-types/#typescript), and [JSX](https://esbuild.github.io/content-types/#jsx) built-in
- A straightforward [API](https://esbuild.github.io/api/) for CLI, JS, and Go
- Bundles ESM and CommonJS modules
- Bundles CSS including [CSS modules](https://github.com/css-modules/css-modules)
- Tree shaking, [minification](https://esbuild.github.io/api/#minify), and [source maps](https://esbuild.github.io/api/#sourcemap)
- [Local server](https://esbuild.github.io/api/#serve), [watch mode](https://esbuild.github.io/api/#watch), and [plugins](https://esbuild.github.io/plugins/)

Check out the [getting started](https://esbuild.github.io/getting-started/) instructions if you want to give esbuild a try.
