QuickJS: An Embeddable JavaScript Engine

azhenley1 pts0 comments

QuickJS Javascript Engine

QuickJS Javascript Engine

News

2026-06-04:

New release (Changelog). It is 42%<br>faster than the previous release based on the bench-v8 (aka<br>v8-v7) score.

2025-09-13:

New release (Changelog)

2025-04-26:

New release (Changelog). The bignum<br>extensions and the qjscalc application were removed to simplify<br>the code. The BFCalc calculator<br>(web version) can be used as a<br>replacement for qjscalc.

Introduction

QuickJS is a small and embeddable Javascript engine. It supports the<br>ES2025 specification.

Main Features:

Small and easily embeddable: just a few C files, no external<br>dependency, 367 KiB of x86 code for a simple hello world<br>program.

Fast interpreter with very low startup time: runs<br>the ECMAScript Test<br>Suite in about 2 minutes on a single core of a desktop PC. The<br>complete life cycle of a runtime instance completes in less than 300<br>microseconds.

Almost<br>complete ES2025<br>support including modules, asynchronous generators and full Annex B<br>support (legacy web compatibility).

Passes nearly 100% of the ECMAScript Test Suite tests when<br>selecting the ES2025 features (see test262.fyi).

Can compile Javascript sources to executables with no external dependency.

Garbage collection using reference counting (to reduce memory usage<br>and have deterministic behavior) with cycle removal.

Command line interpreter with contextual colorization implemented in Javascript.

Small built-in standard library with C library wrappers.

Online Demo

qjs can be run in JSLinux.

Benchmarks

JavaScript engines zoo

Boa benchmarks

ahaoboy/js-engine-benchmark

Documentation

QuickJS documentation: HTML version,<br>PDF version.

Download

QuickJS source code: quickjs-2026-06-04.tar.xz

QuickJS extras (contain the unicode files needed to rebuild the unicode tables and the bench-v8 benchmark): quickjs-extras-2026-06-04.tar.xz

Official GitHub repository.

Binary releases are<br>available here.

Cosmopolitan binaries running on Linux, Mac, Windows, FreeBSD, OpenBSD, NetBSD for both the ARM64 and x86_64<br>architectures: quickjs-cosmo-2026-06-04.zip.

Typescript compiler compiled with QuickJS: quickjs-typescript-5.9.3-linux-x86.tar.xz

Babel compiler compiled with QuickJS: quickjs-babel-linux-x86.tar.xz

Sub-projects

QuickJS embeds the following C libraries which can be used in other<br>projects:

libregexp : small and fast regexp library fully compliant with the Javascript ES2023 specification.

libunicode : small unicode library supporting case<br>conversion, unicode normalization, unicode script queries, unicode<br>general category queries and all unicode binary properties.

dtoa : small library implementing float64 printing and parsing.

Links

Micro QuickJS: a Javascript engine for microcontrollers.

Licensing

QuickJS is released under<br>the MIT license.

Unless otherwise specified, the QuickJS sources are copyright Fabrice<br>Bellard and Charlie Gordon.

Fabrice Bellard - https://bellard.org/

quickjs javascript unicode engine small library

Related Articles