awesome-wasm-langs

😎 A curated list of languages that compile directly to or have their VMs in WebAssembly

GitHub

4k stars
112 watching
196 forks
last commit: 3 months ago
Linked from 3 awesome lists

asmjsastroccppcsharpjavajavascriptlanguageprogramming-languagetypescriptwasmwebwebassembly

Awesome WebAssembly Languages / Contents / .Net top⇈

Mono 11,106 about 1 month 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,401 17 days 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 52 3 months ago GNAT-LLVM compiler for WebAssembly target, GNAT Run Time Library and AdaWebPack bindings for Web API
adagl 10 over 3 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,792 3 months ago main repository

Awesome WebAssembly Languages / Contents / Ballerina top⇈

Main repository 138 11 months ago Ballerina-to-wasm compiler

Awesome WebAssembly Languages / Contents / BASIC top⇈

basic_rs 38 over 5 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 about 1 month ago a GWBasic interpreter compiled to WASM with a Web UI
EndBASIC 312 21 days ago BASIC environment with a REPL, a web interface, a graphical console, and RPi support written in Rust. You can try it out
gobasic 323 8 months ago a BASIC interpreter written in Golang

Awesome WebAssembly Languages / Contents / Brainfuck top⇈

BrainfuckWebassembly 21 over 7 years ago a simple Brainfuck-to-wasm compiler in one function
Brainfuck2Wasm 44 over 2 years ago a Brainfuck-to-wasm compiler and playground
BrainfuckRsWasm 10 almost 7 years ago a Brainfuck interpreter written in Rust and compiled to WebAssembly
bfwasm 25 about 5 years ago A non-optimizing Brainf_ck to WebAssembly compiler with WASI support

Awesome WebAssembly Languages / Contents / C top⇈

Emscripten 25,651 15 days 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,023 4 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 over 2 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 over 4 years ago main repository

Awesome WebAssembly Languages / Contents / COBOL top⇈

Cobaul 353 14 days ago toolchain used to

Awesome WebAssembly Languages / Contents / Crystal top⇈

Crystal 19,347 8 days ago main repository
POC PR 19,347 8 days ago PR adding initial support for WebAssembly

Awesome WebAssembly Languages / Contents / Cyber top⇈

Cyber 1,192 about 1 month ago project repository

Awesome WebAssembly Languages / Contents / D top⇈

LDC 1,200 11 days ago LLVM-based D compiler, which can generate WASM since version 1.11.0

Awesome WebAssembly Languages / Contents / Dart top⇈

sdk 10,117 1 day ago The Dart SDK, including the VM, dart2js, core libraries, and more
language 2,649 12 days 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 200 9 months ago The Eclair compiler, which can compile Eclair code to LLVM IR and WASM

Awesome WebAssembly Languages / Contents / Eel top⇈

eel-wasm 48 about 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,605 12 months ago An alternative BEAM implementation (with AOT compiler) designed for WebAssembly

Awesome WebAssembly Languages / Contents / Faust top⇈

Faust 2,520 12 days ago main repository

Awesome WebAssembly Languages / Contents / Forest top⇈

ForestLang 620 about 3 years ago main repository

Awesome WebAssembly Languages / Contents / Forth top⇈

WASM Forth 142 over 5 years ago Forth implementation for wasm
WAForth 491 21 days ago Bootstrapping Dynamic Forth Interpreter/Compiler for & in WebAssembly

Awesome WebAssembly Languages / Contents / Go top⇈

Go 123,201 4 days ago main repository
TinyGo 15,223 12 days ago a subset of Go targeted to embedded devices and WebAssembly

Awesome WebAssembly Languages / Contents / Grain top⇈

Grain 3,256 13 days ago main repository
GrainWeb Web page

Awesome WebAssembly Languages / Contents / Haskell top⇈

Asterius 1,977 almost 2 years ago a Haskell to WebAssembly compiler
DHC 166 over 5 years ago a Haskell compiler that accepts only a tiny subset of the language and produces WebAssembly binaries
haskell-wasm 149 4 months ago Haskell WebAssembly Toolkit. It includes Language helpers and a fully spec-compatible WASM interpreter
wasm-cross 138 about 4 years ago A toolchain for cross compiling C and Haskell to WebAssembly, using the WebGHC and LLVM

