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

GitHub

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

Backlinks from these awesome lists:

More related projects: