Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

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

Duktape

MITJavaScriptv2.7.0

An embeddable, portable JavaScript engine with a compact footprint, designed for integration into C/C++ projects.

GitHubGitHub
6.2k stars544 forks0 contributors

What is Duktape?

Duktape is an embeddable JavaScript engine designed for integration into C/C++ projects. It provides a portable and compact solution for executing JavaScript code within native applications, focusing on minimal platform dependencies and a small footprint. It solves the problem of adding scripting capabilities to embedded systems or applications where resource constraints are a concern.

Target Audience

C/C++ developers who need to embed JavaScript functionality into their applications, particularly those working on embedded systems, IoT devices, or resource-constrained environments.

Value Proposition

Developers choose Duktape for its portability, compact size, and ease of integration—requiring only a few source files. Its focus on minimal dependencies and compliance with ECMAScript standards makes it a reliable choice for embedding JavaScript in native code without the overhead of larger engines.

Overview

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

Use Cases

Best For

  • Embedding JavaScript in C/C++ applications
  • Adding scripting capabilities to IoT or embedded devices
  • Creating lightweight JavaScript runtimes for resource-constrained environments
  • Integrating JavaScript into game engines or desktop applications
  • Building custom tools that require ECMAScript compliance with a small footprint
  • Developing cross-platform applications needing portable JavaScript execution

Not Ideal For

  • Applications requiring full ES2015+ JavaScript features, such as async/await or complete ES6 modules
  • High-performance web servers or applications where execution speed is prioritized over footprint size
  • Projects that depend heavily on npm packages and the Node.js ecosystem
  • Teams developing on non-Linux platforms needing advanced build and test tooling

Pros & Cons

Pros

Easy Integration

Requires only three source files (duktape.c, duktape.h, duk_config.h) added to a C/C++ build, simplifying embedding as highlighted in the README.

Compact and Portable

Designed for minimal resource usage and runs on various platforms with few dependencies, aligning with its focus on portability.

ECMAScript E5 Compliance

Fully compliant with ECMAScript E5/E5.1 standards, ensuring reliable JavaScript execution for basic scripting needs.

Built-in Debugger

Includes a debugger for development and troubleshooting, reducing external tool dependencies for embedded scenarios.

Cons

Partial Modern Support

Only offers partial ES2015+ feature support, limiting use of newer JavaScript syntax and APIs, as admitted in the README with links to compatibility tables.

Linux-Centric Development

Advanced development tasks like running test cases and building distributables are supported only on Linux x86-64, creating barriers for cross-platform teams.

Unstable Master Branch

The master branch may have API incompatible changes for major releases, making it risky for production dependencies without using stable tags or maintenance branches.

Frequently Asked Questions

Quick Stats

Stars6,194
Forks544
Contributors0
Open Issues429
Last commit2 years ago
CreatedSince 2014

Tags

#javascript-engine#portable#ecmascript#lightweight#mit-license#bytecode#garbage-collection#embeddable#javascript#debugger

Built With

Y
YAML
N
Node.js
P
Python
D
Docker
C
C++

Included in

C/C++70.6kGame Engine Development1.3k
Auto-fetched 1 day ago

Related Projects

ProtoBufProtoBuf

Protocol Buffers - Google's data interchange format

Stars71,131
Forks16,113
Last commit1 day ago
C/C++C/C++

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

Stars70,870
Forks8,263
Last commit2 days ago
JSON for Modern C++JSON for Modern C++

JSON for Modern C++

Stars49,451
Forks7,370
Last commit14 days ago
BlazorBlazor

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.

Stars37,857
Forks10,624
Last commit1 day 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