appcypher/awesome-wasm-runtimes

A list of webassemby runtimes

1,559

109 commits

updated Oct 22, 2024

See the code

README

Awesome WebAssembly Runtimes Awesome

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

πŸš€ - Active development
😴 - Unmaintained (been more than a year since last commit)

CONTENTS


aWsm topβ‡ˆ

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

    RustC
  • Compiler framework

    LLVM
  • Compilation / Execution modes

    AOT
  • Interoperability with other languages

    C
  • Non-MVP features supported

    • N/A
  • Host APIs supported

    • N/A
  • Non-web standards

    • N/A
  • Used by

    • N/A
  • Platforms supported

    LinuxmacOS

Chicory topβ‡ˆ

Chicory is a JVM native WebAssembly runtime. It allows you to run WebAssembly programs with zero native dependencies or JNI.

  • Languages written in

    Java
  • Compiler framework

    JVM
  • Compilation / Execution modes

    InterpreterAOT
  • 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

    Anywhere the JVM runs

CMM of Wasm topβ‡ˆ

A compiler from WebAssembly to native code, via the OCaml backend.

  • Languages written in

    OCaml
  • Compiler framework

    OCaml Compiler
  • Compilation / Execution modes

    AOT
  • 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

    LinuxmacOS

EOSVM topβ‡ˆ

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

    C++
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

Extism topβ‡ˆ

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.

FDVM topβ‡ˆ

WASM runtime to develop server-side WebAssembly applications.

  • Languages written in

    JavaScript
  • Compiler framework

    NodeJS(V8)
  • Compilation / Execution modes

    JIT
  • 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

    LinuxmacOSWindows

Fizzy topβ‡ˆ

Fizzy aims to be a fast, deterministic, and pedantic WebAssembly interpreter written in C++.

  • Languages written in

    C++
  • Compiler framework

    • N/A
  • Compilation / Execution modes

    Interpreter
  • Interoperability with other languages

    • N/A
  • Non-MVP features supported

    • N/A
  • Host APIs supported

    WASI
  • Non-web standards

    WASI
  • Used by

    • N/A
  • Platforms supported

    LinuxmacOS

GraalWasm topβ‡ˆ

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

    Java
  • Compiler framework

    GraalVM
  • Compilation / Execution modes

    JIT
  • Interoperability with other languages

    JavaJVMGraal supported languages
  • Non-MVP features supported

  • Host APIs supported

    WASI
  • Non-web standards

    WASI
  • Used by

    • GraalVM JavaScript - A high performance implementation of the JavaScript programming language.
  • Platforms supported

    LinuxmacOSWindows

Happy New Moon With Report topβ‡ˆ

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

    Java
  • Compiler framework

    • N/A
  • Compilation / Execution modes

    Interpreted
  • Interoperability with other languages

    JavaJVM languages
  • Non-MVP features supported

    Sign Extensions
  • Host APIs supported

    • N/A
  • Used by

    • N/A
  • Platforms supported

    JVMLinuxmacOSWindows

inNative topβ‡ˆ

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

    C++
  • Compiler framework

    LLVM
  • Compilation / Execution modes

    AOTJIT
  • Interoperability with other languages

    • N/A
  • Non-MVP features supported

    ThreadsMultiple Result and Block ParametersName SectionBulk Memory OperationsSign Extension InstructionsNon-trapping Conversion Instructions
  • Host APIs supported

    Custom
  • Non-web standards

    • N/A
  • Used by

    • N/A
  • Platforms supported

    LinuxmacOSWindows

Life topβ‡ˆ

Life is a secure & fast WebAssembly VM built for decentralized applications, written in Go by Perlin Network.

  • Languages written in

    Go
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

Lucet topβ‡ˆ

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

    Rust
  • Compiler framework

    Cranelift
  • Compilation / Execution modes

    AOT
  • Interoperability with other languages

    • N/A
  • Non-MVP features supported

    • N/A
  • Host APIs supported

    WASI
  • Non-web standards

    WASI
  • Used by

    • N/A
  • Platforms supported

    Linux

Wasm3 topβ‡ˆ

