Open-source wasm software
162 open-source libraries, tools and applications tagged wasm, ranked by how closely wasm is their primary purpose, then by adoption and maintenance health. Each entry links to a page with sources, use cases and when to choose or avoid it.
162 products, primary matches first, then adoption-weighted; health v2 shown.
| Product | Health v2 | Stars | Maturity |
|---|---|---|---|
| Linera Linera is a decentralized Layer-1 blockchain protocol implemented in Rust, designed for highly scalable, low-latency Web3 applications usin… | 84 | 32056 | active |
| emscripten-core/emscripten Emscripten is an LLVM-to-WebAssembly compiler toolchain that compiles C and C++ (and other LLVM-based languages) to run on the Web, Node.js… | 99 | 27703 | active |
| RustPython RustPython is a Python 3 interpreter implemented entirely in Rust, with no CPython bindings. It can be embedded in Rust applications as a s… | 68 | 22405 | active |
| Wasmer Wasmer is a high‑performance WebAssembly runtime that provides fast, secure sandboxes for running applications. It can be used via a CLI, e… | 98 | 21118 | active |
| Wasmtime Wasmtime is a standalone WebAssembly runtime built on the Cranelift code generator, usable both as a CLI and as an embeddable library. It s… | 95 | 18712 | stable |
| Ruffle Ruffle is an open-source Adobe Flash Player emulator written in Rust, targeting desktop and the web via WebAssembly. It supports ActionScri… | 99 | 18709 | active |
| AssemblyScript AssemblyScript is a compiler that translates a TypeScript-like language with WebAssembly types into lean WebAssembly modules, built on Bina… | 93 | 18033 | active |
| ffmpegwasm/ffmpeg.wasm A WebAssembly/JavaScript port of FFmpeg that runs video and audio recording, conversion, and streaming entirely in the browser. It transpil… | 78 | 17863 | active |
| tinygo-org/tinygo TinyGo is an alternative Go compiler based on LLVM designed for small places such as microcontrollers, WebAssembly (WASM/WASI), and compact… | 92 | 17801 | active |
| leaningtech/webvm WebVM is a Linux virtual machine that runs entirely client-side in the browser via WebAssembly, powered by the CheerpX x86-to-WASM JIT engi… | 67 | 17437 | active |
| electric-sql/pglite PGlite is a WASM build of PostgreSQL packaged as a TypeScript client library that runs a full Postgres database in the browser, Node.js, Bu… | 89 | 16142 | active |
| Pyodide Pyodide is a port of CPython to WebAssembly/Emscripten, distributed for the browser and Node.js. It lets you run Python, including packages… | 96 | 14855 | active |
| sql.js sql.js is SQLite compiled to WebAssembly (and JavaScript via Emscripten), allowing you to create and query relational databases entirely in… | 83 | 13668 | stable |
| StackBlitz Online IDE StackBlitz is an online IDE powered by Visual Studio Code that runs entire development environments, including Node.js, directly in the bro… | 32 | 10889 | active |
| WasmEdge WasmEdge is a lightweight, high-performance, extensible WebAssembly runtime hosted by CNCF, designed for cloud native, edge, and decentrali… | 98 | 10811 | active |
| wasm-bindgen/wasm-bindgen wasm-bindgen is a Rust library and CLI tool that generates high-level bindings between WebAssembly modules and JavaScript, allowing rich ty… | 99 | 9193 | stable |
| cloudflare/workerd workerd is the open-source JavaScript/Wasm server runtime based on the same code that powers Cloudflare Workers. It can be used as an appli… | 96 | 9034 | active |
| maxence-charriere/go-app go-app is a Go package for building progressive web apps (PWAs) using WebAssembly, with a declarative, component-based UI syntax written en… | 92 | 8964 | active |
| napi-rs NAPI-RS is a Rust framework for building pre-compiled Node.js add-ons via Node-API, with a CLI for zero-config builds, cross-compilation, a… | 93 | 7940 | stable |
| tiagozip/cap Cap is a lightweight, open-source, self-hosted CAPTCHA alternative to reCAPTCHA, hCaptcha, and Cloudflare Turnstile. It uses invisible proo… | 82 | 7906 | active |
| wasm-bindgen/wasm-pack wasm-pack is a command-line workflow tool for building Rust code into WebAssembly packages that interoperate with JavaScript. It scaffolds … | 81 | 7290 | active |
| WebAssembly/WASI WASI (WebAssembly System Interface) is a set of standardized APIs that let WebAssembly modules access system resources like files, clocks, … | 91 | 5818 | active |
| Extism Extism is a cross-language framework for building with WebAssembly, providing host SDKs and plugin development kits to securely load and ru… | 95 | 5794 | active |
| lunatic-solutions/lunatic Lunatic is an Erlang-inspired runtime for WebAssembly that provides super lightweight, sandboxed processes for building fast, fault-toleran… | 25 | 4894 | active |
| rivet-dev/agentos agentOS is a library that gives AI agents a lightweight operating system running inside your existing backend process, using WebAssembly an… | 94 | 4809 | active |
| trunk-rs/trunk Trunk is a build tool and bundler for Rust WASM web applications, driven by a source HTML file with optional configuration. It bundles WASM… | 77 | 4398 | active |
| mdaines/viz-js Viz.js is a WebAssembly build of Graphviz with a JavaScript wrapper, allowing DOT graph descriptions to be rendered as SVG in the browser o… | 95 | 4347 | active |
| PyScript PyScript is an open‑source framework that lets you write and run Python code directly in the browser using WebAssembly. It combines Pyodide… | 93 | 18688 | maintenance |
| PyScript PyScript is an open source platform for running Python directly in the browser, built on Pyodide (CPython), MicroPython, and WebAssembly. I… | 93 | 18688 | maintenance |
| EmulatorJS/EmulatorJS EmulatorJS is a JavaScript library that embeds RetroArch (compiled to WebAssembly) into any website, enabling browser-based emulation of ma… | 79 | 4270 | active |
| cloudflare/workers-rs Ergonomic Rust bindings for the Cloudflare Workers runtime, letting developers write entire Workers in Rust compiled to WebAssembly. It pro… | 97 | 3720 | active |
| grain-lang/grain Grain is a strongly-typed functional programming language that compiles to WebAssembly, together with its compiler toolchain and CLI. It ai… | 85 | 3468 | active |
| TeaVM TeaVM is an ahead-of-time compiler that translates Java bytecode (from Java, Kotlin, or Scala) into JavaScript, WebAssembly, or C. It ships… | 95 | 3132 | active |
| tinysearch/tinysearch tinysearch is a lightweight full-text search engine for static websites, written in Rust and compiled to WebAssembly to run entirely in the… | 96 | 2975 | active |
| coder/ghostty-web A web-based terminal emulator library that compiles Ghostty's native VT100 parser to WebAssembly and exposes an xterm.js-compatible API. It… | 49 | 2960 | active |
| container2wasm/container2wasm container2wasm is a Go CLI tool that converts container images (e.g. Docker images) into WASM binaries that can run on WASI runtimes or in … | 84 | 2800 | active |
| bytecodealliance/javy Javy is a JavaScript-to-WebAssembly toolchain that compiles JavaScript source into small Wasm modules executed in an embedded JS runtime. I… | 91 | 2756 | active |
| ill-inc/biomes-game Biomes is an open-source sandbox MMORPG that runs entirely in the web browser, built with Next.js, TypeScript, React, and WebAssembly. It f… | 66 | 2687 | active |
| near/nearcore nearcore is the reference client implementation of the NEAR Protocol, a sharded proof-of-stake blockchain written in Rust. It runs full nod… | 97 | 2618 | active |
| evgeny-nadymov/telegram-react An experimental Telegram web client built with ReactJS and TDLib compiled to WebAssembly. It runs entirely in the browser and can be self-h… | 32 | 2598 | active |
| flyfish-dev/file-viewer A browser-native file preview library that renders Office documents (DOCX, XLSX, PPTX), PDF/OFD, CAD files (DWG, DXF), archives, email, dia… | 82 | 2559 | active |
| numberwolf/h265web.js A browser-based HEVC/H.265 (and H.264/AV1) video player SDK supporting live and VOD playback over HTTP-FLV, HLS, MP4, TS, WebSocket, and We… | 93 | 2346 | active |
| wasmi-labs/wasmi Wasmi is an efficient, lightweight WebAssembly interpreter written in Rust, focused on constrained and embedded (no_std) environments. It o… | 96 | 2317 | active |
| WordPress Playground WordPress Playground runs a full WordPress site entirely in the browser (or Node.js) using PHP compiled to WebAssembly, with no server or d… | 98 | 1972 | active |
| react-unity-webgl A React library for embedding Unity WebGL builds in React applications with advanced two-way communication APIs between Unity and React. It… | 79 | 1890 | active |
| wa-lang/wa Wa (凹) is a general-purpose, statically typed programming language designed for WebAssembly, with a fully self-developed compiler and runti… | 71 | 1770 | active |
| justjake/quickjs-emscripten TypeScript bindings for the QuickJS JavaScript interpreter compiled to WebAssembly, letting you safely evaluate untrusted JavaScript inside… | 71 | 1729 | active |
| whitphx/stlite Stlite is a port of the Streamlit Python data-app framework that runs entirely in the browser via Pyodide (WebAssembly-compiled Python), wi… | 96 | 1675 | active |
| joaomoreno/gifcap gifcap is a browser-based screen recorder that captures your screen or a single window and encodes it into an optimized animated GIF entire… | 56 | 1658 | active |
| mihaip/infinite-mac Infinite Mac is a browser-based emulator of classic Macintosh computers (System 1 through Mac OS 9 and early PPC Macs), built on WebAssembl… | 86 | 1640 | active |
| nasa/spacewasm SpaceWasm is a no_std WebAssembly 1.0 decoder, validator, and interpreter written in Rust, developed at NASA JPL for executing Wasm binarie… | 77 | 1591 | active |
| aduros/wasm4 WASM-4 is a low-level fantasy game console for building small retro games with WebAssembly. Games are self-contained .wasm cartridges built… | 65 | 1538 | active |
| dtolnay/watt Watt is a Rust runtime for executing procedural macros that have been compiled ahead-of-time to WebAssembly. It lets downstream users run m… | 61 | 1531 | active |
| x1unix/go-playground An improved web-based Go Playground with syntax highlighting, code autocompletion, VIM mode, and WebAssembly support. It can be self-hosted… | 84 | 1489 | active |
| bytecodealliance/wit-bindgen A suite of bindings generators that produce guest-language bindings from WIT (WebAssembly Interface Types) files for the WebAssembly Compon… | 97 | 1468 | active |
| AlexEne/twiggy Twiggy is a code size profiler for WebAssembly binaries. It analyzes a binary's call graph to explain why functions are included and how mu… | 10 | 1428 | active |
| containerd/runwasi A Rust library and set of containerd shims that let containerd run WebAssembly/WASI workloads directly or via Kubernetes through the CRI pl… | 93 | 1341 | active |
| js-dos js-dos is a TypeScript library and API for running DOS and Windows 9x programs in the browser or Node.js, acting as a frontend for DOSBox/D… | 98 | 1338 | active |
| ngxson/wllama wllama is a WebAssembly binding for llama.cpp that enables running LLM inference entirely in the browser, with WebGPU support, multimodal i… | 88 | 1294 | active |
| webЯcade webЯcade is a web-based front end for playing retro games in the browser via emulators and game engines, driven by user-defined cloud-based… | 90 | 1276 | active |
| Greenfield Greenfield is an HTML5 Wayland compositor that runs native Linux applications remotely in a web browser, or WebAssembly applications direct… | 42 | 1276 | active |
| wormtql/genshin_artifact Mona Divination Shop is a web application for Genshin Impact that computes damage, automatically optimizes artifact (relic) combinations, a… | 38 | 1273 | active |
| OpenSilver OpenSilver is an open-source, MIT-licensed framework for building cross-platform applications with C#, VB.NET, or F# and XAML, powered by W… | 75 | 1270 | active |
| KonghaYao/cn-font-split A Rust-based font subsetting tool that splits large CJK and other character fonts (otf, ttf, woff2) into small, web-ready packages with fin… | 73 | 1251 | active |
| Myriad-Dreamin/typst.ts Typst.ts brings the Typst typesetting engine to JavaScript environments via WebAssembly, providing a Typst World implementation plus export… | 87 | 1222 | active |
| nmrugg/stockfish.js A WebAssembly and asm.js port of the Stockfish chess engine (currently version 18) that runs entirely in web browsers. It ships in multiple… | 85 | 1200 | active |
| leaningtech/cheerp-meta Cheerp is an LLVM/Clang-based C/C++ compiler toolchain that compiles C and C++ code to WebAssembly and JavaScript for use in browsers and N… | 39 | 1191 | active |
| ocsigen/js_of_ocaml Js_of_ocaml is a compiler that translates OCaml bytecode to JavaScript, allowing pure OCaml programs to run in browsers and Node.js. It wor… | 93 | 1133 | active |
| r-wasm/webr WebR is the R statistical programming language compiled to WebAssembly via Emscripten, allowing R code to run directly in web browsers and … | 83 | 1096 | active |
| arianrhodsandlot/retroassembly RetroAssembly is a self-hostable, browser-based retro game emulator frontend that lets users organize and play their ROM collections from c… | 87 | 1082 | active |
| sqlite/sqlite-wasm An npm package that wraps the official SQLite WebAssembly (Wasm) build as a convenient ES Module with added TypeScript types. It enables ru… | 93 | 1058 | active |
| i-net-software/JWebAssembly JWebAssembly is a Java bytecode to WebAssembly compiler that takes Java class files as input and generates .wasm binary or .wat text output… | 66 | 1056 | active |
| ThatOpen/engine_web-ifc web-ifc is a JavaScript/TypeScript library backed by a C++ WASM module for reading and writing IFC (BIM) files at native speeds. It is part… | 97 | 1053 | active |
| Kagami/ffmpeg.js FFmpeg compiled to JavaScript/WebAssembly via Emscripten, optimized for in-browser use with WebM and MP4 builds plus Web Worker wrappers. I… | 32 | 3460 | maintenance |
| mkkellogg/GaussianSplats3D A Three.js-based renderer for 3D Gaussian splatting scenes, viewable in real time in the browser. It supports .ply, .splat, and a custom co… | 43 | 2894 | maintenance |
| d07RiV/diabloweb A WebAssembly port of Diablo 1 (based on the devilution reverse-engineered source) that runs the classic game directly in web browsers. It … | 32 | 2886 | maintenance |
| TokamakUI/Tokamak Tokamak is a SwiftUI-compatible framework that lets developers build browser apps rendered to the DOM via WebAssembly, with a goal of suppo… | 10 | 2835 | maintenance |
| jameslittle230/stork Stork is a Rust-based tool for adding fast, client-side full-text search to static websites. It consists of a CLI that builds a search inde… | 23 | 2759 | maintenance |
| snaplet/postgres-wasm A proof-of-concept project that runs a full PostgreSQL server inside an x86 virtual machine (via v86) directly in the browser. It packages … | 10 | 2320 | maintenance |
| perlin-network/life Life is a secure and fast WebAssembly virtual machine written in pure Go, featuring an interpreter and an experimental AOT compilation engi… | 32 | 1690 | maintenance |
| eosjs EOSIO is an open-source blockchain smart contract platform written in C++ that executes contracts via WebAssembly. It provides high-perform… | 10 | 1422 | maintenance |
| manuels/texlive.js A JavaScript port of TeX Live 2016 that compiles LaTeX code entirely in the browser using an emscripten-compiled pdftex. It produces PDF fi… | 32 | 1272 | maintenance |
| vim.wasm An experimental port of the Vim text editor compiled to WebAssembly using Emscripten, running in the browser via a Web Worker with SharedAr… | 50 | 5646 | experimental |
| chartshq/muze Muze is a free, composable data visualization library for the web that uses a layered Grammar of Graphics approach and WebAssembly for perf… | 10 | 1183 | maintenance |
| ballercat/walt Walt is a JavaScript-like alternative syntax for the WebAssembly text format that compiles .walt files directly to WebAssembly binaries. It… | 23 | 4631 | experimental |
| GetFirefly/firefly Firefly is an alternative implementation of the BEAM virtual machine, including a compiler and runtime for BEAM languages like Erlang and E… | 10 | 3581 | experimental |
| theseus-os/Theseus Theseus is a research operating system written from scratch in Rust that explores intralingual design, shifting OS responsibilities like re… | 32 | 3204 | experimental |
| artichoke/artichoke Artichoke is a Ruby implementation written in Rust and Ruby, aiming for MRI compatibility and targeting recent MRI Ruby. It can compile to … | 10 | 3125 | experimental |
| asm-dom asm-dom is a minimal WebAssembly virtual DOM library that lets developers build single-page applications entirely in C++ compiled with Emsc… | 23 | 2826 | experimental |
| microsoft/aici AICI (Artificial Intelligence Controller Interface) is a Microsoft Research prototype that lets developers write Wasm-based controllers to … | 19 | 2078 | experimental |
| tomaka/redshirt Redshirt is an experimental operating system written in Rust where all executables are WebAssembly programs loaded from an IPFS-like decent… | 54 | 1435 | experimental |
| tantaraio/voy Voy is a tiny vector similarity search engine written in Rust and compiled to WebAssembly, using a k-d tree index for fast nearest-neighbor… | 32 | 1076 | experimental |
| coolwanglu/vim.js Vim.js is a JavaScript port of the Vim text editor, compiled from C to run in the browser via Emscripten with ASM.js support. It offers per… | 10 | 4440 | abandoned |
| krustlet/krustlet Krustlet is a Kubernetes kubelet written in Rust that runs WebAssembly (WASI) workloads instead of containers, using a wasmtime-based runti… | 23 | 3600 | abandoned |
| React Native DOM An experimental, comprehensive port of React Native to the web, running app logic in web workers while the main thread handles rendering. I… | 32 | 3241 | abandoned |
| wasmerio/winterjs WinterJS is a high-performance JavaScript server that executes Service Worker scripts following the WinterCG specification, built on Spider… | 10 | 3188 | abandoned |
| feather-rs/feather Feather is a Minecraft server implementation written in Rust, built on the libcraft crates and the Quill WebAssembly plugin API. It aims fo… | 23 | 2700 | abandoned |
| tweag/asterius Asterius is a Haskell to WebAssembly compiler based on GHC that compiles Haskell source files or Cabal executables to WebAssembly plus Java… | 10 | 1947 | abandoned |
| ONNX.js ONNX.js is a JavaScript library for running pre-trained ONNX machine learning models directly in browsers and Node.js, using WebAssembly fo… | 10 | 1814 | abandoned |
| CADmium-Co/CADmium CADmium is a browser-based parametric CAD program built in Rust (compiled to WASM) with a SvelteKit UI, targeting hobbyist mechanical desig… | 10 | 1637 | abandoned |
page 1 / 2 next →