Awesome WebAssembly Languages / Contents / Java top⇈

TeaVM 2,621 3 days ago an ahead-of-time translating compiler (transpiler) of Java bytecode, that's capable of emitting JavaScript and WebAssembly
JWebAssembly 980 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 891 5 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 456 7 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,928 7 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,177 16 days ago a JavaScript to WebAssembly toolchain, capable of generating WASI-compatible modules from JS by embedding the QuickJS engine
SpiderMonkey 88 almost 2 years ago experimental Rust bindings and generic builtins for SpiderMonkey for building WASI-compatible modules from JavaScript
quickjs-emscripten 1,263 19 days ago Safely execute untrusted Javascript in your JS/TS, and execute synchronous code that uses async functions
wasmedge-quickjs 487 4 months ago A high-performance, secure, extensible, and OCI-complaint JavaScript runtime for WasmEdge. Features TCP/UDP support via WasmEdge Sockets
Boa 5,015 12 days ago an embeddable and experimental Javascript engine written in Rust. You can try it out
goja 5,489 8 days ago an implementation of ECMAScript 5.1 in pure Go with emphasis on standard compliance and performance
otto 8,054 3 months ago a JavaScript parser and interpreter written natively in Go

Awesome WebAssembly Languages / Contents / Julia top⇈

julia-wasm 331 almost 3 years ago Emscripten & LLVM Julia to WASM compiler

Awesome WebAssembly Languages / Contents / KCL top⇈

KCLVM 1,599 17 days ago LLVM-based KCL compiler, which can generate WASM

Awesome WebAssembly Languages / Contents / Kotlin top⇈

Kotlin/Wasm (Kotlin WebAssembly)
Kotlin/Wasm examples 515 about 1 month ago

Awesome WebAssembly Languages / Contents / Kou top⇈

Kou 134 about 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 49 3 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 about 1 year ago translates Low Level Lisp into WebAssembly
Wisp 231 about 2 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,263 7 days 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 263 6 days ago uses WebAssembly for its

Awesome WebAssembly Languages / Contents / Lua top⇈

WasmLua 790 10 months ago a Lua VM running in the browser
Luwa 93 over 5 years ago a Lua-to-wasm JIT compiler
Wasmoon 477 3 months ago a high level Lua VM with JS bindings
Wasm2Lua 190 almost 3 years ago can compile WebAssembly modules to pure Lua (or with FFI LuaJIT for extra speed)
DCLua 917 over 2 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 24 about 1 year ago (aka ofunc/lua) - a fork of DCLua, featuring IO capabilities, HTTP client, IoC, and more
GopherLua 6,225 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 362 12 days ago a superset of Lua 5.4 with a focus on general-purpose programming. You can try it out
PlutoScript 3 2 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 420 24 days ago main repository

Awesome WebAssembly Languages / Contents / Nelua top⇈

Nelua 2,004 13 days ago project repository
Nelua on the Web 2,004 13 days ago Nelua-wasm discussion

Awesome WebAssembly Languages / Contents / Nerd top⇈

Nerd 3,577 over 1 year ago main repository

Awesome WebAssembly Languages / Contents / Never top⇈

Never 433 5 months ago project repository
Never on the Web Never language demo

Awesome WebAssembly Languages / Contents / Nim top⇈

nlvm 705 about 1 month ago LLVM-based compiler for Nim with a WebAssembly target supported out of the box
nwasm 49 about 4 years ago a webassembly backend for nim
Nim wasm helpers 28 over 5 years ago a helper to set up a VM configured to build WebAssembly code using Nim

Awesome WebAssembly Languages / Contents / Ocaml top⇈

Ocaml 80 about 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 272 over 1 year ago Perl 5 in the browser

Awesome WebAssembly Languages / Contents / PHP top⇈

PIB 953 almost 2 years ago a PHP runtime in the browser
PHP WASM 70 8 months ago maintained fork of PIB with PHP 8 support based on the work of
WebAssembly Language Runtimes 328 4 months ago up-to-date PHP (including php-cgi) prebuilt for WASI

Awesome WebAssembly Languages / Contents / Plorth top⇈

Plorth 16 almost 7 years ago main repository

Awesome WebAssembly Languages / Contents / Poetry top⇈

Poetry 55 over 5 years ago main repository

Awesome WebAssembly Languages / Contents / Python top⇈

Pyodide 12,026 12 days 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,153 9 days ago a lean and efficient Python implementation for microcontrollers and constrained systems
RustPython 19,005 6 days ago A Python 3 interpreter written in Rust. Check the demo
RPython 29 over 1 year ago A RPython (PyPy's Restricted Python) to WebAssembly compiler
TPython 5 about 2 years ago Pythonic++ (a "dialect" of C++) to WebAssembly compiler
micropython-wasm 43 almost 2 years ago MicroPython build which features wide JS interop, e.g. waiting for JS promises
WebAssembly Language Runtimes 328 4 months ago up-to-date CPython prebuilt for WASI

Awesome WebAssembly Languages / Contents / Prolog top⇈

SWI-Prolog port to WebAssembly 74 about 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 268 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 0 4 months ago R in the Browser. You can try it out

Awesome WebAssembly Languages / Contents / Rego top⇈

OPA-Wasm 9,549 12 days ago Compilation and evaluation of Rego policies using Wasm
npm-opa-wasm 133 16 days ago NPM module providing an SDK for using Wasm compiled OPA policies
rust-opa-wasm 47 2 months ago A crate to use OPA policies compiled to Wasm
dotnet-opa-wasm 45 about 1 month 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 6 months ago OPA Wasm SDK for Java

Awesome WebAssembly Languages / Contents / Ring top⇈

Ring 1,269 1 day 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,137 12 days ago main repository. You can try it out
basic-cli 80 12 days ago a Roc to work with files, commands, HTTP, TCP, command line arguments, etc
basic-webserver 69 30 days ago a basic Web Server for Roc

Awesome WebAssembly Languages / Contents / Ruby top⇈

Wruby 14 almost 6 years ago Web ruby - a port of minimal ruby (mruby)
run.rb 598 almost 2 years ago run.rb - allows you to run Ruby code in the browser
Artichoke 3,035 19 days ago a Ruby implementation written in Rust and Ruby. You can try it out here:
ruby.wasm 665 13 days ago a collection of "official" WebAssembly ports of the CRuby. You can try it out
rlang 38 almost 2 years ago Rlang - a (subset of) Ruby to WebAssembly compiler
cry-wasm 28 about 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 284 18 days ago toolchain for bundling ruby.wasm pre-initialized and bundled with Ruby code
WebAssembly Language Runtimes 328 4 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 262 almost 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,106 10 months 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,691 7 days 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 202 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 170 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 47 over 7 years ago A Tcl distibution for WebAssembly or Javascript. Features JS/DOM bindings. You can try it out

Awesome WebAssembly Languages / Contents / TurboScript top⇈

TurboScript 494 about 7 years ago main repository

Awesome WebAssembly Languages / Contents / V top⇈

V 35,685 12 days ago main repository. You can try it out

Awesome WebAssembly Languages / Contents / Virgil top⇈

Virgil 1,225 16 days ago main repository

Awesome WebAssembly Languages / Contents / Wa top⇈

Wa/凹语言(English) Design for WebAssembly
Wa/凹语言(简体中文) 凹语言 - 为 WebAssembly 而生
Wa/凹语言(仓库) 1,089 3 days ago main repository

Awesome WebAssembly Languages / Contents / Wase top⇈

Wase 45 over 1 year ago main repository

Awesome WebAssembly Languages / Contents / WebAssembly top⇈

Wasm3 7,237 25 days ago main repository
Wasm3 on WAPM WAPM package

Awesome WebAssembly Languages / Contents / Wonkey top⇈

Wonkey 121 over 1 year ago main repository. Check the demo games

Awesome WebAssembly Languages / Contents / xcc top⇈

xcc 204 12 days ago main repository
Online demo

Awesome WebAssembly Languages / Contents / Zig top⇈

Zig WebAssembly documentation on WebAssembly

Backlinks from these awesome lists: