Listing of JavaScript engines for embedded systems/IoT applications

JavaScript could be an awful language (i.e. “typeof null returning ‘object’ is a bug that can’t be fixed, because it would break existing code”), but it is everywhere and is one programming language of IoT (other is Lua).

I decided to list here some small JavaScript options for embedded system:

Deno ( – A small Javascript/TypeScript runtime written in Rust language.

Duktape ( – A small footprint, easily embeddable Ecmascript E5/E5.1 engine.

Espruino ( – A very small footprint interpreter specifically for microcontrollers. Can run in less than 8 kB of RAM by executing from source (rather than bytecode).

JerryScript ( – A very small interpreter developed by Samsung for IoT application.

Kameleon ( – This is a fork of JerryScript with a nice web IDE.

Moddable ( – Another small and fast JavaScript VM for microcontrollers.

mJS ( – This is the JavaScript engine used on Mongoose project.

MuJS ( – A lightweight ECMAScript interpreter library, designed for embedding in other software to extend them with scripting capabilities. Originally developed for MuPDF.

QuickJS ( – a small JS VM developed by Fabrice Bellard from QEMU fame.

SophonJS ( – Another JavaScript engine that could be used for low-end applications.

Throwback ( – The smallest JS engine for microcontroller, still in early stage of development

Tiny-JS ( A minimalJavaScript interpreter written in C++.

So, we have at least 12 JS engine options to use with microcontrollers. From this listing I think JerryScript is a step ahead, but Kameleon is evolving to be a real alternative for embedded systems.


3 thoughts on “Listing of JavaScript engines for embedded systems/IoT applications

  1. Thank you for compiling the list. In my case, my iot devices are generally too small to run JavaScript, But the list is good in case I up size.

  2. Hi Celem,
    Please take a look at Throwback, it is small and could fit in small microcontrollers.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s