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