awesome-wasm-langs

Wasm langs

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
113 watching
198 forks
last commit: 5 months ago
Linked from 3 awesome lists

asmjsastroccppcsharpjavajavascriptlanguageprogramming-languagetypescriptwasmwebwebassembly

Awesome WebAssembly Languages / Contents / .Net top⇈

Mono 11,135 3 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,425 6 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 53 about 1 month 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,936 10 days ago main repository

Awesome WebAssembly Languages / Contents / Ballerina top⇈

Main repository 137 30 days ago Ballerina-to-wasm compiler

Awesome WebAssembly Languages / Contents / BASIC top⇈

basic_rs 38 almost 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 16 days ago a GWBasic interpreter compiled to WASM with a Web UI
EndBASIC 317 5 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 329 9 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 45 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,828 6 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,033 6 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 over 4 years ago main repository

Awesome WebAssembly Languages / Contents / COBOL top⇈

Cobaul 356 about 1 month ago toolchain used to

Awesome WebAssembly Languages / Contents / Crystal top⇈

Crystal 19,476 5 days ago main repository
POC PR 19,476 5 days ago PR adding initial support for WebAssembly

Awesome WebAssembly Languages / Contents / Cyber top⇈

Cyber 1,223 3 months ago project repository

Awesome WebAssembly Languages / Contents / D top⇈

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

Awesome WebAssembly Languages / Contents / Dart top⇈

sdk 10,251 6 days ago The Dart SDK, including the VM, dart2js, core libraries, and more
language 2,668 7 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 220 10 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,607 about 1 year ago An alternative BEAM implementation (with AOT compiler) designed for WebAssembly

Awesome WebAssembly Languages / Contents / Faust top⇈

Faust 2,579 10 days ago main repository

Awesome WebAssembly Languages / Contents / Forest top⇈

ForestLang 620 over 3 years ago main repository

Awesome WebAssembly Languages / Contents / Forth top⇈

WASM Forth 144 over 5 years ago Forth implementation for wasm
WAForth 498 2 months ago Bootstrapping Dynamic Forth Interpreter/Compiler for & in WebAssembly

Awesome WebAssembly Languages / Contents / Go top⇈

Go 124,071 6 days ago main repository
TinyGo 15,449 6 days ago a subset of Go targeted to embedded devices and WebAssembly

Awesome WebAssembly Languages / Contents / Grain top⇈

Grain 3,280 6 days ago main repository
GrainWeb Web page

Awesome WebAssembly Languages / Contents / Haskell top⇈

Asterius 1,974 about 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 151 6 months ago Haskell WebAssembly Toolkit. It includes Language helpers and a fully spec-compatible WASM interpreter
wasm-cross 139 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,644 27 days ago an ahead-of-time translating compiler (transpiler) of Java bytecode, that's capable of emitting JavaScript and WebAssembly
JWebAssembly 995 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 897 6 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 465 6 days 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,959 8 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,259 8 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,300 2 months ago Safely execute untrusted Javascript in your JS/TS, and execute synchronous code that uses async functions
wasmedge-quickjs 496 about 1 month ago A high-performance, secure, extensible, and OCI-complaint JavaScript runtime for WasmEdge. Features TCP/UDP support via WasmEdge Sockets
Boa 5,105 8 days ago an embeddable and experimental Javascript engine written in Rust. You can try it out
goja 5,606 28 days ago an implementation of ECMAScript 5.1 in pure Go with emphasis on standard compliance and performance
otto 8,120 16 days ago a JavaScript parser and interpreter written natively in Go

Awesome WebAssembly Languages / Contents / Julia top⇈

julia-wasm 334 about 3 years ago Emscripten & LLVM Julia to WASM compiler

Awesome WebAssembly Languages / Contents / KCL top⇈

KCLVM 1,688 7 days ago LLVM-based KCL compiler, which can generate WASM

Awesome WebAssembly Languages / Contents / Kotlin top⇈

Kotlin/Wasm (Kotlin WebAssembly)
Kotlin/Wasm examples 522 3 months 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 4 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 239 3 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,298 20 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 274 about 2 months ago uses WebAssembly for its

Awesome WebAssembly Languages / Contents / Lua top⇈

WasmLua 792 12 months ago a Lua VM running in the browser
Luwa 95 over 5 years ago a Lua-to-wasm JIT compiler
Wasmoon 492 4 months ago a high level Lua VM with JS bindings
Wasm2Lua 194 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 25 about 1 year ago (aka ofunc/lua) - a fork of DCLua, featuring IO capabilities, HTTP client, IoC, and more
GopherLua 6,288 12 days 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 389 6 days ago a superset of Lua 5.4 with a focus on general-purpose programming. You can try it out
PlutoScript 4 about 1 month 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 2 months ago main repository

Awesome WebAssembly Languages / Contents / Nelua top⇈

Nelua 2,073 24 days ago project repository
Nelua on the Web 2,073 24 days ago Nelua-wasm discussion

Awesome WebAssembly Languages / Contents / Nerd top⇈

Nerd 3,584 almost 2 years ago main repository

Awesome WebAssembly Languages / Contents / Never top⇈

Never 435 6 months ago project repository
Never on the Web Never language demo

Awesome WebAssembly Languages / Contents / Nim top⇈

nlvm 711 3 months ago LLVM-based compiler for Nim with a WebAssembly target supported out of the box
nwasm 48 about 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 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 276 over 1 year ago Perl 5 in the browser

Awesome WebAssembly Languages / Contents / PHP top⇈

PIB 956 almost 2 years ago a PHP runtime in the browser
PHP WASM 80 about 1 month ago maintained fork of PIB with PHP 8 support based on the work of
WebAssembly Language Runtimes 336 6 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 almost 6 years ago main repository

Awesome WebAssembly Languages / Contents / Python top⇈

Pyodide 12,273 6 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,430 7 days ago a lean and efficient Python implementation for microcontrollers and constrained systems
RustPython 19,183 21 days 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 336 6 months ago up-to-date CPython prebuilt for WASI

Awesome WebAssembly Languages / Contents / Prolog top⇈

SWI-Prolog port to WebAssembly 76 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 272 6 days 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 5 months ago R in the Browser. You can try it out

Awesome WebAssembly Languages / Contents / Rego top⇈

OPA-Wasm 9,707 6 days ago Compilation and evaluation of Rego policies using Wasm
npm-opa-wasm 138 7 days ago NPM module providing an SDK for using Wasm compiled OPA policies
rust-opa-wasm 48 6 days ago A crate to use OPA policies compiled to Wasm
dotnet-opa-wasm 45 3 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 8 months ago OPA Wasm SDK for Java

Awesome WebAssembly Languages / Contents / Ring top⇈

Ring 1,273 7 days 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,456 6 days ago main repository. You can try it out
basic-cli 89 8 days ago a Roc to work with files, commands, HTTP, TCP, command line arguments, etc
basic-webserver 76 8 days 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 almost 2 years ago run.rb - allows you to run Ruby code in the browser
Artichoke 3,050 10 days ago a Ruby implementation written in Rust and Ruby. You can try it out here:
ruby.wasm 686 6 days 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 292 7 days ago toolchain for bundling ruby.wasm pre-initialized and bundled with Ruby code
WebAssembly Language Runtimes 336 6 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,106 12 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,817 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 205 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 / TurboScript top⇈

TurboScript 494 about 7 years ago main repository

Awesome WebAssembly Languages / Contents / V top⇈

V 35,806 6 days ago main repository. You can try it out

Awesome WebAssembly Languages / Contents / Virgil top⇈

Virgil 1,244 10 days ago main repository

Awesome WebAssembly Languages / Contents / Wa top⇈

Wa/凹语言(English) Design for WebAssembly
Wa/凹语言(简体中文) 凹语言 - 为 WebAssembly 而生
Wa/凹语言(仓库) 1,240 7 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,322 2 months ago main repository
Wasm3 on WAPM WAPM package

Awesome WebAssembly Languages / Contents / Wonkey top⇈

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

Awesome WebAssembly Languages / Contents / xcc top⇈

xcc 260 7 days ago main repository
Online demo

Awesome WebAssembly Languages / Contents / Zig top⇈

Zig WebAssembly documentation on WebAssembly

Backlinks from these awesome lists:

More related projects: