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: almost 2 years ago
Linked from 3 awesome lists

asmjsastroccppcsharpjavajavascriptlanguageprogramming-languagetypescriptwasmwebwebassembly

Awesome WebAssembly Languages / Contents / .Net top⇈

Mono11,160about 2 years agoan 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
Blazora web UI framework using C#/Razor and HTML, running client-side via WebAssembly. Source is maintained on repo
BoleroBolero 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-LLVM1,445almost 2 years agoan 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⇈

adawebpack53almost 2 years agoGNAT-LLVM compiler for WebAssembly target, GNAT Run Time Library and AdaWebPack bindings for Web API
adagl10over 5 years agoMultiplatform Ada/OpenGL bindings (ported to native/OpenGL, A2JS/WebGL and WASM/WebGL)
adawebui1over 4 years agoGUI based on adawebpack.\

Awesome WebAssembly Languages / Contents / AssemblyScript top⇈

AssemblyScript16,993almost 2 years agomain repository

Awesome WebAssembly Languages / Contents / Ballerina top⇈

Main repository137almost 2 years agoBallerina-to-wasm compiler

Awesome WebAssembly Languages / Contents / BASIC top⇈

basic_rs38over 7 years agoa BASIC Interpreter/Compiler for the Original Dartmouth Version written in Rust. Also provides tool which compiles BASIC to WebAssembly using binaryen
basicwasm8almost 2 years agoa GWBasic interpreter compiled to WASM with a Web UI
EndBASIC320almost 2 years agoBASIC environment with a REPL, a web interface, a graphical console, and RPi support written in Rust. You can try it out
gobasic331over 2 years agoa BASIC interpreter written in Golang

Awesome WebAssembly Languages / Contents / Brainfuck top⇈

BrainfuckWebassembly22over 9 years agoa simple Brainfuck-to-wasm compiler in one function
Brainfuck2Wasm45over 4 years agoa Brainfuck-to-wasm compiler and playground
BrainfuckRsWasm10almost 9 years agoa Brainfuck interpreter written in Rust and compiled to WebAssembly
Brainfuck Wa-lang1,313almost 2 years agoa Brainfuck interpreter written in and compiled to WebAssembly
bfwasm25almost 7 years agoA non-optimizing Brainf_ck to WebAssembly compiler with WASI support

Awesome WebAssembly Languages / Contents / C top⇈

Emscripten25,944almost 2 years agoan 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
Cheerp1,065over 2 years agoan 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⇈

c4wa24over 4 years agomain repository

Awesome WebAssembly Languages / Contents / Clean top⇈

ABC interpreterinterpreter for Clean's intermediate language ABC, with a WebAssembly version
iTasksintegration of the above ABC interpreter with browser applications

Awesome WebAssembly Languages / Contents / Co top⇈

Co151over 6 years agomain repository

Awesome WebAssembly Languages / Contents / COBOL top⇈

Cobaul357almost 2 years agotoolchain used to

Awesome WebAssembly Languages / Contents / Crystal top⇈

Crystal19,526almost 2 years agomain repository
POC PR19,526almost 2 years agoPR adding initial support for WebAssembly

Awesome WebAssembly Languages / Contents / Cyber top⇈

Cyber1,239almost 2 years agoproject repository

Awesome WebAssembly Languages / Contents / D top⇈

LDC1,221almost 2 years agoLLVM-based D compiler, which can generate WASM since version 1.11.0

Awesome WebAssembly Languages / Contents / Dart top⇈

sdk10,336almost 2 years agoThe Dart SDK, including the VM, dart2js, core libraries, and more
language2,685almost 2 years agoDesign of the Dart language
Use via FlutterHow to compile Dart to WebAssembly for a Flutter Web application

Awesome WebAssembly Languages / Contents / Eclair top⇈

eclair-lang220over 2 years agoThe Eclair compiler, which can compile Eclair code to LLVM IR and WASM

Awesome WebAssembly Languages / Contents / Eel top⇈

eel-wasm48about 5 years agoCompiles 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⇈

Lumen3,601almost 3 years agoAn alternative BEAM implementation (with AOT compiler) designed for WebAssembly

Awesome WebAssembly Languages / Contents / Faust top⇈

Faust2,605almost 2 years agomain repository

Awesome WebAssembly Languages / Contents / Forest top⇈

ForestLang621about 5 years agomain repository

Awesome WebAssembly Languages / Contents / Forth top⇈

WASM Forth144over 7 years agoForth implementation for wasm
WAForth500about 2 years agoBootstrapping Dynamic Forth Interpreter/Compiler for & in WebAssembly

Awesome WebAssembly Languages / Contents / Go top⇈

Go124,564almost 2 years agomain repository
TinyGo15,577almost 2 years agoa subset of Go targeted to embedded devices and WebAssembly

Awesome WebAssembly Languages / Contents / Grain top⇈

Grain3,289almost 2 years agomain repository
GrainWebWeb page

Awesome WebAssembly Languages / Contents / Haskell top⇈

Asterius1,972almost 4 years agoa Haskell to WebAssembly compiler
DHC166over 7 years agoa Haskell compiler that accepts only a tiny subset of the language and produces WebAssembly binaries
haskell-wasm151over 2 years agoHaskell WebAssembly Toolkit. It includes Language helpers and a fully spec-compatible WASM interpreter
wasm-cross141about 6 years agoA toolchain for cross compiling C and Haskell to WebAssembly, using the WebGHC and LLVM

Awesome WebAssembly Languages / Contents / Janet top⇈

Janet3,598almost 2 years agomain repository. You can try it out

Awesome WebAssembly Languages / Contents / Java top⇈

TeaVM2,666almost 2 years agoan ahead-of-time translating compiler (transpiler) of Java bytecode, that's capable of emitting JavaScript and WebAssembly
JWebAssembly1,003over 3 years agoA 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
Bytecoder903almost 2 years agoA Rich Domain Model for Java Bytecode and Framework to interpret and transpile it to other languages such as JavaScript, OpenCL or WebAssembly
CheerpJ490almost 2 years agoA Java compiler for the web that converts any Java client application into standard HTML5/WebAssembly/JavaScript
Rise JVM10over 4 years agoRise JVM is a minimal Java VM based on WASM. You can try it out

Awesome WebAssembly Languages / Contents / JavaScript top⇈

Duktape5,971over 2 years agoan embeddable Javascript engine, with a focus on portability and compact footprint that's capable of being run in the browser via WebAssembly
Javy2,312almost 2 years agoa JavaScript to WebAssembly toolchain, capable of generating WASI-compatible modules from JS by embedding the QuickJS engine
SpiderMonkey90almost 4 years agoexperimental Rust bindings and generic builtins for SpiderMonkey for building WASI-compatible modules from JavaScript
quickjs-emscripten1,334about 2 years agoSafely execute untrusted Javascript in your JS/TS, and execute synchronous code that uses async functions
wasmedge-quickjs498almost 2 years agoA high-performance, secure, extensible, and OCI-complaint JavaScript runtime for WasmEdge. Features TCP/UDP support via WasmEdge Sockets
Boa5,220almost 2 years agoan embeddable and experimental Javascript engine written in Rust. You can try it out
goja5,690almost 2 years agoan implementation of ECMAScript 5.1 in pure Go with emphasis on standard compliance and performance
otto8,156almost 2 years agoa JavaScript parser and interpreter written natively in Go

Awesome WebAssembly Languages / Contents / Julia top⇈

julia-wasm336almost 5 years agoEmscripten & LLVM Julia to WASM compiler
WebAssemblyCompiler.jlJulia to Wasm GC compiler via Binaryen

Awesome WebAssembly Languages / Contents / KCL top⇈

KCLVM1,732almost 2 years agoLLVM-based KCL compiler, which can generate WASM

Awesome WebAssembly Languages / Contents / Kotlin top⇈

Kotlin/Wasm (Kotlin WebAssembly)
Kotlin/Wasm examples532about 2 years ago

Awesome WebAssembly Languages / Contents / Kou top⇈

Kou134about 7 years agomain repository

Awesome WebAssembly Languages / Contents / LabVIEW top⇈

G Web Development SoftwareA standalone development environment implementing a subset of the G dataflow graphical programming language to create web-based user interfaces for test and measurement applications
Vireo48about 2 years agoAn 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 Emacs33about 3 years agotranslates Low Level Lisp into WebAssembly
Wisp245about 2 years agoWisp is a Lisp system for WebAssembly and native execution

Awesome WebAssembly Languages / Contents / Lobster top⇈

Lobster home
Lobster docs
Lobster github2,309almost 2 years ago
Compile to Wasmhow to compile
Wasm backend detailshow it is implemented, useful for other language implementors

Awesome WebAssembly Languages / Contents / Lox top⇈

loxcraft279almost 2 years agouses WebAssembly for its

Awesome WebAssembly Languages / Contents / Lua top⇈

WasmLua795almost 3 years agoa Lua VM running in the browser
Luwa95over 7 years agoa Lua-to-wasm JIT compiler
Wasmoon498about 2 years agoa high level Lua VM with JS bindings
Wasm2Lua194almost 5 years agocan compile WebAssembly modules to pure Lua (or with FFI LuaJIT for extra speed)
DCLua920over 4 years agoa 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/lua25about 3 years ago(aka ofunc/lua) - a fork of DCLua, featuring IO capabilities, HTTP client, IoC, and more
GopherLua6,322almost 2 years agoa 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
Pluto395almost 2 years agoa superset of Lua 5.4 with a focus on general-purpose programming. You can try it out
PlutoScript4almost 2 years agoPluto's extension aimed for web scripting. Provides JS interop and ability to use Pluto anywhere JavaScript works

Awesome WebAssembly Languages / Contents / Lys top⇈

Lys419about 2 years agomain repository

Awesome WebAssembly Languages / Contents / MoonBit top⇈

MoonBitmain website. You can try the language out
Core library651almost 2 years agoopen-sourced standard library. Compiler source code is not available yet

Awesome WebAssembly Languages / Contents / Nelua top⇈

Nelua2,094almost 2 years agoproject repository
Nelua on the Web2,094almost 2 years agoNelua-wasm discussion

Awesome WebAssembly Languages / Contents / Nerd top⇈

Nerd3,585over 3 years agomain repository

Awesome WebAssembly Languages / Contents / Never top⇈

Never436over 2 years agoproject repository
Never on the WebNever language demo

Awesome WebAssembly Languages / Contents / Nim top⇈

nlvm711almost 2 years agoLLVM-based compiler for Nim with a WebAssembly target supported out of the box
nwasm48about 6 years agoa webassembly backend for nim
Nim wasm helpers28over 7 years agoa helper to set up a VM configured to build WebAssembly code using Nim

Awesome WebAssembly Languages / Contents / Ocaml top⇈

Ocaml79about 6 years agoa fork of main repo containing work on OCaml to wasm compilation

Awesome WebAssembly Languages / Contents / Pascal top⇈

Free PascalFree Pascal compilation target and Pascal-to-Javascript runtime

Awesome WebAssembly Languages / Contents / Perl top⇈

WebPerl277over 3 years agoPerl 5 in the browser

Awesome WebAssembly Languages / Contents / PHP top⇈

PIB962almost 4 years agoa PHP runtime in the browser
PHP WASM85almost 2 years agomaintained fork of PIB with PHP 8 support based on the work of
WebAssembly Language Runtimes338over 2 years agoup-to-date PHP (including php-cgi) prebuilt for WASI

Awesome WebAssembly Languages / Contents / Plorth top⇈

Plorth16almost 9 years agomain repository

Awesome WebAssembly Languages / Contents / Poetry top⇈

Poetry55over 7 years agomain repository

Awesome WebAssembly Languages / Contents / Python top⇈

Pyodide12,406almost 2 years agoa 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
MicroPython19,551almost 2 years agoa lean and efficient Python implementation for microcontrollers and constrained systems
RustPython19,301almost 2 years agoA Python 3 interpreter written in Rust. Check the demo
RPython30over 3 years agoA RPython (PyPy's Restricted Python) to WebAssembly compiler
TPython6about 4 years agoPythonic++ (a "dialect" of C++) to WebAssembly compiler
micropython-wasm46almost 4 years agoMicroPython build which features wide JS interop, e.g. waiting for JS promises
WebAssembly Language Runtimes338over 2 years agoup-to-date CPython prebuilt for WASI

Awesome WebAssembly Languages / Contents / Prolog top⇈

SWI-Prolog port to WebAssembly76about 4 years agoa 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 Prolog278almost 2 years agoincludes 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⇈

WebR1over 2 years agoR in the Browser. You can try it out

Awesome WebAssembly Languages / Contents / Rego top⇈

OPA-Wasm9,778almost 2 years agoCompilation and evaluation of Rego policies using Wasm
npm-opa-wasm139almost 2 years agoNPM module providing an SDK for using Wasm compiled OPA policies
rust-opa-wasm50almost 2 years agoA crate to use OPA policies compiled to Wasm
dotnet-opa-wasm45about 2 years agoCall OPA policies in Wasm from C# .NET Core
python-opa-wasm10over 3 years agoOPA Wasm SDK for Python
java-opa-wasm15over 2 years agoOPA Wasm SDK for Java

Awesome WebAssembly Languages / Contents / Ring top⇈

Ring1,282almost 2 years agomain repository. You can try it out
WASM apps in Ringlist of demo web applications implemented in Ring

Awesome WebAssembly Languages / Contents / Roc top⇈

roc4,524almost 2 years agomain repository. You can try it out
basic-cli90almost 2 years agoa Roc to work with files, commands, HTTP, TCP, command line arguments, etc
basic-webserver79almost 2 years agoa basic Web Server for Roc

Awesome WebAssembly Languages / Contents / Ruby top⇈

Wruby14almost 8 years agoWeb ruby - a port of minimal ruby (mruby)
run.rb600almost 4 years agorun.rb - allows you to run Ruby code in the browser
Artichoke3,056almost 2 years agoa Ruby implementation written in Rust and Ruby. You can try it out here:
ruby.wasm702almost 2 years agoa collection of "official" WebAssembly ports of the CRuby. You can try it out
rlang38almost 4 years agoRlang - a (subset of) Ruby to WebAssembly compiler
cry-wasm29about 3 years agospeeds 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
Ruvy293almost 2 years agotoolchain for bundling ruby.wasm pre-initialized and bundled with Ruby code
WebAssembly Language Runtimes338over 2 years agoup-to-date MRI Ruby prebuilt for WASI

Awesome WebAssembly Languages / Contents / Rust top⇈

Rust wasm32-unknown-unknown targetRust compiler backend for WebAssembly (without the need for Emscripten)
Wargo261almost 9 years agoa simple npm package that makes compiling Rust to WebAssembly easy on macOS or Linux
RustWasmLoader82over 7 years agoA simple Webpack loader that shells out to cargo to build a Rust project targeting WebAssembly
CargoWeb1,107almost 3 years agoThis cargo subcommand aims to make it easy and convenient to build, develop and deploy client-side Web applications written in Rust
Wasm-Bindgen7,887almost 2 years agoA library and a CLI for Rust that facilitate high-level interactions between wasm modules and JavaScript
Woz169over 6 years agoWoz 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⇈

Schism207over 6 years agoSchism 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.wasm171over 3 years agoAn R7RS Scheme implemented in WebAssembly. You can try it out
Guile Hoota Scheme to WebAssembly compiler backend for GNU Guile and a general purpose WASM toolchain

Awesome WebAssembly Languages / Contents / Scopes top⇈

Scopesmain repository

Awesome WebAssembly Languages / Contents / Swift top⇈

SwiftWasmGitHub organization

Awesome WebAssembly Languages / Contents / Tcl top⇈

Wacl48over 9 years agoA Tcl distibution for WebAssembly or Javascript. Features JS/DOM bindings. You can try it out

Awesome WebAssembly Languages / Contents / Theta top⇈

ThetaLang38almost 2 years agomain repository

Awesome WebAssembly Languages / Contents / TurboScript top⇈

TurboScript496about 9 years agomain repository

Awesome WebAssembly Languages / Contents / V top⇈

V35,918almost 2 years agomain repository. You can try it out

Awesome WebAssembly Languages / Contents / Virgil top⇈

Virgil1,245almost 2 years agomain repository

Awesome WebAssembly Languages / Contents / Wa top⇈

Wa/凹语言(English)Design for WebAssembly
Wa/凹语言(简体中文)凹语言 - 为 WebAssembly 而生
Wa/凹语言(仓库)1,313almost 2 years agomain repository

Awesome WebAssembly Languages / Contents / Wase top⇈

Wase45over 3 years agomain repository

Awesome WebAssembly Languages / Contents / WebAssembly top⇈

Wasm37,359about 2 years agomain repository
Wasm3 on WAPMWAPM package

Awesome WebAssembly Languages / Contents / Wonkey top⇈

Wonkey124over 3 years agomain repository. Check the demo games

Awesome WebAssembly Languages / Contents / xcc top⇈

xcc279almost 2 years agomain repository
Online demo

Awesome WebAssembly Languages / Contents / Zig top⇈

Zig WebAssemblydocumentation on WebAssembly

Backlinks from these awesome lists:

More related projects: