Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. ESP
  3. Wasm3

Wasm3

MITCv0.9.1-beta.1

A fast and universal WebAssembly interpreter designed for portability, minimal footprint, and broad platform support.

Visit WebsiteGitHubGitHub
8.1k stars536 forks0 contributors

What is Wasm3?

Wasm3 is a fast, standards-compliant WebAssembly interpreter and runtime designed for portability and minimal resource usage. It solves the problem of running WebAssembly code in environments where Just-In-Time (JIT) compilation is impractical or impossible, such as embedded systems, iOS, and browsers. The project prioritizes ease of integration, security through sandboxed execution, and broad compatibility across diverse hardware and software platforms.

Target Audience

Developers and engineers working on embedded systems, IoT devices, mobile applications (especially iOS), and edge computing platforms that require a lightweight, secure WebAssembly runtime. It also targets those needing to integrate WebAssembly into existing projects via extensive language bindings, including Python, Rust, C/C++, Go, Swift, and .NET.

Value Proposition

Developers choose Wasm3 over alternatives for its exceptional portability across a wide range of architectures and operating systems, its minimal footprint (requiring only about 64KB of code space and 10KB of RAM), and its focus on security and ease of integration. Unlike JIT-based runtimes, it provides predictable performance and is usable on platforms that restrict dynamic code generation.

Overview

🚀 A fast WebAssembly interpreter and the most universal WASM runtime

Use Cases

Best For

  • Running WebAssembly on resource-constrained embedded devices and microcontrollers (e.g., Arduino, ESP8266, ESP32).
  • Integrating WebAssembly into iOS applications where JIT compilation is unavailable due to platform restrictions.
  • Implementing secure, sandboxed plugin or scripting systems in applications like IoT rules engines or smart contracts.
  • Edge computing scenarios that require a lightweight, portable runtime for executing untrusted code in isolated environments.
  • Developing cross-platform applications that need WebAssembly support across diverse hardware (x86, ARM, RISC-V) and operating systems (Linux, Windows, macOS, routers).
  • Prototyping or research projects evaluating WebAssembly runtimes in varied environments, including self-hosting (running Wasm3 within Wasm3).

Not Ideal For

  • High-performance computing applications where JIT-based WebAssembly runtimes can be used for maximum execution speed.
  • Projects requiring full support for advanced WebAssembly features like SIMD, tail call optimization, or exception handling.
  • Teams that need active, ongoing development with frequent updates for new WebAssembly standards and bug fixes.
  • Server-side deployments in unrestricted environments where JIT compilation is feasible and performance is critical.

Pros & Cons

Pros

Exceptional Portability

Runs on a wide range of architectures including x86, ARM, RISC-V, and platforms from Linux and Windows to microcontrollers and routers, as detailed in the README's supported platforms list.

Minimal Resource Footprint

Requires only about 64KB of code space and 10KB of RAM, making it ideal for embedded systems and resource-constrained devices, a key feature highlighted in the README.

Extensive Language Bindings

Available as libraries for Python, Rust, C/C++, Go, Swift, .NET, and more, facilitating easy integration into diverse projects without heavy dependencies.

Standards-Compliant and Secure

Passes the WebAssembly spec test suite and provides sandboxed execution for secure, predictable running of untrusted code, useful for scripting and plugins.

Cons

Limited Feature Support

Missing key WebAssembly proposals like tail call optimization, SIMD, and exception handling, as shown in the features table, which may hinder adoption for advanced use cases.

Minimal Maintenance Phase

The project is in minimal maintenance due to the maintainer's personal circumstances, meaning fewer updates and slower feature development, though Pull Requests are still accepted.

Performance Trade-Offs

As an interpreter, it is inherently slower than JIT-based runtimes like Wasmer or V8, which could be a drawback for performance-sensitive applications despite its speed claims.

Frequently Asked Questions

Quick Stats

Stars8,059
Forks536
Contributors0
Open Issues13
Last commit22 days ago
CreatedSince 2019

Tags

#wasi#iot#sandbox#embedded-systems#webassembly#serverless#smart-contracts#embedded#portable#wasm-runtime#virtual-machine#microcontrollers#scripting#wasm#cross-platform#edge-computing

Links & Resources

Website

Included in

ESP2.3kWebAssembly27
Auto-fetched 1 day ago

Related Projects

WasmEdgeWasmEdge

WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. It powers serverless apps, embedded functions, microservices, smart contracts, and IoT devices.

Stars10,841
Forks1,193
Last commit1 day ago
IRremoteESP8266IRremoteESP8266

Infrared remote library for ESP8266/ESP32: send and receive infrared signals with multiple protocols. Based on: https://github.com/shirriff/Arduino-IRremote/

Stars3,642
Forks943
Last commit2 months ago
WAVMWAVM

WebAssembly Virtual Machine

Stars2,786
Forks235
Last commit6 months ago
ESPAudioESPAudio

Arduino library to play MOD, WAV, FLAC, MIDI, RTTTL, OGG/Opus, MP3, and AAC files on I2S DACs or with a software emulated delta-sigma DAC on the ESP8266 and ESP32 and Pico

Stars2,406
Forks472
Last commit15 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