πŸš€ A high performance WebAssembly interpreter

  • Languages written in

    C
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • Interoperability with other languages

    PythonC/C++RustGoZigSwiftC#/.Net
  • Non-MVP features supported

    Multi-ValueBulk Memory OperationsSign-extension operatorsNon-trapping conversionsName Section
  • Host APIs supported

    WASICustom
  • Non-web standards

    WASIGas Metering
  • Used by

    • wasmcloud - A platform for writing portable business logic
    • Shareup - Fast, private sharing for everyone
    • WowCube - An nnovative console and the gaming platform
    • txiki.js -A small and powerful JavaScript runtime
  • Platforms supported

    WindowsLinux
    (any arch)
    macOS
    (any arch)
    FreeBSD
    (any arch)
    AndroidOpenWRTSBC/MCUArduino

Motor topβ‡ˆ

Motor is a WebAssembly runtime, which aims for secure and efficient execution of WebAssembly programs

  • Languages written in

    Rust
  • Compiler framework

    Dynasm
  • Compilation / Execution modes

    JIT
  • 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

    LinuxmacOS

py-wasm topβ‡ˆ

A python implementation of the WebAssembly interpreter

  • Languages written in

    Python
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

Serverless wasm topβ‡ˆ

A small demo of Web Assembly's potential outside of browsers

  • Languages written in

    Rust
  • Compiler framework

    WasmiCranelift
  • Compilation / Execution modes

    InterpretedJIT
  • 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

    LinuxmacOSWindows

Swam topβ‡ˆ

WebAssembly engine in Scala

  • Languages written in

    Scala
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

VMIR topβ‡ˆ

VMIR is a standalone library written in C that can parse and execute WebAssembly and LLVM Bitcode files

  • Languages written in

    C
  • Compiler framework

    LLVM
  • Compilation / Execution modes

    InterpretedJIT
  • 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

    LinuxmacOSWindows

wac topβ‡ˆ

A Minimal WebAssembly interpreter written in C.

  • Languages written in

    C
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

wagon topβ‡ˆ

Wagon is a WebAssembly-based interpreter in Go, for Go.

  • Languages written in

    Go
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

WAKit topβ‡ˆ

A WebAssembly runtime written in Swift.

  • Languages written in

    Swift
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOS

Warpy topβ‡ˆ

WebAssembly interpreter in RPython.

  • Languages written in

    RPython
  • Compiler framework

    RPython
  • Compilation / Execution modes

    JIT
  • 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

    LinuxmacOSWindows

WasmEdge topβ‡ˆ

A lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. Project under CNCF.

  • Languages written in

    C++
  • Compiler framework

    LLVM
  • Compilation / Execution modes

    InterpreterAOT
  • Interoperability with other languages

    SolidityRustC/C++Go/TinyGoJavaScriptPythonGrainSwiftZigRuby
  • Non-MVP features supported

    Bulk Memory OperationsSIMDMulti-MemoryMulti-ValueReference TypesSign Extension InstructionsNon-Trapping Float-to-Int ConversionsMutable Global
  • Host APIs supported

    WASINetworking SocketTensorFlowCommand InterfaceImage Processing
  • Non-web standards

    WASIGas MeteringEthereum Environment InterfaceOasisSubstrate
  • Used by

  • Platforms supported

    LinuxmacOSWindowsAndroidOpenHarmonyseL4 RTOS

Wasmer topβ‡ˆ

Wasmer is a standalone WebAssembly runtime for running WebAssembly outside of the browser, supporting WASI and Emscripten.

  • Languages written in

    RustC++
  • Compiler framework

    SinglepassCranelift (Default)LLVM
  • Compilation / Execution modes

    JITAOT
  • Interoperability with other languages

    RustPHPCC++PythonGoPHPJavaRubyPostgresC#/.NetElixirRDSwift
  • Non-MVP features supported

    ThreadsSIMDMulti Value returnsName SectionBulk Memory OperationsSign Extension Instructions
  • Host APIs supported

    EmscriptenWASI
  • Non-web standards

    WASIwasm-c-api
  • Used by

  • Platforms supported

    Linux (x64, aarch64, x86)macOS (x64, arm64)Windows (x64, x86)FreeBSD (x64)Android

Wasmi topβ‡ˆ

A Wasm interpreter.

  • Languages written in

    Rust
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • Interoperability with other languages

    • N/A
  • Non-MVP features supported

    Mutable GlobalsSign-extension operatorsNon-trapping conversionsMulti-ValueBulk Memory OperationsReference TypesTail CallsExtended Const
  • Host APIs supported

    • N/A
  • Non-web standards

    WASI
  • Used by

    SubstratesmoldotAyaka Game Engine
  • Platforms supported

    LinuxmacOSWindowsWebAssembly

Wasmo topβ‡ˆ

