awesome-wasm-langs
WebAssembly languages
A curated list of programming languages that compile to or run on WebAssembly
😎 A curated list of languages that compile directly to or have their VMs in WebAssembly
4k stars
112 watching
199 forks
last commit: about 2 months ago
Linked from 3 awesome lists
asmjsastroccppcsharpjavajavascriptlanguageprogramming-languagetypescriptwasmwebwebassembly
Awesome WebAssembly Languages / Contents / .Net top⇈ | |||
Mono | 11,160 | 5 months ago | an open source implementation of Microsoft's .NET Framework based on the ECMA standards for C# and the Common Language Runtime. For a real-work example, see this repository which contains the . The application is built using standard C++ 11 and C++/CX, with a calculation engine that dates back from 1995. Made by possible with mono via |
Blazor | a web UI framework using C#/Razor and HTML, running client-side via WebAssembly. Source is maintained on repo | ||
Bolero | Bolero brings Blazor to F# developers with an easy to use Model-View-Update architecture, HTML combinators, hot reloaded templates, type-safe endpoints, advanced routing and remoting capabilities, and more | ||
NativeAOT-LLVM | 1,445 | about 1 month ago | an experimental fork of the CoreCLR .NET runtime that compiles .NET applications into single-file executables, with the primary target being WASM |
Awesome WebAssembly Languages / Contents / Ada top⇈ | |||
adawebpack | 53 | 3 months ago | GNAT-LLVM compiler for WebAssembly target, GNAT Run Time Library and AdaWebPack bindings for Web API |
adagl | 10 | almost 4 years ago | Multiplatform Ada/OpenGL bindings (ported to native/OpenGL, A2JS/WebGL and WASM/WebGL) |
adawebui | 1 | over 2 years ago | GUI based on adawebpack.\ |
Awesome WebAssembly Languages / Contents / AssemblyScript top⇈ | |||
AssemblyScript | 16,993 | about 1 month ago | main repository |
Awesome WebAssembly Languages / Contents / Ballerina top⇈ | |||
Main repository | 137 | 3 months ago | Ballerina-to-wasm compiler |
Awesome WebAssembly Languages / Contents / BASIC top⇈ | |||
basic_rs | 38 | about 6 years ago | a BASIC Interpreter/Compiler for the Original Dartmouth Version written in Rust. Also provides tool which compiles BASIC to WebAssembly using binaryen |
basicwasm | 8 | 2 months ago | a GWBasic interpreter compiled to WASM with a Web UI |
EndBASIC | 320 | about 1 month ago | BASIC environment with a REPL, a web interface, a graphical console, and RPi support written in Rust. You can try it out |
gobasic | 331 | 11 months ago | a BASIC interpreter written in Golang |
Awesome WebAssembly Languages / Contents / Brainfuck top⇈ | |||
BrainfuckWebassembly | 22 | over 7 years ago | a simple Brainfuck-to-wasm compiler in one function |
Brainfuck2Wasm | 45 | almost 3 years ago | a Brainfuck-to-wasm compiler and playground |
BrainfuckRsWasm | 10 | about 7 years ago | a Brainfuck interpreter written in Rust and compiled to WebAssembly |
Brainfuck Wa-lang | 1,313 | about 1 month ago | a Brainfuck interpreter written in and compiled to WebAssembly |
bfwasm | 25 | over 5 years ago | A non-optimizing Brainf_ck to WebAssembly compiler with WASI support |
Awesome WebAssembly Languages / Contents / C top⇈ | |||
Emscripten | 25,944 | about 1 month ago | an LLVM-to-JavaScript/Webassembly compiler. It takes LLVM bitcode - which can be generated from C/C++, using llvm-gcc (DragonEgg) or clang, or any other language that can be converted into LLVM - and compiles that into JavaScript or wasm |
Cheerp | 1,065 | 8 months ago | an open-source, enterprise-grade C/C++ compiler for Web applications. Cheerp can compile virtually any C/C++ code to WebAssembly and/or JavaScript |
Awesome WebAssembly Languages / Contents / c4wa top⇈ | |||
c4wa | 24 | almost 3 years ago | main repository |
Awesome WebAssembly Languages / Contents / Clean top⇈ | |||
ABC interpreter | interpreter for Clean's intermediate language ABC, with a WebAssembly version | ||
iTasks | integration of the above ABC interpreter with browser applications | ||
Awesome WebAssembly Languages / Contents / Co top⇈ | |||
Co | 151 | almost 5 years ago | main repository |
Awesome WebAssembly Languages / Contents / COBOL top⇈ | |||
Cobaul | 357 | 3 months ago | toolchain used to |
Awesome WebAssembly Languages / Contents / Crystal top⇈ | |||
Crystal | 19,526 | about 1 month ago | main repository |
POC PR | 19,526 | about 1 month ago | PR adding initial support for WebAssembly |
Awesome WebAssembly Languages / Contents / Cyber top⇈ | |||
Cyber | 1,239 | about 1 month ago | project repository |
Awesome WebAssembly Languages / Contents / D top⇈ | |||
LDC | 1,221 | about 1 month ago | LLVM-based D compiler, which can generate WASM since version 1.11.0 |
Awesome WebAssembly Languages / Contents / Dart top⇈ | |||
sdk | 10,336 | about 1 month ago | The Dart SDK, including the VM, dart2js, core libraries, and more |
language | 2,685 | about 1 month ago | Design of the Dart language |
Use via Flutter | How to compile Dart to WebAssembly for a Flutter Web application | ||
Awesome WebAssembly Languages / Contents / Eclair top⇈ | |||
eclair-lang | 220 | 12 months ago | The Eclair compiler, which can compile Eclair code to LLVM IR and WASM |
Awesome WebAssembly Languages / Contents / Eel top⇈ | |||
eel-wasm | 48 | over 3 years ago | Compiles Milkdrop flavored Eel to Wasm in the browser. Intended to become a component of , a WebGL implementation of the Milkdrop Visualizer |
Awesome WebAssembly Languages / Contents / Elixir top⇈ | |||
Lumen | 3,601 | about 1 year ago | An alternative BEAM implementation (with AOT compiler) designed for WebAssembly |
Awesome WebAssembly Languages / Contents / Faust top⇈ | |||
Faust | 2,605 | about 1 month ago | main repository |
Awesome WebAssembly Languages / Contents / Forest top⇈ | |||
ForestLang | 621 | over 3 years ago | main repository |
Awesome WebAssembly Languages / Contents / Forth top⇈ | |||
WASM Forth | 144 | over 5 years ago | Forth implementation for wasm |
WAForth | 500 | 4 months ago | Bootstrapping Dynamic Forth Interpreter/Compiler for & in WebAssembly |
Awesome WebAssembly Languages / Contents / Go top⇈ | |||
Go | 124,564 | about 1 month ago | main repository |
TinyGo | 15,577 | about 1 month ago | a subset of Go targeted to embedded devices and WebAssembly |
Awesome WebAssembly Languages / Contents / Grain top⇈ | |||
Grain | 3,289 | about 1 month ago | main repository |
GrainWeb | Web page | ||
Awesome WebAssembly Languages / Contents / Haskell top⇈ | |||
Asterius | 1,972 | about 2 years ago | a Haskell to WebAssembly compiler |
DHC | 166 | almost 6 years ago | a Haskell compiler that accepts only a tiny subset of the language and produces WebAssembly binaries |
haskell-wasm | 151 | 8 months ago | Haskell WebAssembly Toolkit. It includes Language helpers and a fully spec-compatible WASM interpreter |
wasm-cross | 141 | over 4 years ago | A toolchain for cross compiling C and Haskell to WebAssembly, using the WebGHC and LLVM |
Awesome WebAssembly Languages / Contents / Janet top⇈ | |||
Janet | 3,598 | about 1 month ago | main repository. You can try it out |
Awesome WebAssembly Languages / Contents / Java top⇈ | |||
TeaVM | 2,666 | about 1 month ago | an ahead-of-time translating compiler (transpiler) of Java bytecode, that's capable of emitting JavaScript and WebAssembly |
JWebAssembly | 1,003 | over 1 year ago | A Java bytecode to WebAssembly compiler. It can generate the WebAssembly binary or text format. It is written in Java itself and can be integrated with other Java build tools |
Bytecoder | 903 | about 2 months ago | A Rich Domain Model for Java Bytecode and Framework to interpret and transpile it to other languages such as JavaScript, OpenCL or WebAssembly |
CheerpJ | 490 | 2 months ago | A Java compiler for the web that converts any Java client application into standard HTML5/WebAssembly/JavaScript |
Rise JVM | 10 | over 2 years ago | Rise JVM is a minimal Java VM based on WASM. You can try it out |
Awesome WebAssembly Languages / Contents / JavaScript top⇈ | |||
Duktape | 5,971 | 10 months ago | an embeddable Javascript engine, with a focus on portability and compact footprint that's capable of being run in the browser via WebAssembly |
Javy | 2,312 | about 1 month ago | a JavaScript to WebAssembly toolchain, capable of generating WASI-compatible modules from JS by embedding the QuickJS engine |
SpiderMonkey | 90 | about 2 years ago | experimental Rust bindings and generic builtins for SpiderMonkey for building WASI-compatible modules from JavaScript |
quickjs-emscripten | 1,334 | 4 months ago | Safely execute untrusted Javascript in your JS/TS, and execute synchronous code that uses async functions |
wasmedge-quickjs | 498 | 3 months ago | A high-performance, secure, extensible, and OCI-complaint JavaScript runtime for WasmEdge. Features TCP/UDP support via WasmEdge Sockets |
Boa | 5,220 | about 1 month ago | an embeddable and experimental Javascript engine written in Rust. You can try it out |
goja | 5,690 | 3 months ago | an implementation of ECMAScript 5.1 in pure Go with emphasis on standard compliance and performance |
otto | 8,156 | 2 months ago | a JavaScript parser and interpreter written natively in Go |
Awesome WebAssembly Languages / Contents / Julia top⇈ | |||
julia-wasm | 336 | about 3 years ago | Emscripten & LLVM Julia to WASM compiler |
WebAssemblyCompiler.jl | Julia to Wasm GC compiler via Binaryen | ||
Awesome WebAssembly Languages / Contents / KCL top⇈ | |||
KCLVM | 1,732 | about 1 month ago | LLVM-based KCL compiler, which can generate WASM |
Awesome WebAssembly Languages / Contents / Kotlin top⇈ | |||
Kotlin/Wasm (Kotlin WebAssembly) | |||
Kotlin/Wasm examples | 532 | 5 months ago | |
Awesome WebAssembly Languages / Contents / Kou top⇈ | |||
Kou | 134 | over 5 years ago | main repository |
Awesome WebAssembly Languages / Contents / LabVIEW top⇈ | |||
G Web Development Software | A standalone development environment implementing a subset of the G dataflow graphical programming language to create web-based user interfaces for test and measurement applications | ||
Vireo | 48 | 6 months ago | An open-source runtime capable of running the virtual instrument assembly representation of the G dataflow graphical programming language created by G Web Development Software |
Awesome WebAssembly Languages / Contents / Lisp top⇈ | |||
Femto Emacs | 33 | over 1 year ago | translates Low Level Lisp into WebAssembly |
Wisp | 245 | 5 months ago | Wisp is a Lisp system for WebAssembly and native execution |
Awesome WebAssembly Languages / Contents / Lobster top⇈ | |||
Lobster home | |||
Lobster docs | |||
Lobster github | 2,309 | about 1 month ago | |
Compile to Wasm | how to compile | ||
Wasm backend details | how it is implemented, useful for other language implementors | ||
Awesome WebAssembly Languages / Contents / Lox top⇈ | |||
loxcraft | 279 | 4 months ago | uses WebAssembly for its |
Awesome WebAssembly Languages / Contents / Lua top⇈ | |||
WasmLua | 795 | about 1 year ago | a Lua VM running in the browser |
Luwa | 95 | almost 6 years ago | a Lua-to-wasm JIT compiler |
Wasmoon | 498 | 6 months ago | a high level Lua VM with JS bindings |
Wasm2Lua | 194 | about 3 years ago | can compile WebAssembly modules to pure Lua (or with FFI LuaJIT for extra speed) |
DCLua | 920 | almost 3 years ago | a Lua 5.3 VM and compiler written in Go. It's intended to allow easy embedding into Go programs, with minimal fuss and bother |
erdian718/lua | 25 | over 1 year ago | (aka ofunc/lua) - a fork of DCLua, featuring IO capabilities, HTTP client, IoC, and more |
GopherLua | 6,322 | 2 months ago | a Lua5.1(+ goto statement in Lua5.2) VM and compiler written in Go. It provides Go APIs that allow you to easily embed a scripting language to your Go host programs |
Pluto | 395 | about 1 month ago | a superset of Lua 5.4 with a focus on general-purpose programming. You can try it out |
PlutoScript | 4 | 3 months ago | Pluto's extension aimed for web scripting. Provides JS interop and ability to use Pluto anywhere JavaScript works |
Awesome WebAssembly Languages / Contents / Lys top⇈ | |||
Lys | 419 | 4 months ago | main repository |
Awesome WebAssembly Languages / Contents / MoonBit top⇈ | |||
MoonBit | main website. You can try the language out | ||
Core library | 651 | about 1 month ago | open-sourced standard library. Compiler source code is not available yet |
Awesome WebAssembly Languages / Contents / Nelua top⇈ | |||
Nelua | 2,094 | about 1 month ago | project repository |
Nelua on the Web | 2,094 | about 1 month ago | Nelua-wasm discussion |
Awesome WebAssembly Languages / Contents / Nerd top⇈ | |||
Nerd | 3,585 | almost 2 years ago | main repository |
Awesome WebAssembly Languages / Contents / Never top⇈ | |||
Never | 436 | 8 months ago | project repository |
Never on the Web | Never language demo | ||
Awesome WebAssembly Languages / Contents / Nim top⇈ | |||
nlvm | 711 | about 2 months ago | LLVM-based compiler for Nim with a WebAssembly target supported out of the box |
nwasm | 48 | over 4 years ago | a webassembly backend for nim |
Nim wasm helpers | 28 | almost 6 years ago | a helper to set up a VM configured to build WebAssembly code using Nim |
Awesome WebAssembly Languages / Contents / Ocaml top⇈ | |||
Ocaml | 79 | over 4 years ago | a fork of main repo containing work on OCaml to wasm compilation |
Awesome WebAssembly Languages / Contents / Pascal top⇈ | |||
Free Pascal | Free Pascal compilation target and Pascal-to-Javascript runtime | ||
Awesome WebAssembly Languages / Contents / Perl top⇈ | |||
WebPerl | 277 | almost 2 years ago | Perl 5 in the browser |
Awesome WebAssembly Languages / Contents / PHP top⇈ | |||
PIB | 962 | about 2 years ago | a PHP runtime in the browser |
PHP WASM | 85 | 3 months ago | maintained fork of PIB with PHP 8 support based on the work of |
WebAssembly Language Runtimes | 338 | 8 months ago | up-to-date PHP (including php-cgi) prebuilt for WASI |
Awesome WebAssembly Languages / Contents / Plorth top⇈ | |||
Plorth | 16 | about 7 years ago | main repository |
Awesome WebAssembly Languages / Contents / Poetry top⇈ | |||
Poetry | 55 | about 6 years ago | main repository |
Awesome WebAssembly Languages / Contents / Python top⇈ | |||
Pyodide | 12,406 | about 1 month ago | a port of Python to WebAssembly that includes the core packages of the scientific Python stack (Numpy, Pandas, matplotlib). Objects transparently convert and share between Python and Javascript |
MicroPython | 19,551 | about 1 month ago | a lean and efficient Python implementation for microcontrollers and constrained systems |
RustPython | 19,301 | about 1 month ago | A Python 3 interpreter written in Rust. Check the demo |
RPython | 30 | over 1 year ago | A RPython (PyPy's Restricted Python) to WebAssembly compiler |
TPython | 6 | over 2 years ago | Pythonic++ (a "dialect" of C++) to WebAssembly compiler |
micropython-wasm | 46 | about 2 years ago | MicroPython build which features wide JS interop, e.g. waiting for JS promises |
WebAssembly Language Runtimes | 338 | 8 months ago | up-to-date CPython prebuilt for WASI |
Awesome WebAssembly Languages / Contents / Prolog top⇈ | |||
SWI-Prolog port to WebAssembly | 76 | over 2 years ago | a port of SWI-Prolog to WebAssembly. SWI-Prolog is a free implementation of the programming language Prolog commonly used for teaching and semantic web applications |
Ciao Prolog | 278 | 2 months ago | includes a WebAssembly compilation target based on Emscripten. Ciao Prolog is a modern Prolog implementation designed to be portable, extensible and modular. Check the playground |
Awesome WebAssembly Languages / Contents / R top⇈ | |||
WebR | 1 | 7 months ago | R in the Browser. You can try it out |
Awesome WebAssembly Languages / Contents / Rego top⇈ | |||
OPA-Wasm | 9,778 | about 1 month ago | Compilation and evaluation of Rego policies using Wasm |
npm-opa-wasm | 139 | about 1 month ago | NPM module providing an SDK for using Wasm compiled OPA policies |
rust-opa-wasm | 50 | about 1 month ago | A crate to use OPA policies compiled to Wasm |
dotnet-opa-wasm | 45 | 5 months ago | Call OPA policies in Wasm from C# .NET Core |
python-opa-wasm | 10 | over 1 year ago | OPA Wasm SDK for Python |
java-opa-wasm | 15 | 9 months ago | OPA Wasm SDK for Java |
Awesome WebAssembly Languages / Contents / Ring top⇈ | |||
Ring | 1,282 | about 2 months ago | main repository. You can try it out |
WASM apps in Ring | list of demo web applications implemented in Ring | ||
Awesome WebAssembly Languages / Contents / Roc top⇈ | |||
roc | 4,524 | about 1 month ago | main repository. You can try it out |
basic-cli | 90 | about 1 month ago | a Roc to work with files, commands, HTTP, TCP, command line arguments, etc |
basic-webserver | 79 | about 2 months ago | a basic Web Server for Roc |
Awesome WebAssembly Languages / Contents / Ruby top⇈ | |||
Wruby | 14 | about 6 years ago | Web ruby - a port of minimal ruby (mruby) |
run.rb | 600 | about 2 years ago | run.rb - allows you to run Ruby code in the browser |
Artichoke | 3,056 | about 1 month ago | a Ruby implementation written in Rust and Ruby. You can try it out here: |
ruby.wasm | 702 | about 1 month ago | a collection of "official" WebAssembly ports of the CRuby. You can try it out |
rlang | 38 | about 2 years ago | Rlang - a (subset of) Ruby to WebAssembly compiler |
cry-wasm | 29 | over 1 year ago | speeds up Ruby code using Crystal. By applying simple type restrictions to Ruby code, convert it to Crystal code, compile it to WebAssembly, and call it with Wasmer or Wasmtime |
Ruvy | 293 | about 2 months ago | toolchain for bundling ruby.wasm pre-initialized and bundled with Ruby code |
WebAssembly Language Runtimes | 338 | 8 months ago | up-to-date MRI Ruby prebuilt for WASI |
Awesome WebAssembly Languages / Contents / Rust top⇈ | |||
Rust wasm32-unknown-unknown target | Rust compiler backend for WebAssembly (without the need for Emscripten) | ||
Wargo | 261 | about 7 years ago | a simple npm package that makes compiling Rust to WebAssembly easy on macOS or Linux |
RustWasmLoader | 82 | over 5 years ago | A simple Webpack loader that shells out to cargo to build a Rust project targeting WebAssembly |
CargoWeb | 1,107 | about 1 year ago | This cargo subcommand aims to make it easy and convenient to build, develop and deploy client-side Web applications written in Rust |
Wasm-Bindgen | 7,887 | about 1 month ago | A library and a CLI for Rust that facilitate high-level interactions between wasm modules and JavaScript |
Woz | 169 | over 4 years ago | Woz is a WebAssembly progressive web app (PWA) toolchain for building and deploying performant mobile apps with Rust. Distributing your app is as simple as sharing a hyperlink |
Awesome WebAssembly Languages / Contents / Scheme top⇈ | |||
Schism | 207 | over 4 years ago | Schism is an experimental self-hosting compiler from a subset of R6RS Scheme to WebAssembly. Development so far has focused on features necessary for self-hosting. The compiler itself is written in, and compiles, a very small subset of Scheme |
scheme.wasm | 171 | over 1 year ago | An R7RS Scheme implemented in WebAssembly. You can try it out |
Guile Hoot | a Scheme to WebAssembly compiler backend for GNU Guile and a general purpose WASM toolchain | ||
Awesome WebAssembly Languages / Contents / Scopes top⇈ | |||
Scopes | main repository | ||
Awesome WebAssembly Languages / Contents / Swift top⇈ | |||
SwiftWasm | GitHub organization | ||
Awesome WebAssembly Languages / Contents / Tcl top⇈ | |||
Wacl | 48 | over 7 years ago | A Tcl distibution for WebAssembly or Javascript. Features JS/DOM bindings. You can try it out |
Awesome WebAssembly Languages / Contents / Theta top⇈ | |||
ThetaLang | 38 | 3 months ago | main repository |
Awesome WebAssembly Languages / Contents / TurboScript top⇈ | |||
TurboScript | 496 | over 7 years ago | main repository |
Awesome WebAssembly Languages / Contents / V top⇈ | |||
V | 35,918 | about 1 month ago | main repository. You can try it out |
Awesome WebAssembly Languages / Contents / Virgil top⇈ | |||
Virgil | 1,245 | about 1 month ago | main repository |
Awesome WebAssembly Languages / Contents / Wa top⇈ | |||
Wa/凹è¯è¨€(English) | Design for WebAssembly | ||
Wa/凹è¯è¨€(简体ä¸æ–‡) | 凹è¯è¨€ - 为 WebAssembly 而生 | ||
Wa/凹è¯è¨€(仓库) | 1,313 | about 1 month ago | main repository |
Awesome WebAssembly Languages / Contents / Wase top⇈ | |||
Wase | 45 | almost 2 years ago | main repository |
Awesome WebAssembly Languages / Contents / WebAssembly top⇈ | |||
Wasm3 | 7,359 | 4 months ago | main repository |
Wasm3 on WAPM | WAPM package | ||
Awesome WebAssembly Languages / Contents / Wonkey top⇈ | |||
Wonkey | 124 | over 1 year ago | main repository. Check the demo games |
Awesome WebAssembly Languages / Contents / xcc top⇈ | |||
xcc | 279 | about 1 month ago | main repository |
Online demo | |||
Awesome WebAssembly Languages / Contents / Zig top⇈ | |||
Zig WebAssembly | documentation on WebAssembly |