Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. MicroQuickJS

MicroQuickJS

NOASSERTIONC

A JavaScript engine for embedded systems requiring as little as 10 kB of RAM, implementing a stricter ES5 subset.

GitHubGitHub
5.7k stars216 forks0 contributors

What is MicroQuickJS?

MicroQuickJS is a JavaScript engine designed for embedded systems and resource-constrained devices. It compiles and runs JavaScript programs using extremely low memory—as little as 10 kB of RAM—while implementing a stricter, safer subset of ES5 JavaScript. It solves the problem of running JavaScript in environments where traditional engines like V8 or SpiderMonkey are too resource-intensive.

Target Audience

Embedded systems developers, IoT engineers, and anyone working on microcontrollers or low-memory devices who need to run JavaScript code efficiently and safely.

Value Proposition

Developers choose MQuickJS for its ultra-low memory footprint, deterministic memory usage without relying on system malloc, and its stricter JavaScript subset that prevents common errors, making it ideal for reliable embedded applications.

Overview

Public repository of the Micro QuickJS Javascript Engine

Use Cases

Best For

  • Running JavaScript on microcontrollers with limited RAM
  • Embedded systems requiring deterministic memory allocation
  • IoT devices where a full JavaScript engine is too heavy
  • Educational projects exploring minimal JS engines
  • Applications needing JavaScript bytecode execution from ROM
  • Environments where a stricter, safer JS subset is preferred

Not Ideal For

  • Web applications requiring full ES2020+ support and npm ecosystem integration
  • Projects that rely on direct eval for dynamic code execution or metaprogramming
  • Environments where memory is abundant and maximum JavaScript performance is the top priority
  • Development teams looking for a plug-and-play JavaScript engine with extensive documentation and community support

Pros & Cons

Pros

Ultra-Low Memory Footprint

Runs with as little as 10 kB of RAM and 100 kB of ROM, demonstrated by the --memory-limit option in the REPL, making it ideal for embedded systems.

Stricter JavaScript Safety

Enforces a subset of ES5 that forbids error-prone constructs like array holes and direct eval, reducing bugs in resource-constrained code.

Efficient Garbage Collection

Uses a tracing compacting GC to minimize fragmentation and allow smaller object representations, as detailed in the Internals section.

Minimal C Dependencies

Does not require standard malloc or printf, using a provided memory buffer instead, enhancing portability to bare-metal systems.

Cons

Limited JavaScript Features

Only supports a strict ES5 subset with missing modern features like full ES6, advanced regexp, and Date functions beyond Date.now().

Complex Memory Management

The C API requires careful handling with JS_PushGCRef and JS_PopGCRef, and objects can move during allocation, increasing development complexity.

No Bytecode Backwards Compatibility

Bytecode format is not guaranteed to be compatible across versions, as admitted in the README, requiring recompilation for updates.

Sparse Tooling and Ecosystem

Lacks the extensive libraries, debuggers, and community support of mainstream JavaScript engines, making development and troubleshooting harder.

Frequently Asked Questions

Quick Stats

Stars5,748
Forks216
Contributors0
Open Issues7
Last commit3 months ago
CreatedSince 2025

Tags

#iot#embedded-systems#javascript-engine#low-memory#c-api#microcontroller#es5#bytecode#garbage-collection

Built With

C
C++

Included in

C/C++70.6k
Auto-fetched 1 day ago

Related Projects

ChakraCoreChakraCore

ChakraCore is an open source Javascript engine with a C API.

Stars9,242
Forks1,219
Last commit2 months ago
JerryScriptJerryScript

Ultra-lightweight JavaScript engine for the Internet of Things.

Stars7,386
Forks690
Last commit6 months ago
DuktapeDuktape

Duktape - embeddable Javascript engine with a focus on portability and compact footprint

Stars6,194
Forks544
Last commit2 years ago
LuauLuau

A small, fast, and embeddable programming language based on Lua with a gradual type system.

Stars5,461
Forks560
Last commit4 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub