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: 11 months ago
Linked from 3 awesome lists
asmjsastroccppcsharpjavajavascriptlanguageprogramming-languagetypescriptwasmwebwebassembly
Awesome WebAssembly Languages / Contents / .Net top⇈ | |||
| Mono | 11,160 | about 1 year 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 | 11 months 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 year ago | GNAT-LLVM compiler for WebAssembly target, GNAT Run Time Library and AdaWebPack bindings for Web API |
| adagl | 10 | over 4 years ago | Multiplatform Ada/OpenGL bindings (ported to native/OpenGL, A2JS/WebGL and WASM/WebGL) |
| adawebui | 1 | over 3 years ago | GUI based on adawebpack.\ |
Awesome WebAssembly Languages / Contents / AssemblyScript top⇈ | |||
| AssemblyScript | 16,993 | 11 months ago | main repository |
Awesome WebAssembly Languages / Contents / Ballerina top⇈ | |||
| Main repository | 137 | about 1 year ago | Ballerina-to-wasm compiler |
Awesome WebAssembly Languages / Contents / BASIC top⇈ | |||
| basic_rs | 38 | almost 7 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 | 12 months ago | a GWBasic interpreter compiled to WASM with a Web UI |
| EndBASIC | 320 | 11 months 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 | over 1 year ago | a BASIC interpreter written in Golang |
Awesome WebAssembly Languages / Contents / Brainfuck top⇈ | |||
| BrainfuckWebassembly | 22 | over 8 years ago | a simple Brainfuck-to-wasm compiler in one function |
| Brainfuck2Wasm | 45 | over 3 years ago | a Brainfuck-to-wasm compiler and playground |
| BrainfuckRsWasm | 10 | almost 8 years ago | a Brainfuck interpreter written in Rust and compiled to WebAssembly |
| Brainfuck Wa-lang | 1,313 | 11 months ago | a Brainfuck interpreter written in and compiled to WebAssembly |
| bfwasm | 25 | about 6 years ago | A non-optimizing Brainf_ck to WebAssembly compiler with WASI support |
Awesome WebAssembly Languages / Contents / C top⇈ | |||
| Emscripten | 25,944 | 11 months 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 | over 1 year 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 4 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 5 years ago | main repository |
Awesome WebAssembly Languages / Contents / COBOL top⇈ | |||
| Cobaul | 357 | about 1 year ago | toolchain used to |
Awesome WebAssembly Languages / Contents / Crystal top⇈ | |||
| Crystal | 19,526 | 11 months ago | main repository |
| POC PR | 19,526 | 11 months ago | PR adding initial support for WebAssembly |
Awesome WebAssembly Languages / Contents / Cyber top⇈ | |||
| Cyber | 1,239 | 11 months ago | project repository |
Awesome WebAssembly Languages / Contents / D top⇈ | |||
| LDC | 1,221 | 11 months ago | LLVM-based D compiler, which can generate WASM since version 1.11.0 |
Awesome WebAssembly Languages / Contents / Dart top⇈ | |||
| sdk | 10,336 | 11 months ago | The Dart SDK, including the VM, dart2js, core libraries, and more |
| language | 2,685 | 11 months 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 | almost 2 years ago | The Eclair compiler, which can compile Eclair code to LLVM IR and WASM |
Awesome WebAssembly Languages / Contents / Eel top⇈ | |||
| eel-wasm | 48 | about 4 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 2 years ago | An alternative BEAM implementation (with AOT compiler) designed for WebAssembly |
Awesome WebAssembly Languages / Contents / Faust top⇈ | |||
| Faust | 2,605 | 11 months ago | main repository |
Awesome WebAssembly Languages / Contents / Forest top⇈ | |||
| ForestLang | 621 | about 4 years ago | main repository |
Awesome WebAssembly Languages / Contents / Forth top⇈ | |||
| WASM Forth | 144 | over 6 years ago | Forth implementation for wasm |
| WAForth | 500 | about 1 year ago | Bootstrapping Dynamic Forth Interpreter/Compiler for & in WebAssembly |
Awesome WebAssembly Languages / Contents / Go top⇈ | |||
| Go | 124,564 | 11 months ago | main repository |
| TinyGo | 15,577 | 11 months ago | a subset of Go targeted to embedded devices and WebAssembly |
Awesome WebAssembly Languages / Contents / Grain top⇈ | |||
| Grain | 3,289 | 11 months ago | main repository |
| GrainWeb | Web page | ||
Awesome WebAssembly Languages / Contents / Haskell top⇈ | |||
| Asterius | 1,972 | almost 3 years ago | a Haskell to WebAssembly compiler |
| DHC | 166 | over 6 years ago | a Haskell compiler that accepts only a tiny subset of the language and produces WebAssembly binaries |
| haskell-wasm | 151 | over 1 year ago | Haskell WebAssembly Toolkit. It includes Language helpers and a fully spec-compatible WASM interpreter |
| wasm-cross | 141 | about 5 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 | 11 months ago | main repository. You can try it out |
Awesome WebAssembly Languages / Contents / Java top⇈ | |||
| TeaVM | 2,666 | 11 months ago | an ahead-of-time translating compiler (transpiler) of Java bytecode, that's capable of emitting JavaScript and WebAssembly |
| JWebAssembly | 1,003 | over 2 years 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 | 11 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 | 12 months ago | A Java compiler for the web that converts any Java client application into standard HTML5/WebAssembly/JavaScript |
| Rise JVM | 10 | over 3 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 | over 1 year 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 | 11 months ago | a JavaScript to WebAssembly toolchain, capable of generating WASI-compatible modules from JS by embedding the QuickJS engine |
| SpiderMonkey | 90 | almost 3 years ago | experimental Rust bindings and generic builtins for SpiderMonkey for building WASI-compatible modules from JavaScript |
| quickjs-emscripten | 1,334 | about 1 year ago | Safely execute untrusted Javascript in your JS/TS, and execute synchronous code that uses async functions |
| wasmedge-quickjs | 498 | about 1 year ago | A high-performance, secure, extensible, and OCI-complaint JavaScript runtime for WasmEdge. Features TCP/UDP support via WasmEdge Sockets |
| Boa | 5,220 | 11 months ago | an embeddable and experimental Javascript engine written in Rust. You can try it out |
| goja | 5,690 | about 1 year ago | an implementation of ECMAScript 5.1 in pure Go with emphasis on standard compliance and performance |
| otto | 8,156 | 12 months ago | a JavaScript parser and interpreter written natively in Go |
Awesome WebAssembly Languages / Contents / Julia top⇈ | |||
| julia-wasm | 336 | almost 4 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 | 11 months ago | LLVM-based KCL compiler, which can generate WASM |
Awesome WebAssembly Languages / Contents / Kotlin top⇈ | |||
| Kotlin/Wasm (Kotlin WebAssembly) | |||
| Kotlin/Wasm examples | 532 | about 1 year ago | |
Awesome WebAssembly Languages / Contents / Kou top⇈ | |||
| Kou | 134 | about 6 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 | over 1 year 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 2 years ago | translates Low Level Lisp into WebAssembly |
| Wisp | 245 | about 1 year 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 | 11 months 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 | about 1 year ago | uses WebAssembly for its |
Awesome WebAssembly Languages / Contents / Lua top⇈ | |||
| WasmLua | 795 | almost 2 years ago | a Lua VM running in the browser |
| Luwa | 95 | over 6 years ago | a Lua-to-wasm JIT compiler |
| Wasmoon | 498 | over 1 year ago | a high level Lua VM with JS bindings |
| Wasm2Lua | 194 | almost 4 years ago | can compile WebAssembly modules to pure Lua (or with FFI LuaJIT for extra speed) |
| DCLua | 920 | over 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 | about 2 years ago | (aka ofunc/lua) - a fork of DCLua, featuring IO capabilities, HTTP client, IoC, and more |
| GopherLua | 6,322 | 12 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 | 11 months ago | a superset of Lua 5.4 with a focus on general-purpose programming. You can try it out |
| PlutoScript | 4 | about 1 year 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 | about 1 year ago | main repository |
Awesome WebAssembly Languages / Contents / MoonBit top⇈ | |||
| MoonBit | main website. You can try the language out | ||
| Core library | 651 | 11 months ago | open-sourced standard library. Compiler source code is not available yet |
Awesome WebAssembly Languages / Contents / Nelua top⇈ | |||
| Nelua | 2,094 | 11 months ago | project repository |
| Nelua on the Web | 2,094 | 11 months ago | Nelua-wasm discussion |
Awesome WebAssembly Languages / Contents / Nerd top⇈ | |||
| Nerd | 3,585 | almost 3 years ago | main repository |
Awesome WebAssembly Languages / Contents / Never top⇈ | |||
| Never | 436 | over 1 year ago | project repository |
| Never on the Web | Never language demo | ||
Awesome WebAssembly Languages / Contents / Nim top⇈ | |||
| nlvm | 711 | 11 months ago | LLVM-based compiler for Nim with a WebAssembly target supported out of the box |
| nwasm | 48 | about 5 years ago | a webassembly backend for nim |
| Nim wasm helpers | 28 | almost 7 years ago | a helper to set up a VM configured to build WebAssembly code using Nim |
Awesome WebAssembly Languages / Contents / Ocaml top⇈ | |||
| Ocaml | 79 | about 5 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 | over 2 years ago | Perl 5 in the browser |
Awesome WebAssembly Languages / Contents / PHP top⇈ | |||
| PIB | 962 | almost 3 years ago | a PHP runtime in the browser |
| PHP WASM | 85 | about 1 year ago | maintained fork of PIB with PHP 8 support based on the work of |
| WebAssembly Language Runtimes | 338 | over 1 year ago | up-to-date PHP (including php-cgi) prebuilt for WASI |
Awesome WebAssembly Languages / Contents / Plorth top⇈ | |||
| Plorth | 16 | almost 8 years ago | main repository |
Awesome WebAssembly Languages / Contents / Poetry top⇈ | |||
| Poetry | 55 | almost 7 years ago | main repository |
Awesome WebAssembly Languages / Contents / Python top⇈ | |||
| Pyodide | 12,406 | 11 months 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 | 11 months ago | a lean and efficient Python implementation for microcontrollers and constrained systems |
| RustPython | 19,301 | 11 months ago | A Python 3 interpreter written in Rust. Check the demo |
| RPython | 30 | over 2 years ago | A RPython (PyPy's Restricted Python) to WebAssembly compiler |
| TPython | 6 | over 3 years ago | Pythonic++ (a "dialect" of C++) to WebAssembly compiler |
| micropython-wasm | 46 | almost 3 years ago | MicroPython build which features wide JS interop, e.g. waiting for JS promises |
| WebAssembly Language Runtimes | 338 | over 1 year ago | up-to-date CPython prebuilt for WASI |
Awesome WebAssembly Languages / Contents / Prolog top⇈ | |||
| SWI-Prolog port to WebAssembly | 76 | about 3 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 | 12 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 | over 1 year ago | R in the Browser. You can try it out |
Awesome WebAssembly Languages / Contents / Rego top⇈ | |||
| OPA-Wasm | 9,778 | 11 months ago | Compilation and evaluation of Rego policies using Wasm |
| npm-opa-wasm | 139 | 11 months ago | NPM module providing an SDK for using Wasm compiled OPA policies |
| rust-opa-wasm | 50 | 11 months ago | A crate to use OPA policies compiled to Wasm |
| dotnet-opa-wasm | 45 | about 1 year ago | Call OPA policies in Wasm from C# .NET Core |
| python-opa-wasm | 10 | over 2 years ago | OPA Wasm SDK for Python |
| java-opa-wasm | 15 | over 1 year ago | OPA Wasm SDK for Java |
Awesome WebAssembly Languages / Contents / Ring top⇈ | |||
| Ring | 1,282 | 11 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 | 11 months ago | main repository. You can try it out |
| basic-cli | 90 | 11 months ago | a Roc to work with files, commands, HTTP, TCP, command line arguments, etc |
| basic-webserver | 79 | 11 months ago | a basic Web Server for Roc |
Awesome WebAssembly Languages / Contents / Ruby top⇈ | |||
| Wruby | 14 | almost 7 years ago | Web ruby - a port of minimal ruby (mruby) |
| run.rb | 600 | almost 3 years ago | run.rb - allows you to run Ruby code in the browser |
| Artichoke | 3,056 | 11 months ago | a Ruby implementation written in Rust and Ruby. You can try it out here: |
| ruby.wasm | 702 | 11 months ago | a collection of "official" WebAssembly ports of the CRuby. You can try it out |
| rlang | 38 | almost 3 years ago | Rlang - a (subset of) Ruby to WebAssembly compiler |
| cry-wasm | 29 | about 2 years 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 | 11 months ago | toolchain for bundling ruby.wasm pre-initialized and bundled with Ruby code |
| WebAssembly Language Runtimes | 338 | over 1 year 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 | almost 8 years ago | a simple npm package that makes compiling Rust to WebAssembly easy on macOS or Linux |
| RustWasmLoader | 82 | over 6 years ago | A simple Webpack loader that shells out to cargo to build a Rust project targeting WebAssembly |
| CargoWeb | 1,107 | almost 2 years 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 | 11 months ago | A library and a CLI for Rust that facilitate high-level interactions between wasm modules and JavaScript |
| Woz | 169 | over 5 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 5 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 2 years 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 8 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 | about 1 year ago | main repository |
Awesome WebAssembly Languages / Contents / TurboScript top⇈ | |||
| TurboScript | 496 | about 8 years ago | main repository |
Awesome WebAssembly Languages / Contents / V top⇈ | |||
| V | 35,918 | 11 months ago | main repository. You can try it out |
Awesome WebAssembly Languages / Contents / Virgil top⇈ | |||
| Virgil | 1,245 | 11 months ago | main repository |
Awesome WebAssembly Languages / Contents / Wa top⇈ | |||
| Wa/凹è¯è¨€(English) | Design for WebAssembly | ||
| Wa/凹è¯è¨€(ç®€ä½“ä¸æ–‡) | 凹è¯è¨€ - 为 WebAssembly 而生 | ||
| Wa/凹è¯è¨€(仓库) | 1,313 | 11 months ago | main repository |
Awesome WebAssembly Languages / Contents / Wase top⇈ | |||
| Wase | 45 | over 2 years ago | main repository |
Awesome WebAssembly Languages / Contents / WebAssembly top⇈ | |||
| Wasm3 | 7,359 | about 1 year ago | main repository |
| Wasm3 on WAPM | WAPM package | ||
Awesome WebAssembly Languages / Contents / Wonkey top⇈ | |||
| Wonkey | 124 | over 2 years ago | main repository. Check the demo games |
Awesome WebAssembly Languages / Contents / xcc top⇈ | |||
| xcc | 279 | 11 months ago | main repository |
| Online demo | |||
Awesome WebAssembly Languages / Contents / Zig top⇈ | |||
| Zig WebAssembly | documentation on WebAssembly | ||