A WebAssembly Runtime and Compiler based on LLVM.

  • Languages written in

    Rust
  • Compiler framework

    LLVM
  • Compilation / Execution modes

    JIT
  • 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

    macOS

wasmrt topβ‡ˆ

wasmrt is a runtime built for native execution of WebAssembly modules (virtualized at first, eventually JIT).

  • Languages written in

    C++
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

Wasmtime topβ‡ˆ

Wasmtime is a standalone wasm-only runtime for WebAssembly, using the Cranelift JIT

  • Languages written in

    Rust
  • Compiler framework

    Cranelift
  • Compilation / Execution modes

    JIT
  • Interoperability with other languages

    Python
  • Non-MVP features supported

    Interface types
  • Host APIs supported

    WASI
  • Non-web standards

    WASIwasm-c-api
  • Used by

    • Wasmi: an efficient WebAssembly interpreter that is used by Substrate, a next-generation framework for blockchain innovation.
  • Platforms supported

    LinuxmacOSWindows

WasmVM topβ‡ˆ

An unofficial standalone WebAssembly process virtual machine

  • Languages written in

    C++
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

wasmvm topβ‡ˆ

WebAssembly Virtual Machine, which aim to fit embedded systems.

  • Languages written in

    Rust
  • Compiler framework

    Life
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

WAVM topβ‡ˆ

WebAssembly Virtual Machine, which aim to fit embedded systems.

  • Languages written in

    C++Python
  • Compiler framework

    LLVM
  • Compilation / Execution modes

    JIT
  • Interoperability with other languages

    • N/A
  • Non-MVP features supported

    ThreadsSIMDMultiple Result and Block ParametersException HandlingName SectionReference TypesBulk Memory OperationsSign Extension Instructions
  • Host APIs supported

    WASIEmscriptenWAVIX
  • Non-web standards

    • WASI
  • Used by

    • N/A
  • Platforms supported

    LinuxmacOSWindows

webassembly topβ‡ˆ

An experimental, minimal toolkit and runtime on top of node to produce and run WebAssembly modules

  • Languages written in

    JavaScript
  • Compiler framework

    NodeJS(V8)
  • Compilation / Execution modes

    JIT
  • 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

    LinuxmacOSWindows

WAMR topβ‡ˆ

WebAssembly Micro Runtime (WAMR) is a standalone WebAssembly (WASM) runtime with small footprint

TWVM topβ‡ˆ

A tiny and efficient WebAssembly virtual machine.

  • Languages written in

    C++
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

Wizard topβ‡ˆ

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

    Virgil
  • Compiler framework

    Custom
  • Compilation / Execution modes

    InterpretedJIT
  • Interoperability with other languages

    • N/A
  • Non-MVP features supported

    Bulk Memory OperationsImport/Export of Mutable GlobalsSign-extension operatorsMulti-Value ReturnsName SectionNon-trapping float-to-int conversionsReference TypesSIMDTail-callGCException Handling
  • Host APIs supported

    WaveWASI
  • Non-web standards

    WASI
  • Used by

  • Platforms supported

    Linux (amd64, x86)macOs (amd64)Java (java5)Wasm 1.0

wazero topβ‡ˆ

wazero is a WebAssembly 1.0 and 2.0 spec compliant runtime written in Go, with zero platform dependencies.

  • Languages written in

    Go
  • Compiler framework

    Custom
  • Compilation / Execution modes

    InterpretedJIT
  • Interoperability with other languages

    • N/A
  • Non-MVP features supported

    Bulk Memory OperationsImport/Export of Mutable GlobalsSign-extension operatorsMulti-Value ReturnsName SectionNon-trapping float-to-int conversionsReference TypesSIMD
  • Host APIs supported

    AssemblyScriptWASI
  • Non-web standards

    WASI
  • Used by

    • dapr - APIs that simplify microservice connectivity
    • trivy - vulnerability/misconfiguration/secret scanner for containers and other artifacts
    • wapc-go - WebAssembly Host Runtime for waPC-compliant modules
  • Platforms supported

    FreeBSD (amd64)Linux (amd64, arm64, riscv64)macOs (amd64)Windows (amd64)

License

CC0

To the extent possible under law, Steve Akinyemi has waived all copyright and related or neighboring rights to this work.

cranelift
engine
javascript
rust
virtual-machine
vm
wasm
wasm-runtime
webassembly

appcypher/awesome-wasm-runtimes

A list of webassemby runtimes

1,559

109 commits

updated Oct 22, 2024

See the code

README

Awesome WebAssembly Runtimes Awesome

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

