# Install boa with Homebrew, Nix

Embeddable and experimental Javascript engine written in Rust. Version 0.21.1 via Homebrew; verified 2026-06-22. Also installable with nix: nix profile install nixpkgs#boa.

## Install

```sh
sudo av install brew:boa
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install boa
```

  Evidence: local Homebrew formula metadata

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#boa
```

  Evidence: nixpkgs package indexes: pkgs/by-name/bo/boa/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:boa
- **Package manager:** Homebrew
- **Version:** 0.21.1
- **Source summary:** Embeddable and experimental Javascript engine written in Rust
- **Homepage:** <https://github.com/boa-dev/boa>
- **Repository:** <https://github.com/boa-dev/boa>
- **Last updated:** 2026-06-22T14:02:54-07:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- boa (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.21.1
## Project history and usage

Boa is an embeddable experimental JavaScript engine written in Rust, with a CLI and Rust crates for parsing, interpreting, and embedding ECMAScript.

### Project history

Boa began as Jason Williams's Rust JavaScript-engine experiment. The Boa about page says it was introduced at JSConf EU 2019, and the JSConf EU talk page describes Williams building an engine from scratch in Rust during the previous year.

The project grew into the boa-dev organization and a set of crates centered on boa_engine. Its README describes an experimental lexer, parser, and interpreter that tracks the evolving ECMAScript specification.

### Adoption history

Boa's adoption is mostly developer and embedders' adoption rather than browser adoption. It is carried by Homebrew and Nix and published through Rust's crate ecosystem, where Rust programs can embed it directly.

The project's public releases and blog posts emphasize conformance progress, embeddability, WebAssembly use, and keeping pace with Test262 and ECMAScript changes.

### How it is used

Users can run the boa CLI for experiments, but the more important use case is embedding boa_engine in Rust applications that need JavaScript evaluation without linking to V8.

Boa is also useful for language-engine work: implementers can study parser, runtime, built-in-object, and conformance work in a Rust codebase that is smaller and more approachable than production browser engines.

### Why package nerds care

Boa matters to package nerds because JavaScript engines are usually huge C++ dependencies. A Rust-native, crate-published engine changes the packaging shape for applications that only need embeddable JS semantics.

Its significance is still experimental: package users should not read the Homebrew formula as a Node.js replacement. The interesting part is the long-term Rust ecosystem bet on standards-conforming embeddable scripting.

### Timeline

- 2018-2019: Jason Williams builds a JavaScript engine from scratch in Rust.
- 2019-06: Boa is introduced at JSConf EU 2019.
- 2021-06: Boa v0.12 is announced on the official blog.
- 2021-09: Boa v0.13 blog post highlights embedding in Rust projects and WebAssembly use.
- 2020s: boa-dev continues publishing boa_engine and tracking ECMAScript/Test262 conformance.

### Related projects

- V8, SpiderMonkey, and JavaScriptCore: production browser/server JavaScript engines Boa is often compared against but does not replace.
- QuickJS, MuJS, and Kiesel: smaller embeddable JavaScript engines in adjacent niches.
- Test262: the official ECMAScript conformance suite Boa uses as a progress target.
- Rust crates such as boa_engine and boa_parser: the packaged Rust components behind the CLI and embedding story.

### Sources

- <https://2019.jsconf.eu/jason-williams/lets-build-a-javascript-engine.html>
- <https://boajs.dev/about>
- <https://boajs.dev/blog>
- <https://boajs.dev/docs/intro>
- <https://docs.rs/boa_engine/latest>
- <https://github.com/boa-dev/boa>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Nix - boa: normalized package name match | nixpkgs package indexes: pkgs/by-name/bo/boa/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/boa.yml](https://github.com/mxcl/pkgdb/blob/main/combined/boa.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
