Boa (JavaScript engine)

Last updated
Boa
Original author(s) Jason Williams
Developer(s) Boa Developers
Initial release10 June 2019;6 years ago (2019-06-10)
Stable release
v0.20 [1] / 5 December 2024;8 months ago (2024-12-05) /  ()
Repository github.com/boa-dev/boa
Written in Rust [2]
Platform x86-64, 32-bit ARM, AArch64
Type JavaScript
License MIT
Website boajs.dev

Boa is an open-source JavaScript engine written in Rust. [2] Boa was introduced at JSConf EU 2019 by Jason Williams. [3] [4]

Contents

Williams created Boa in 2017 after working on Servo and being inspired by the "written from scratch" CSS engine. [5] [4] He was eager to work on a JavaScript engine using Rust to learn more about how JavaScript implementations work, since then the project has had over 100 contributors. [3] [6] Over time the engine gained more prominent features such as bytecode compilation, [7] better conformance to the specification and ergonomic API design. [1]

Design

Boa is an open-source implementation of a JavaScript execution engine. The project is developed as a Rust library for embedding the JavaScript engine in Rust applications. Additionally, the authors of Boa provide a command-line interface (CLI) for users to interact with Boa as standalone JavaScript interpreter accessible from a command line. [8]

Boa follows the common interpreter design which approximately consists of a lexer, parser, compiler and bytecode interpreter [8]

Standards

Boa implements the ECMA-262 specification (ECMAScript). As of 17th August 2025 Boa has 94.6% conformance to Test262 [9]

See also

References

  1. 1 2 "Boa release v0.19". boajs.dev. 5 December 2024.
  2. 1 2 "About Boa | Boa JS". boajs.dev. Boa Developers. Retrieved 15 October 2024.
  3. 1 2 Williams, Jason (20 June 2019). "Let's build a JavaScript Engine in Rust by Jason Williams - JSConf EU 2019". YouTube. JS Conf EU. Retrieved 15 October 2024.
  4. 1 2 Jason Williams. "Let's build a JavaScript Engine". 2019.jsconf.eu. JS Conf EU. Archived from the original on 25 February 2024. Retrieved 25 February 2024.
  5. "Hacking & Contributing to Servo On Windows – Mozilla Hacks - the Web developer blog". Mozilla Hacks – the Web developer blog.
  6. "Contributors to boa-dev/boa". GitHub.
  7. "Boa release v0.14". boajs.dev. 15 March 2022.
  8. 1 2 Munsters, Aäron. "BoaSpect" (PDF). Vrije Universiteit Brussel. Retrieved 15 October 2024.
  9. "test262.fyi". test262.fyi. 17 August 2025. Archived from the original on 17 August 2025. Retrieved 6 September 2024.