QEMU and FFmpeg Founder Introduces Micro QuickJS JavaScript Engine

Fabrice Bellard, founder of QEMU and FFmpeg, has published Micro QuickJS, a minimal JavaScript engine targeting embedded and low-memory environments.

Fabrice Bellard, the founder of QEMU and FFmpeg, reveals a new project, Micro QuickJS, as a new JavaScript engine targeting embedded systems.

It’s important to note that Micro QuickJS is not a continuation or fork of QuickJS, another JS project by the same author. It is a separate codebase designed specifically for environments with very limited resources, such as microcontrollers and other constrained embedded platforms.

The engine focuses on a strict ES5 subset and prioritizes predictable behavior, low memory usage, and simplicity over broad language coverage. A key design goal is its minimal memory footprint. The engine is intended to operate in environments with only a few kilobytes of available RAM.

According to the project description, it can compile and run JavaScript programs with as little as 10 kB of RAM, placing it well below the footprint of conventional JavaScript engines and making it fitting for devices where scripting support has traditionally been impractical.

To achieve this, several features commonly found in larger runtimes are intentionally omitted, and the implementation avoids dynamic behavior that would increase memory pressure.

The standard library is designed to be compiled into ROM, reducing runtime allocations and enabling faster startup. This method corresponds with typical embedded system requirements, where code is stored in flash memory and RAM usage must be tightly controlled.

Moreover, the API and execution model are also simplified to favor determinism and ease of embedding within firmware projects written in C.

Micro QuickJS is published under an open-source license and publicly hosted on GitHub. While it does not aim to replace full-featured JavaScript engines, it provides a new option for running JavaScript logic on hardware platforms where such capability was previously impractical.

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

One comment

  1. JOhn Doe

    I love to see when devs are professional enough to optimize their code so that it runs efficiently.

Leave a Reply

Your email address will not be published. Required fields are marked *