π A curated list of WebAssembly runtimes
A WebAssembly runtime is a software environment that executes programs compiled to the WebAssembly (Wasm) binary format, enabling efficient and portable execution of code. Notable runtimes include V8, SpiderMonkey, and Wasmtime.
-
V8: Browser
V8 includes its own custom WebAssembly engine. -
SpiderMonkey: Browser
SpiderMonkey is also a WebAssembly engine. -
JavaScriptCore: Browser
JavaScriptCore includes its own custom WebAssembly engine. -
aWsm: CLI
WebAssembly ahead-of-time compiler and runtime. Focuses on generating fast code, simplicity, and portability. -
Extism: CLI, Rust, JavaScript, Elixr, Go, Haskell, Java, .NET, OCaml, PHP, Python, Ruby, Zig, C, C++
The framework for building with WebAssembly (wasm). Easily load wasm modules, move data, call functions, and build extensible apps. -
GraalWasm: Java
GraalWasm is a WebAssembly engine implemented in GraalVM. It can interpret and compile WebAssembly programs in the binary format, or be embedded into other programs. -
Wasm3: CLI, Python, Rust, C, C++, Go, Zig, Perl, Swift, .NET, Nim, Arduino, PlatformIO, Particle, QuickJS
π A fast WebAssembly interpreter and the most universal WASM runtime -
WasmEdge: CLI, C, Rust, Go, Java, C++, Python
Bring the cloud-native and serverless application paradigms to Edge Computing. -
Wasmer: CLI, Rust, C, C++, C#, D, Python, JavaScript, Go, PHP, Ruby, Java, R, Postgres, Swift, Zig, Dart, Crystal, List, Julia, V, OCaml
Wasmer is a blazing fast and secure WebAssembly runtime that enables incredibly lightweight containers to run anywhere: from Desktop to the Cloud, Edge and even the browser. -
Wasmi: CLI
Wasmi is an efficient and lightweight WebAssembly interpreter for embedded systems. -
Wasmtime: CLI, Rust, C, C++, Python, .NET, Go, Ruby, Elixr, Perl
A fast and secure runtime for WebAssembly -
WasmVM: CLI, C++
A standalone WebAssembly process virtual machine -
WebAssembly Micro Runtime: CLI, C, C++
WebAssembly Micro Runtime (WAMR) is a lightweight standalone WebAssembly (Wasm) runtime with small footprint, high performance and highly configurable features for applications cross from embedded, IoT, edge to Trusted Execution Environment (TEE), smart contract, cloud native and so on. -
wazero: CLI, Go
wazero is the only zero dependency WebAssembly runtime written in Go. -
Lunatic: CLI, Rust, AssemblyScript
Lunatic is an Erlang-inspired runtime for WebAssembly
Criteria: Be active (activity within the last year) and be popular (100+ GitHub stars).