Awesome
Awesome WebAssembly Runtimes
This repo contains a list of virtual machines and tools that execute the WebAssembly(wasm) format and/or compile it to executable machine code :octocat:
Legend
:rocket: - Active development</br> :sleeping: - Unmaintained (been more than a year since last commit)</br>
CONTENTS
- aWsm <sup><sup>:rocket:</sup></sup></br>
- Chicory <sup><sup>:rocket:</sup></sup></br>
- CMM of Wasm <sup><sup>:sleeping:</sup></sup></br>
- EOSVM <sup><sup>:rocket:</sup></sup></br>
- Extism <sup><sup>:rocket:</sup></sup></br>
- FDVM <sup><sup>:sleeping:</sup></sup></br>
- Fizzy <sup><sup>:rocket:</sup></sup></br>
- GraalWASM <sup><sup>:rocket:</sup></sup></br>
- Happy New Moon With Report <sup><sup>:rocket:</sup></sup></br>
- inNative <sup><sup>:rocket:</sup></sup></br>
- Life <sup><sup>:sleeping:</sup></sup></br>
- Lucet <sup><sup>:rocket:</sup></sup></br>
- wasm3 <sup><sup>:rocket:</sup></sup></br>
- Motor <sup><sup>:sleeping:</sup></sup></br>
- py-wasm <sup><sup>:sleeping:</sup></sup></br>
- Serverless Wasm <sup><sup>:sleeping:</sup></sup></br>
- Swam <sup><sup>:rocket:</sup></sup></br>
- VMIR <sup><sup>:sleeping:</sup></sup></br>
- wac <sup><sup>:sleeping:</sup></sup></br>
- Wagon <sup><sup>:sleeping:</sup></sup></br>
- WAKit <sup><sup>:rocket:</sup></sup></br>
- Warpy <sup><sup>:sleeping:</sup></sup></br>
- WasmEdge <sup><sup>:rocket:</sup></sup></br>
- Wasmer <sup><sup>:rocket:</sup></sup></br>
- Wasmi <sup><sup>:rocket:</sup></sup></br>
- Wasmo <sup><sup>:rocket:</sup></sup></br>
- WasmRT <sup><sup>:sleeping:</sup></sup></br>
- Wasmtime <sup><sup>:rocket:</sup></sup></br>
- WasmVM <sup><sup>:rocket:</sup></sup></br>
- WasmVM <sup><sup>:sleeping:</sup></sup></br>
- WAVM <sup><sup>:sleeping:</sup></sup></br>
- WebAssembly <sup><sup>:sleeping:</sup></sup></br>
- WebAssembly Micro Runtime <sup><sup>:rocket:</sup></sup></br>
- Wizard Research Engine <sup><sup>:rocket:</sup></sup></br>
- TWVM <sup><sup>:rocket:</sup></sup></br>
- wazero <sup><sup>:rocket:</sup></sup></br>
<a name="awsm"></a>aWsm <sup>top⇈</sup>
aWsm is a compiler and runtime for compiling WebAssembly (Wasm) code into llvm bytecode, then into sandboxed binaries you can run on various platforms.
-
Languages written in
<table> <tr> <td>Rust</td> <td>C</td> </tr> </table> -
Compiler framework
<table> <tr> <td>LLVM</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>AOT</td> </tr> </table> -
Interoperability with other languages
<table> <tr> <td>C</td> </tr> </table> -
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> </tr> </table>
<a name="chicory"></a>Chicory <sup>top⇈</sup>
Chicory is a JVM native WebAssembly runtime. It allows you to run WebAssembly programs with zero native dependencies or JNI.
-
Languages written in
<table> <tr> <td>Java</td> </tr> </table> -
Compiler framework
<table> <tr> <td>JVM</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreter</td> <td>AOT</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
WASI
-
Non-web standards
N/A
-
Used by
- JRuby (Ruby prism parser)
- Apache Camel
-
Platforms supported
<table> <tr> <td>Anywhere the JVM runs</td> </tr> </table>
<a name="cmm"></a>CMM of Wasm <sup>top⇈</sup>
A compiler from WebAssembly to native code, via the OCaml backend.
-
Languages written in
<table> <tr> <td>OCaml</td> </tr> </table> -
Compiler framework
<table> <tr> <td>OCaml Compiler</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>AOT</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> </tr> </table>
<a name="eosvm"></a>EOSVM <sup>top⇈</sup>
EOS VM is designed from the ground up for the high demands of blockchain applications which require far more from a WebAssembly engine than those designed for web browsers or standards development.
-
Languages written in
<table> <tr> <td>C++</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="extism"></a>Extism <sup>top⇈</sup>
Extism's goal is to make all software programmable, and is a flexible, embedded runtime to make it easy to extend your software with WebAssembly.
-
Languages written in
<table> <tr> <td>Rust</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>JIT</td> </tr> </table> -
Interoperability with other languages
SDKs to execute WebAssembly in:
PDKs to create WebAssembly plug-ins in:
-
Host APIs supported
- module loading & linking via
Manifest
- WASI
- non-WASI
http_request
- module loading & linking via
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="fdvm"></a>FDVM <sup>top⇈</sup>
WASM runtime to develop server-side WebAssembly applications.
-
Languages written in
<table> <tr> <td>JavaScript</td> </tr> </table> -
Compiler framework
<table> <tr> <td>NodeJS(V8)</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>JIT</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="fizzy"></a>Fizzy <sup>top⇈</sup>
Fizzy aims to be a fast, deterministic, and pedantic WebAssembly interpreter written in C++.
-
Languages written in
<table> <tr> <td>C++</td> </tr> </table> -
Compiler framework
N/A
-
Compilation / Execution modes
<table> <tr> <td>Interpreter</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
<table> <tr> <td>WASI</td> </tr> </table> -
Non-web standards
<table> <tr> <td>WASI</td> </tr> </table> -
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> </tr> </table>
<a name="graalwasm"></a>GraalWasm <sup>top⇈</sup>
GraalWasm is a WebAssembly engine implemented in the GraalVM. It can interpret and compile WebAssembly programs in the binary format, or be embedded into other programs.
-
Languages written in
<table> <tr> <td>Java</td> </tr> </table> -
Compiler framework
<table> <tr> <td>GraalVM</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>JIT</td> </tr> </table> -
Interoperability with other languages
<table> <tr> <td>Java</td> <td>JVM</td> <td>Graal supported languages</td> </tr> </table> -
Non-MVP features supported
<table> <tr> </tr> </table> -
Host APIs supported
<table> <tr> <td>WASI</td> </tr> </table> -
Non-web standards
<table> <tr> <td>WASI</td> </tr> </table> -
Used by
- GraalVM JavaScript - A high performance implementation of the JavaScript programming language.
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="happy-new-moon-with-report"></a>Happy New Moon With Report <sup>top⇈</sup>
Happy New Moon with Report is an open-source implementation of WebAssembly written entirely in Java. It is used to run or test Web Assembly Modules (*.wasm) in Java.
-
Languages written in
<table> <tr> <td>Java</td> </tr> </table> -
Compiler framework
N/A
-
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> </tr> </table> -
Interoperability with other languages
<table> <tr> <td>Java</td> <td>JVM languages</td> </tr> </table> -
Non-MVP features supported
<table> <tr> <td>Sign Extensions</td> </tr> </table> -
Host APIs supported
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>JVM</td> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="innative"></a>inNative <sup>top⇈</sup>
An AOT (ahead-of-time) compiler for WebAssembly that creates C compatible binaries, either as sandboxed plugins you can dynamically load, or as stand-alone executables that interface directly with the operating system.
-
Languages written in
<table> <tr> <td>C++</td> </tr> </table> -
Compiler framework
<table> <tr> <td>LLVM</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>AOT</td> <td>JIT</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
<table> <tr> <td>Threads</td> <td>Multiple Result and Block Parameters</td> <td>Name Section</td> <td>Bulk Memory Operations</td> <td>Sign Extension Instructions</td> <td>Non-trapping Conversion Instructions</td> </tr> </table> -
Host APIs supported
<table> <tr> <td>Custom</td> </tr> </table> -
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="life"></a>Life <sup>top⇈</sup>
Life is a secure & fast WebAssembly VM built for decentralized applications, written in Go by Perlin Network.
-
Languages written in
<table> <tr> <td>Go</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="lucet"></a>Lucet <sup>top⇈</sup>
Lucet is a native WebAssembly compiler and runtime. It is designed to safely execute untrusted WebAssembly programs inside your application.
NOTE: Lucet is now in maintenance mode. Work has been moved to wasmtime.
-
Languages written in
<table> <tr> <td>Rust</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Cranelift</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>AOT</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
<table> <tr> <td>WASI</td> </tr> </table> -
Non-web standards
<table> <tr> <td>WASI</td> </tr> </table> -
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> </tr> </table>
<a name="wasm3"></a>Wasm3 <sup>top⇈</sup>
🚀 A high performance WebAssembly interpreter
-
Languages written in
<table> <tr> <td>C</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> </tr> </table> -
Interoperability with other languages
<table> <tr> <td>Python</td> <td>C/C++</td> <td>Rust</td> <td>Go</td> <td>Zig</td> <td>Swift</td> <td>C#/.Net</td> </tr> </table> -
Non-MVP features supported
<table> <tr> <td>Multi-Value</td> <td>Bulk Memory Operations</td> <td>Sign-extension operators</td> <td>Non-trapping conversions</td> <td>Name Section</td> </tr> </table> -
Host APIs supported
<table> <tr> <td>WASI</td> <td>Custom</td> </tr> </table> -
Non-web standards
<table> <tr> <td>WASI</td> <td>Gas Metering</td> </tr> </table> -
Used by
-
Platforms supported
<table> <tr> <td>Windows</td> <td>Linux<br/>(any arch)</td> <td>macOS<br/>(any arch)</td> <td>FreeBSD<br/>(any arch)</td> <td>Android</td> <td>OpenWRT</td> <td>SBC/MCU</td> <td>Arduino</td> </tr> </table>
<a name="motor"></a>Motor <sup>top⇈</sup>
Motor is a WebAssembly runtime, which aims for secure and efficient execution of WebAssembly programs
-
Languages written in
<table> <tr> <td>Rust</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Dynasm</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>JIT</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> </tr> </table>
<a name="py-wasm"></a>py-wasm <sup>top⇈</sup>
A python implementation of the WebAssembly interpreter
-
Languages written in
<table> <tr> <td>Python</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="serverless-wasm"></a>Serverless wasm <sup>top⇈</sup>
A small demo of Web Assembly's potential outside of browsers
-
Languages written in
<table> <tr> <td>Rust</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Wasmi</td> <td>Cranelift</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> <td>JIT</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="swam"></a>Swam <sup>top⇈</sup>
WebAssembly engine in Scala
-
Languages written in
<table> <tr> <td>Scala</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="vmir"></a>VMIR <sup>top⇈</sup>
VMIR is a standalone library written in C that can parse and execute WebAssembly and LLVM Bitcode files
-
Languages written in
<table> <tr> <td>C</td> </tr> </table> -
Compiler framework
<table> <tr> <td>LLVM</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> <td>JIT</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="wac"></a>wac <sup>top⇈</sup>
A Minimal WebAssembly interpreter written in C.
-
Languages written in
<table> <tr> <td>C</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="wagon"></a>wagon <sup>top⇈</sup>
Wagon is a WebAssembly-based interpreter in Go, for Go.
-
Languages written in
<table> <tr> <td>Go</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="wakit"></a>WAKit <sup>top⇈</sup>
A WebAssembly runtime written in Swift.
-
Languages written in
<table> <tr> <td>Swift</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> </tr> </table>
<a name="warpy"></a>Warpy <sup>top⇈</sup>
WebAssembly interpreter in RPython.
-
Languages written in
<table> <tr> <td>RPython</td> </tr> </table> -
Compiler framework
<table> <tr> <td>RPython</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>JIT</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="wasmedge"></a>WasmEdge <sup>top⇈</sup>
A lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. Project under CNCF.
-
Languages written in
<table> <tr> <td>C++</td> </tr> </table> -
Compiler framework
<table> <tr> <td>LLVM</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreter</td> <td>AOT</td> </tr> </table> -
Interoperability with other languages
<table> <tr> <td>Solidity</td> <td>Rust</td> <td>C/C++</td> <td>Go/TinyGo</td> <td>JavaScript</td> <td>Python</td> <td>Grain</td> <td>Swift</td> <td>Zig</td> <td>Ruby</td> </tr> </table> -
Non-MVP features supported
<table> <tr> <td>Bulk Memory Operations</td> <td>SIMD</td> <td>Multi-Memory</td> <td>Multi-Value</td> <td>Reference Types</td> <td>Sign Extension Instructions</td> <td>Non-Trapping Float-to-Int Conversions</td> <td>Mutable Global</td> </tr> </table> -
Host APIs supported
<table> <tr> <td>WASI</td> <td>Networking Socket</td> <td>TensorFlow</td> <td>Command Interface</td> <td>Image Processing</td> </tr> </table> -
Non-web standards
<table> <tr> <td>WASI</td> <td>Gas Metering</td> <td>Ethereum Environment Interface</td> <td>Oasis</td> <td>Substrate</td> </tr> </table> -
Used by
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> <td>Android</td> <td>OpenHarmony</td> <td>seL4 RTOS</td> </tr> </table>
<a name="wasmer"></a>Wasmer <sup>top⇈</sup>
Wasmer is a standalone WebAssembly runtime for running WebAssembly outside of the browser, supporting WASI and Emscripten.
-
Languages written in
<table> <tr> <td>Rust</td> <td>C++</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Singlepass</td> <td>Cranelift (Default)</td> <td>LLVM</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>JIT</td> <td>AOT</td> </tr> </table> -
Interoperability with other languages
<table> <tr> <td>Rust</td> <td>PHP</td> <td>C</td> <td>C++</td> <td>Python</td> <td>Go</td> <td>PHP</td> <td>Java</td> <td>Ruby</td> <td>Postgres</td> <td>C#/.Net</td> <td>Elixir</td> <td>R</td> <td>D</td> <td>Swift</td> </tr> </table> -
Non-MVP features supported
<table> <tr> <td>Threads</td> <td>SIMD</td> <td>Multi Value returns</td> <td>Name Section</td> <td>Bulk Memory Operations</td> <td>Sign Extension Instructions</td> </tr> </table> -
Host APIs supported
<table> <tr> <td>Emscripten</td> <td>WASI</td> </tr> </table> -
Non-web standards
<table> <tr> <td>WASI</td> <td>wasm-c-api</td> </tr> </table> -
Used by
- Spacemesh Virtual Machine - A Spacemesh smart contracts vm
- CosmWasm - A Cosmos-compatible library for running wasm smart contracts
- NEAR Protocol - The reference client for NEAR protocol
- Dprint - Pluggable and configurable code formatting platform
-
Platforms supported
<table> <tr> <td>Linux (x64, aarch64, x86)</td> <td>macOS (x64, arm64)</td> <td>Windows (x64, x86)</td> <td>FreeBSD (x64)</td> <td>Android</td> </tr> </table>
<a name="wasmi"></a>Wasmi <sup>top⇈</sup>
A Wasm interpreter.
-
Languages written in
<table> <tr> <td>Rust</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
<table> <tr> <td>Mutable Globals</td> <td>Sign-extension operators</td> <td>Non-trapping conversions</td> <td>Multi-Value</td> <td>Bulk Memory Operations</td> <td>Reference Types</td> <td>Tail Calls</td> <td>Extended Const</td> </tr> </table> -
Host APIs supported
N/A
-
Non-web standards
<table> <tr> <td>WASI</td> </tr> </table> -
Used by
<table> <tr> <td>Substrate</td> <td>smoldot</td> <td>Ayaka Game Engine</td> </tr> </table> -
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> <td>WebAssembly</td> </tr> </table>
<a name="wasmo"></a>Wasmo <sup>top⇈</sup>
A WebAssembly Runtime and Compiler based on LLVM.
-
Languages written in
<table> <tr> <td>Rust</td> </tr> </table> -
Compiler framework
<table> <tr> <td>LLVM</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>JIT</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>macOS</td> </tr> </table>
<a name="wasmrt"></a>wasmrt <sup>top⇈</sup>
wasmrt is a runtime built for native execution of WebAssembly modules (virtualized at first, eventually JIT).
-
Languages written in
<table> <tr> <td>C++</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="wasmtime"></a>Wasmtime <sup>top⇈</sup>
Wasmtime is a standalone wasm-only runtime for WebAssembly, using the Cranelift JIT
-
Languages written in
<table> <tr> <td>Rust</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Cranelift</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>JIT</td> </tr> </table> -
Interoperability with other languages
<table> <tr> <td>Python</td> </tr> </table> -
Non-MVP features supported
<table> <tr> <td>Interface types</td> </tr> </table> -
Host APIs supported
<table> <tr> <td>WASI</td> </tr> </table> -
Non-web standards
<table> <tr> <td>WASI</td> <td>wasm-c-api</td> </tr> </table> -
Used by
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="wasmvm1"></a>WasmVM <sup>top⇈</sup>
An unofficial standalone WebAssembly process virtual machine
-
Languages written in
<table> <tr> <td>C++</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="wasmvm2"></a>wasmvm <sup>top⇈</sup>
WebAssembly Virtual Machine, which aim to fit embedded systems.
-
Languages written in
<table> <tr> <td>Rust</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Life</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="wavm"></a>WAVM <sup>top⇈</sup>
WebAssembly Virtual Machine, which aim to fit embedded systems.
-
Languages written in
<table> <tr> <td>C++</td> <td>Python</td> </tr> </table> -
Compiler framework
<table> <tr> <td>LLVM</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>JIT</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
<table> <tr> <td>Threads</td> <td>SIMD</td> <td>Multiple Result and Block Parameters</td> <td>Exception Handling</td> <td>Name Section</td> <td>Reference Types</td> <td>Bulk Memory Operations</td> <td>Sign Extension Instructions</td> </tr> </table> -
Host APIs supported
<table> <tr> <td>WASI</td> <td>Emscripten</td> <td>WAVIX</td> </tr> </table> -
Non-web standards
- WASI
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="webassembly"></a>webassembly <sup>top⇈</sup>
An experimental, minimal toolkit and runtime on top of node to produce and run WebAssembly modules
-
Languages written in
<table> <tr> <td>JavaScript</td> </tr> </table> -
Compiler framework
<table> <tr> <td>NodeJS(V8)</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>JIT</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="wamr"></a>WAMR <sup>top⇈</sup>
WebAssembly Micro Runtime (WAMR) is a standalone WebAssembly (WASM) runtime with small footprint
-
Languages written in
<table> <tr> <td>C</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> <td>AOT-Modules</td> <td>JIT</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
-
Host APIs supported
-
Non-web standards
- WASI
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> <td>AliOS-Things</td> <td>Android</td> <td>Linux-SGX</td> <td>Nuttx</td> <td>VxWorks</td> <td>Zephyr</td> </tr> </table>
<a name="twvm"></a>TWVM <sup>top⇈</sup>
A tiny and efficient WebAssembly virtual machine.
-
Languages written in
<table> <tr> <td>C++</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
N/A
-
Host APIs supported
N/A
-
Non-web standards
N/A
-
Used by
N/A
-
Platforms supported
<table> <tr> <td>Linux</td> <td>macOS</td> <td>Windows</td> </tr> </table>
<a name="wizard"></a>Wizard <sup>top⇈</sup>
Wizard is a WebAssembly 1.0 and 2.0 spec-compliant runtime written in Virgil, with zero platform dependencies. It features a fast interpreter, baseline compilation, and advanced dynamic analysis.
-
Languages written in
<table> <tr> <td>Virgil</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> <td>JIT</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
<table> <tr> <td>Bulk Memory Operations</td> <td>Import/Export of Mutable Globals</td> <td>Sign-extension operators</td> <td>Multi-Value Returns</td> <td>Name Section</td> <td>Non-trapping float-to-int conversions</td> <td>Reference Types</td> <td>SIMD</td> <td>Tail-call</td> <td>GC</td> <td>Exception Handling</td> </tr> </table> -
Host APIs supported
<table> <tr> <td>Wave</td> <td>WASI</td> </tr> </table> -
Non-web standards
<table> <tr> <td>WASI</td> </tr> </table> -
Used by
-
Platforms supported
<table> <tr> <td>Linux (amd64, x86)</td> <td>macOs (amd64)</td> <td>Java (java5)</td> <td>Wasm 1.0</td> </tr> </table>
<a name="wazero"></a>wazero <sup>top⇈</sup>
wazero is a WebAssembly 1.0 and 2.0 spec compliant runtime written in Go, with zero platform dependencies.
-
Languages written in
<table> <tr> <td>Go</td> </tr> </table> -
Compiler framework
<table> <tr> <td>Custom</td> </tr> </table> -
Compilation / Execution modes
<table> <tr> <td>Interpreted</td> <td>JIT</td> </tr> </table> -
Interoperability with other languages
N/A
-
Non-MVP features supported
<table> <tr> <td>Bulk Memory Operations</td> <td>Import/Export of Mutable Globals</td> <td>Sign-extension operators</td> <td>Multi-Value Returns</td> <td>Name Section</td> <td>Non-trapping float-to-int conversions</td> <td>Reference Types</td> <td>SIMD</td> </tr> </table> -
Host APIs supported
<table> <tr> <td>AssemblyScript</td> <td>WASI</td> </tr> </table> -
Non-web standards
<table> <tr> <td>WASI</td> </tr> </table> -
Used by
-
Platforms supported
<table> <tr> <td>FreeBSD (amd64)</td> <td>Linux (amd64, arm64, riscv64)</td> <td>macOs (amd64)</td> <td>Windows (amd64)</td> </tr> </table>
License
To the extent possible under law, Steve Akinyemi has waived all copyright and related or neighboring rights to this work.