πŸš€ - Active development
😴 - Unmaintained (been more than a year since last commit)

CONTENTS


aWsm topβ‡ˆ

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

    RustC
  • Compiler framework

    LLVM
  • Compilation / Execution modes

    AOT
  • Interoperability with other languages

    C
  • Non-MVP features supported

    • N/A
  • Host APIs supported

    • N/A
  • Non-web standards

    • N/A
  • Used by

    • N/A
  • Platforms supported

    LinuxmacOS

Chicory topβ‡ˆ

Chicory is a JVM native WebAssembly runtime. It allows you to run WebAssembly programs with zero native dependencies or JNI.

  • Languages written in

    Java
  • Compiler framework

    JVM
  • Compilation / Execution modes

    InterpreterAOT
  • 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

    Anywhere the JVM runs

CMM of Wasm topβ‡ˆ

A compiler from WebAssembly to native code, via the OCaml backend.

  • Languages written in

    OCaml
  • Compiler framework

    OCaml Compiler
  • Compilation / Execution modes

    AOT
  • 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

    LinuxmacOS

EOSVM topβ‡ˆ

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

    C++
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

Extism topβ‡ˆ

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.

FDVM topβ‡ˆ

WASM runtime to develop server-side WebAssembly applications.

  • Languages written in

    JavaScript
  • Compiler framework

    NodeJS(V8)
  • Compilation / Execution modes

    JIT
  • 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

    LinuxmacOSWindows

Fizzy topβ‡ˆ

Fizzy aims to be a fast, deterministic, and pedantic WebAssembly interpreter written in C++.

  • Languages written in

    C++
  • Compiler framework

    • N/A
  • Compilation / Execution modes

    Interpreter
  • Interoperability with other languages

    • N/A
  • Non-MVP features supported

    • N/A
  • Host APIs supported

    WASI
  • Non-web standards

    WASI
  • Used by

    • N/A
  • Platforms supported

    LinuxmacOS

GraalWasm topβ‡ˆ

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

    Java
  • Compiler framework

    GraalVM
  • Compilation / Execution modes

    JIT
  • Interoperability with other languages

    JavaJVMGraal supported languages
  • Non-MVP features supported

  • Host APIs supported

    WASI
  • Non-web standards

    WASI
  • Used by

    • GraalVM JavaScript - A high performance implementation of the JavaScript programming language.
  • Platforms supported

    LinuxmacOSWindows

Happy New Moon With Report topβ‡ˆ

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

    Java
  • Compiler framework

    • N/A
  • Compilation / Execution modes

    Interpreted
  • Interoperability with other languages

    JavaJVM languages
  • Non-MVP features supported

    Sign Extensions
  • Host APIs supported

    • N/A
  • Used by

    • N/A
  • Platforms supported

    JVMLinuxmacOSWindows

inNative topβ‡ˆ

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

    C++
  • Compiler framework

    LLVM
  • Compilation / Execution modes

    AOTJIT
  • Interoperability with other languages

    • N/A
  • Non-MVP features supported

    ThreadsMultiple Result and Block ParametersName SectionBulk Memory OperationsSign Extension InstructionsNon-trapping Conversion Instructions
  • Host APIs supported

    Custom
  • Non-web standards

    • N/A
  • Used by

    • N/A
  • Platforms supported

    LinuxmacOSWindows

Life topβ‡ˆ

Life is a secure & fast WebAssembly VM built for decentralized applications, written in Go by Perlin Network.

  • Languages written in

    Go
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

Lucet topβ‡ˆ

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

    Rust
  • Compiler framework

    Cranelift
  • Compilation / Execution modes

    AOT
  • Interoperability with other languages

    • N/A
  • Non-MVP features supported

    • N/A
  • Host APIs supported

    WASI
  • Non-web standards

    WASI
  • Used by

    • N/A
  • Platforms supported

    Linux

Wasm3 topβ‡ˆ

πŸš€ A high performance WebAssembly interpreter

  • Languages written in

    C
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • Interoperability with other languages

    PythonC/C++RustGoZigSwiftC#/.Net
  • Non-MVP features supported

    Multi-ValueBulk Memory OperationsSign-extension operatorsNon-trapping conversionsName Section
  • Host APIs supported

    WASICustom
  • Non-web standards

    WASIGas Metering
  • Used by

    • wasmcloud - A platform for writing portable business logic
    • Shareup - Fast, private sharing for everyone
    • WowCube - An nnovative console and the gaming platform
    • txiki.js -A small and powerful JavaScript runtime
  • Platforms supported

    WindowsLinux
    (any arch)
    macOS
    (any arch)
    FreeBSD
    (any arch)
    AndroidOpenWRTSBC/MCUArduino

