Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

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

JerryScript

Apache-2.0Cv3.0.0

An ultra-lightweight JavaScript engine designed to run on microcontrollers and IoT devices with less than 64KB RAM.

Visit WebsiteGitHubGitHub
7.4k stars691 forks0 contributors

What is JerryScript?

JerryScript is an ultra-lightweight JavaScript engine designed specifically for Internet of Things (IoT) devices and microcontrollers. It solves the problem of running JavaScript on extremely resource-constrained hardware with less than 64KB of RAM and 200KB of flash memory. The engine brings web development capabilities to embedded systems while maintaining ECMAScript compatibility.

Target Audience

Embedded systems developers, IoT engineers, and hardware programmers who want to use JavaScript on microcontrollers and resource-constrained devices.

Value Proposition

Developers choose JerryScript because it's the most memory-efficient JavaScript engine available for IoT devices, offering full ES5.1 compliance in a footprint small enough for microcontrollers. Its mature C API makes it easy to embed in existing C/C++ applications.

Overview

Ultra-lightweight JavaScript engine for the Internet of Things.

Use Cases

Best For

  • Running JavaScript on microcontrollers with limited memory
  • Adding scripting capabilities to IoT devices
  • Embedding JavaScript engines in resource-constrained C/C++ applications
  • Developing IoT applications with web technology stacks
  • Educational projects teaching JavaScript on hardware
  • Prototyping IoT devices with JavaScript interfaces

Not Ideal For

  • Projects requiring full ECMAScript 2025 or later features for modern JavaScript development
  • High-performance web or server-side applications where engines like V8 or Node.js are better suited
  • Development environments heavily reliant on npm packages and contemporary JavaScript tooling ecosystems
  • Teams needing extensive community support and quick troubleshooting for complex scripting issues

Pros & Cons

Pros

Full ES5.1 Compliance

Provides complete support for the ECMAScript 5.1 standard, ensuring broad JavaScript compatibility on resource-constrained devices without sacrificing core language features.

Minimal Memory Footprint

Optimized to run on devices with less than 64KB RAM and 200KB flash, with binary sizes as small as 258KB for ARM Thumb-2, making it ideal for microcontrollers.

High Portability

Written in C99, it can be easily ported across various microcontroller platforms and embedded systems, maximizing cross-platform compatibility.

Snapshot Support

Allows precompiling JavaScript source to bytecode for faster loading and reduced runtime memory usage, as highlighted in the key features.

Cons

Limited Modern JS Features

Only 70% compliant with ECMAScript 2025, missing key modern syntax and APIs like async/await or ES6 modules, which restricts development with newer JavaScript standards.

Niche Ecosystem

Focused on IoT, it lacks the extensive library and tooling support of mainstream JavaScript environments, making integration with npm packages or modern frameworks challenging.

Embedded Setup Complexity

Integrating with C/C++ applications requires familiarity with embedded development and the C API, which can be steep for developers accustomed to web or Node.js environments.

Frequently Asked Questions

Quick Stats

Stars7,407
Forks691
Contributors0
Open Issues205
Last commit9 months ago
CreatedSince 2015

Tags

#iot#embedded-systems#javascript-engine#ecmascript#internet-of-things#embedded-javascript#microcontrollers#javascript#runtime#c99#resource-constrained

Built With

C
C99

Links & Resources

Website

Included in

C/C++70.6kGame Engine Development1.3k
Auto-fetched 5 hours ago

Related Projects

imguiimgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

Stars74,986
Forks11,931
Last commit16 hours ago
C/C++C/C++

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Stars72,398
Forks8,320
Last commit5 days ago
ProtoBufProtoBuf

Protocol Buffers - Google's data interchange format

Stars71,621
Forks16,200
Last commit4 hours ago
JSON for Modern C++JSON for Modern C++

JSON for Modern C++

Stars50,198
Forks7,437
Last commit13 hours 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