awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
quickjs-ng avatar

quickjs-ng/quickjs

0
View on GitHub↗
2,703 stars·256 forks·C·mit·16 viewsquickjs-ng.github.io/quickjs↗

Quickjs

QuickJS is a lightweight, embeddable ECMAScript runtime that executes JavaScript programs conforming to the latest specification. It is designed as a compact, standards-compliant JavaScript engine suitable for resource-constrained environments and embedded systems, available both as prebuilt binaries and as source code that can be compiled for custom integration.

The engine distinguishes itself through a minimal runtime footprint achieved by a single-pass compiler that produces compact bytecode, executed on a stack-based virtual machine. Memory management uses reference-counting garbage collection with cycle detection for deterministic cleanup, while a portable C-based embedding API provides direct memory control for host applications. The platform-agnostic build system compiles across operating systems and architectures without external dependencies.

The engine supports loading and executing JavaScript modules using ES module syntax through a built-in module loader. Prebuilt binaries are available for quick installation, and the source can be compiled for custom integration into host applications.

Features

  • ECMAScript Compliant Engines - An interpreter and compiler that executes JavaScript programs conforming to the latest ECMAScript specification.
  • Minimal Runtime Footprints - Achieves a small binary size and low memory usage by omitting unnecessary runtime features.
  • Lightweight Scripting Engines - A small-footprint JavaScript engine suitable for resource-constrained environments and embedded systems.
  • C-Based Embedding APIs - Ships a minimal C API for embedding the engine with direct memory control.
  • JavaScript Engine Embedding - Provides a minimal C API for embedding a standards-compliant JavaScript runtime into host applications.
  • Cross-Platform Build Systems - Compiles across operating systems and architectures using a portable build system without external dependencies.
  • Reference-Counting Garbage Collectors - Manages memory automatically using reference counting with cycle detection for deterministic cleanup.
  • Single-Pass Compilation - Compiles JavaScript source to bytecode in a single pass without intermediate representations.
  • Source-to-Bytecode Compilers - Compiles JavaScript source into compact bytecode for execution on a custom virtual machine.
  • ECMAScript Module Support - Loads and executes JavaScript modules using a built-in module loader with ES module syntax.
  • Stack-Based Virtual Machines - Runs bytecode instructions using a stack-based architecture for simple and efficient execution.

Star history

Star history chart for quickjs-ng/quickjsStar history chart for quickjs-ng/quickjs

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does quickjs-ng/quickjs do?

QuickJS is a lightweight, embeddable ECMAScript runtime that executes JavaScript programs conforming to the latest specification. It is designed as a compact, standards-compliant JavaScript engine suitable for resource-constrained environments and embedded systems, available both as prebuilt binaries and as source code that can be compiled for custom integration.

What are the main features of quickjs-ng/quickjs?

The main features of quickjs-ng/quickjs are: ECMAScript Compliant Engines, Minimal Runtime Footprints, Lightweight Scripting Engines, C-Based Embedding APIs, JavaScript Engine Embedding, Cross-Platform Build Systems, Reference-Counting Garbage Collectors, Single-Pass Compilation.

What are some open-source alternatives to quickjs-ng/quickjs?

Open-source alternatives to quickjs-ng/quickjs include: svaarala/duktape — Duktape is an embeddable JavaScript engine and portable scripting runtime designed for integration into C and C++… bellard/mquickjs — mQuickjs is a compact JavaScript engine designed for memory-constrained devices, such as microcontrollers, requiring… mruby/mruby — mruby is a lightweight Ruby interpreter designed to be embedded into C applications. It compiles Ruby source code into… albertlauncher/albert — Albert is a keyboard launcher that opens files, applications, and runs commands by typing search queries into a search… dop251/goja — Goja is a JavaScript engine and ECMAScript compliant interpreter implemented entirely in Go. It serves as an embedded… jerryscript-project/jerryscript — JerryScript is a lightweight, ECMAScript-compliant JavaScript engine and bytecode compiler designed for…

Open-source alternatives to Quickjs

Similar open-source projects, ranked by how many features they share with Quickjs.
  • svaarala/duktapesvaarala avatar

    svaarala/duktape

    6,208View on GitHub↗

    Duktape is an embeddable JavaScript engine and portable scripting runtime designed for integration into C and C++ applications. It functions as a lightweight ECMAScript runtime that provides a C-JavaScript bridge for exchanging data and invoking functions between native code and a script execution environment. The engine includes an ECMAScript bytecode compiler that allows for the serialization and caching of compiled functions to disk to reduce application startup time. It organizes script dependencies using a CommonJS-compliant module loader. The runtime covers a variety of capabilities in

    JavaScriptduktapejavascriptjavascript-engine
    View on GitHub↗6,208
  • bellard/mquickjsbellard avatar

    bellard/mquickjs

    5,539View on GitHub↗

    mQuickjs is a compact JavaScript engine designed for memory-constrained devices, such as microcontrollers, requiring as little as 10 KB of RAM and 100 KB of ROM. It achieves this through a fixed-buffer memory allocation scheme that avoids system heap usage, a compacting tracing garbage collector that eliminates fragmentation, and a ROM-embedded standard library that reduces both memory footprint and startup time. The engine compiles JavaScript source into portable bytecode that can be stored in persistent memory and executed without reparsing, and it emulates IEEE 754 floating-point arithmetic

    C
    View on GitHub↗5,539
  • mruby/mrubymruby avatar

    mruby/mruby

    5,584View on GitHub↗

    mruby is a lightweight Ruby interpreter designed to be embedded into C applications. It compiles Ruby source code into a compact, platform-independent bytecode that executes on a register-based virtual machine, and exposes a stable C API for host programs to initialize the interpreter, load bytecode, and invoke Ruby methods at runtime. The interpreter distinguishes itself through a tightly coupled parser and compiler that performs lexical analysis, syntax parsing, and bytecode generation in a single pass without constructing an intermediate AST, minimizing memory overhead. It also includes a

    C
    View on GitHub↗5,584
  • albertlauncher/albertalbertlauncher avatar

    albertlauncher/albert

    7,945View on GitHub↗

    Albert is a keyboard launcher that opens files, applications, and runs commands by typing search queries into a search bar. It functions as a keyboard-driven workflow tool, enabling users to navigate their file system, launch installed applications, and execute shell commands without touching a mouse. The launcher processes user input through a plugin-based modular architecture, where functionality is extended by dynamically loaded C++ and Python plugins. Queries are dispatched to all enabled handlers in parallel, with results merged and ranked by a combination of match quality and historical

    C++albertalbertlauncherapplication-launcher
    View on GitHub↗7,945
  • See all 30 alternatives to Quickjs→