Motor topβ‡ˆ

Motor is a WebAssembly runtime, which aims for secure and efficient execution of WebAssembly programs

  • Languages written in

    Rust
  • Compiler framework

    Dynasm
  • Compilation / Execution modes

    JIT
  • 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

    LinuxmacOS

py-wasm topβ‡ˆ

A python implementation of the WebAssembly interpreter

  • Languages written in

    Python
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

Serverless wasm topβ‡ˆ

A small demo of Web Assembly's potential outside of browsers

  • Languages written in

    Rust
  • Compiler framework

    WasmiCranelift
  • Compilation / Execution modes

    InterpretedJIT
  • 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

    LinuxmacOSWindows

Swam topβ‡ˆ

WebAssembly engine in Scala

  • Languages written in

    Scala
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

VMIR topβ‡ˆ

VMIR is a standalone library written in C that can parse and execute WebAssembly and LLVM Bitcode files

  • Languages written in

    C
  • Compiler framework

    LLVM
  • Compilation / Execution modes

    InterpretedJIT
  • 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

    LinuxmacOSWindows

wac topβ‡ˆ

A Minimal WebAssembly interpreter written in C.

  • Languages written in

    C
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

wagon topβ‡ˆ

Wagon is a WebAssembly-based interpreter in Go, for Go.

  • Languages written in

    Go
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

WAKit topβ‡ˆ

A WebAssembly runtime written in Swift.

  • Languages written in

    Swift
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOS

Warpy topβ‡ˆ

WebAssembly interpreter in RPython.

  • Languages written in

    RPython
  • Compiler framework

    RPython
  • Compilation / Execution modes

    JIT
  • 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

    LinuxmacOSWindows

WasmEdge topβ‡ˆ

A lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. Project under CNCF.

  • Languages written in

    C++
  • Compiler framework

    LLVM
  • Compilation / Execution modes

    InterpreterAOT
  • Interoperability with other languages

    SolidityRustC/C++Go/TinyGoJavaScriptPythonGrainSwiftZigRuby
  • Non-MVP features supported

    Bulk Memory OperationsSIMDMulti-MemoryMulti-ValueReference TypesSign Extension InstructionsNon-Trapping Float-to-Int ConversionsMutable Global
  • Host APIs supported

    WASINetworking SocketTensorFlowCommand InterfaceImage Processing
  • Non-web standards

    WASIGas MeteringEthereum Environment InterfaceOasisSubstrate
  • Used by

  • Platforms supported

    LinuxmacOSWindowsAndroidOpenHarmonyseL4 RTOS

Wasmer topβ‡ˆ

Wasmer is a standalone WebAssembly runtime for running WebAssembly outside of the browser, supporting WASI and Emscripten.

  • Languages written in

    RustC++
  • Compiler framework

    SinglepassCranelift (Default)LLVM
  • Compilation / Execution modes

    JITAOT
  • Interoperability with other languages

    RustPHPCC++PythonGoPHPJavaRubyPostgresC#/.NetElixirRDSwift
  • Non-MVP features supported

    ThreadsSIMDMulti Value returnsName SectionBulk Memory OperationsSign Extension Instructions
  • Host APIs supported

    EmscriptenWASI
  • Non-web standards

    WASIwasm-c-api
  • Used by

  • Platforms supported

    Linux (x64, aarch64, x86)macOS (x64, arm64)Windows (x64, x86)FreeBSD (x64)Android

Wasmi topβ‡ˆ

A Wasm interpreter.

  • Languages written in

    Rust
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • Interoperability with other languages

    • N/A
  • Non-MVP features supported

    Mutable GlobalsSign-extension operatorsNon-trapping conversionsMulti-ValueBulk Memory OperationsReference TypesTail CallsExtended Const
  • Host APIs supported

    • N/A
  • Non-web standards

    WASI
  • Used by

    SubstratesmoldotAyaka Game Engine
  • Platforms supported

    LinuxmacOSWindowsWebAssembly

Wasmo topβ‡ˆ

A WebAssembly Runtime and Compiler based on LLVM.

  • Languages written in

    Rust
  • Compiler framework

    LLVM
  • Compilation / Execution modes

    JIT
  • 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

    macOS

wasmrt topβ‡ˆ

wasmrt is a runtime built for native execution of WebAssembly modules (virtualized at first, eventually JIT).

  • Languages written in

    C++
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

Wasmtime topβ‡ˆ

Wasmtime is a standalone wasm-only runtime for WebAssembly, using the Cranelift JIT

  • Languages written in

    Rust
  • Compiler framework

    Cranelift
  • Compilation / Execution modes

    JIT
  • Interoperability with other languages

    Python
  • Non-MVP features supported

    Interface types
  • Host APIs supported

    WASI
  • Non-web standards

    WASIwasm-c-api
  • Used by

    • Wasmi: an efficient WebAssembly interpreter that is used by Substrate, a next-generation framework for blockchain innovation.
  • Platforms supported

    LinuxmacOSWindows

WasmVM topβ‡ˆ

An unofficial standalone WebAssembly process virtual machine

  • Languages written in

    C++
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

wasmvm topβ‡ˆ

WebAssembly Virtual Machine, which aim to fit embedded systems.

  • Languages written in

    Rust
  • Compiler framework

    Life
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

WAVM topβ‡ˆ

WebAssembly Virtual Machine, which aim to fit embedded systems.

  • Languages written in

    C++Python
  • Compiler framework

    LLVM
  • Compilation / Execution modes

    JIT
  • Interoperability with other languages

    • N/A
  • Non-MVP features supported

    ThreadsSIMDMultiple Result and Block ParametersException HandlingName SectionReference TypesBulk Memory OperationsSign Extension Instructions
  • Host APIs supported

    WASIEmscriptenWAVIX
  • Non-web standards

    • WASI
  • Used by

    • N/A
  • Platforms supported

    LinuxmacOSWindows

webassembly topβ‡ˆ

An experimental, minimal toolkit and runtime on top of node to produce and run WebAssembly modules

  • Languages written in

    JavaScript
  • Compiler framework

    NodeJS(V8)
  • Compilation / Execution modes

    JIT
  • 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

    LinuxmacOSWindows

WAMR topβ‡ˆ

WebAssembly Micro Runtime (WAMR) is a standalone WebAssembly (WASM) runtime with small footprint

TWVM topβ‡ˆ

A tiny and efficient WebAssembly virtual machine.

  • Languages written in

    C++
  • Compiler framework

    Custom
  • Compilation / Execution modes

    Interpreted
  • 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

    LinuxmacOSWindows

Wizard topβ‡ˆ

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

    Virgil
  • Compiler framework

    Custom
  • Compilation / Execution modes

    InterpretedJIT
  • Interoperability with other languages

    • N/A
  • Non-MVP features supported

    Bulk Memory OperationsImport/Export of Mutable GlobalsSign-extension operatorsMulti-Value ReturnsName SectionNon-trapping float-to-int conversionsReference TypesSIMDTail-callGCException Handling
  • Host APIs supported

    WaveWASI
  • Non-web standards

    WASI
  • Used by

  • Platforms supported

    Linux (amd64, x86)macOs (amd64)Java (java5)Wasm 1.0

wazero topβ‡ˆ

wazero is a WebAssembly 1.0 and 2.0 spec compliant runtime written in Go, with zero platform dependencies.

  • Languages written in

    Go
  • Compiler framework

    Custom
  • Compilation / Execution modes

    InterpretedJIT
  • Interoperability with other languages

    • N/A
  • Non-MVP features supported

    Bulk Memory OperationsImport/Export of Mutable GlobalsSign-extension operatorsMulti-Value ReturnsName SectionNon-trapping float-to-int conversionsReference TypesSIMD
  • Host APIs supported

    AssemblyScriptWASI
  • Non-web standards

    WASI
  • Used by

    • dapr - APIs that simplify microservice connectivity
    • trivy - vulnerability/misconfiguration/secret scanner for containers and other artifacts
    • wapc-go - WebAssembly Host Runtime for waPC-compliant modules
  • Platforms supported

    FreeBSD (amd64)Linux (amd64, arm64, riscv64)macOs (amd64)Windows (amd64)

License

CC0

To the extent possible under law, Steve Akinyemi has waived all copyright and related or neighboring rights to this work.

cranelift
engine
javascript
rust
virtual-machine
vm
wasm
wasm-runtime
webassembly

Significant stargazers

(top 24 of 40)

Nick Sweeting

2,241 followers Β· starred May 2026

Rob Loach

570 followers Β· starred Jun 2022

Pig Fang

514 followers Β· starred Nov 2022

Kye Gomez

3,540 followers Β· starred Sep 2025