😎 A curated list of awesome, language-agnostic WebAssembly tools
528
56 commits
updated Sep 2, 2026
A collection of useful, language-agnostic WebAssembly development tools.
👉 Contributions are welcome! Please read the contribution guidelines. 😎
WebAssembly Code Explorer | online tool
A simple binary explorer with neat binary code highlighting.
Weave | online tool
Another simple binary explorer.
wasm-opt | part of Binaryen
wasm-opt --print test.wasmGraphviz:wasm-opt --print-call-graph test.wasm | dot -Tpng -o callgraph.pngwasm-opt --dwarfdump test.wasmwasm-opt --func-metrics test.wasmwasm-decompile | part of WABT, article
wasm-decompile decompiles a wasm binary into readable code. It generates output that tries to look like a "very average programming language" while still staying close to the wasm it represents.
wasmdec | repo, online tool
Converts WebAssembly binaries to C. Similar to wasm2c.
wasp | repo
Generate callgraphs, CFG and DFG graphs for wasm functions.
wasm-objdump | part of WABT
Print low-level details about a .wasm binary and each of its sections.
wasm-nm | repo
List the imported, exported, and private function symbols defined within a .wasm binary.
Modsurfer | home, repo
Diagnostics and auditing tool for searching, browsing, validating, and investigating WebAssembly modules and components.
Twiggy | repo
Code size profiler, analyzes a binary's call graph.
Manticore | repo, article
Symbolic execution of WebAssembly binaries.
Owi | docs, repo
Framework for WebAssembly analysis and manipulation, with a focus on practical symbolic execution.
Octopus | repo
Security analysis framework for WebAssembly modules and Smart Contracts.
Wassail | repo
A toolkit to perform both lightweight and heavyweight static analysis of WebAssembly modules.
wasm-opcodecnt | part of WABT
Count wasm opcode usage statistics.
wasm-opt | part of Binaryen
wasm-opt test.wasm --asyncify -O3 -o asyncified.wasmwasm-opt test.wasm --instrument-memory --instrument-locals --log-execution -o instrumetred.wasmwizer | repo
Don't wait for your Wasm module to initialize itself, pre-initialize it! Wizer instantiates your WebAssembly module, executes its initialization function, and then snapshots the initialized state out into a new WebAssembly module.
wasm2c | part of WABT,
article 1,
article 2
Takes a WebAssembly module and produces an equivalent (and runnable) C source and header.
wasm-snip | repo
Replaces a WebAssembly function's body with an unreachable.
wasmonkey | repo
Magically turns exported WASM functions into imported functions.
wasm-meter | npm, repo
Injects metering into webassembly binaries. This counts computation time for a given program in units of gas (and allows limiting it).
CROW | repo
The Wasm superdiversifier. It takes C source code or LLVM bitcode as input and generates several functionally equivalent, but diverse Wasm binaries.
watr | repo, npm, demo
Light and fast WAT compiler for compiling, parsing, printing, formatting, optimizing, and polyfilling WebAssembly text.
jco | docs, repo
JavaScript-native toolchain for working with WebAssembly Components, including transpiling components to ES modules and creating components from JavaScript.
ComponentizeJS | repo
Tool for turning JavaScript modules into WebAssembly components.
wit-bindgen | repo
Guest language bindings generator for WIT and the WebAssembly Component Model.
wac | repo, docs
WebAssembly Compositions tool for composing components together from the command line or from .wac composition files.
cargo-component | repo, crate
Cargo subcommand for building Rust WebAssembly components from WIT worlds.
wkg, wasm-pkg-tools | repo, crate
Tools for fetching and publishing WebAssembly components and WIT packages to OCI or Warg registries.
WASI-Virt | repo
Virtualization component generator for WASI Preview 2 APIs, useful for encapsulating or restricting component access to host capabilities.
wasm3-strace | wapm, repo
Structured, seamless tracing of arbitrary WebAssembly/WASI execution.
Wasabi | home, repo
"WebAssembly analysis using binary instrumentation", a dynamic analysis framework.
wasmsign2 | repo
A tool to add and verify digital signatures to/from WASM binaries.
swam | repo
A WASM interpreter with advanced tracing capabilities.
wasm-language-tools | home, repo
Language server and formatter for WebAssembly Text Format, with completion, diagnostics, navigation, inlay hints, and call hierarchy.
Hexana | docs, repo
WebAssembly and binary analysis toolkit for JetBrains IDEs and VS Code, including structured .wasm inspection, WAT and WIT support, and run/debug integrations.
vscode-wit | repo
Visual Studio Code extension for WIT, with syntax highlighting, validation, formatting, bindings generation, and component inspection.
Chrome DevTools | article
LLDB | article
wasminspect | repo
An interactive and self-contained debugger for WebAssembly/WASI.
Tool Conventions | docs
Documents describing conventions useful for coordinating interoperability between wasm-related tools.
Binaryen | repo
WebAssembly compiler and toolchain infrastructure with tools for parsing, emitting, optimizing, interpreting, reducing, merging, and compiling WebAssembly.
WABT | repo
The WebAssembly Binary Toolkit, a suite of command-line tools for converting, inspecting, validating, and manipulating WebAssembly binaries and text.
Javy | repo
JavaScript-to-WebAssembly toolchain based on QuickJS, producing compact WASI modules.
wasm2json, json2wasm | npm, repo
A small toolkit for converting wasm binaries into json and back. Incredibly helpful for experimenting and creating your own transformations.
walrus | repo
Rust library for performing WebAssembly transformations in a robust and ergonomic fashion.
waffle | repo, crate
Rust SSA IR framework for WebAssembly analysis and Wasm-to-Wasm transforms.
wasp | repo
C++ library designed to make it easy to work with WebAssembly modules.
Binaryen.js | repo
A port of Binaryen to the Web, allowing you to generate WebAssembly using JavaScript.
wasm-tools | repo
Rust tooling for low-level manipulation of WebAssembly modules.
wasm-smith test case generator is of particular interest.
wasm-shrink shrinks a Wasm file while preserving an interesting property (such as triggering a bug).
wasm-debug | repo, crate
A runtime-independent Rust library that provides functionality to read, transform, and write DWARF section.
witx-codegen | repo
A code generator to access WebAssembly standard APIs from different programming languages. Can also generate documentation.
Articles
Extism | home, repo
Cross-language framework for building WebAssembly-based plugin systems with host SDKs and guest PDKs.
Spin | home, repo
Framework and CLI for building, running, and distributing serverless WebAssembly applications.
wasmCloud, wash | docs, repo
Cloud-native platform and CLI for developing, building, publishing, and running WebAssembly components.
SpinKube | home, repos
Kubernetes-native stack for deploying and operating Spin-based WebAssembly workloads.
runwasi | docs, repo
Containerd shim infrastructure for running WebAssembly workloads through containerd and Kubernetes.
WebAssembly Opcode Table | docs
WebAssembly Feature Status | docs
Matrix tracking WebAssembly feature support across popular browsers, standalone runtimes, and tools.
490 followers · starred Mar 2021
361 followers · starred Apr 2021
301 followers · starred Mar 2022
366 followers · starred Mar 2022
😎 A curated list of awesome, language-agnostic WebAssembly tools
528
56 commits
updated Sep 2, 2026
A collection of useful, language-agnostic WebAssembly development tools.
👉 Contributions are welcome! Please read the contribution guidelines. 😎
WebAssembly Code Explorer | online tool
A simple binary explorer with neat binary code highlighting.
Weave | online tool
Another simple binary explorer.
wasm-opt | part of Binaryen
wasm-opt --print test.wasmGraphviz:wasm-opt --print-call-graph test.wasm | dot -Tpng -o callgraph.pngwasm-opt --dwarfdump test.wasmwasm-opt --func-metrics test.wasmwasm-decompile | part of WABT, article
wasm-decompile decompiles a wasm binary into readable code. It generates output that tries to look like a "very average programming language" while still staying close to the wasm it represents.
wasmdec | repo, online tool
Converts WebAssembly binaries to C. Similar to wasm2c.
wasp | repo
Generate callgraphs, CFG and DFG graphs for wasm functions.
wasm-objdump | part of WABT
Print low-level details about a .wasm binary and each of its sections.
wasm-nm | repo
List the imported, exported, and private function symbols defined within a .wasm binary.
Modsurfer | home, repo
Diagnostics and auditing tool for searching, browsing, validating, and investigating WebAssembly modules and components.
Twiggy | repo
Code size profiler, analyzes a binary's call graph.
Manticore | repo, article
Symbolic execution of WebAssembly binaries.
Owi | docs, repo
Framework for WebAssembly analysis and manipulation, with a focus on practical symbolic execution.
Octopus | repo
Security analysis framework for WebAssembly modules and Smart Contracts.
Wassail | repo
A toolkit to perform both lightweight and heavyweight static analysis of WebAssembly modules.
wasm-opcodecnt | part of WABT
Count wasm opcode usage statistics.
wasm-opt | part of Binaryen
wasm-opt test.wasm --asyncify -O3 -o asyncified.wasmwasm-opt test.wasm --instrument-memory --instrument-locals --log-execution -o instrumetred.wasmwizer | repo
Don't wait for your Wasm module to initialize itself, pre-initialize it! Wizer instantiates your WebAssembly module, executes its initialization function, and then snapshots the initialized state out into a new WebAssembly module.
wasm2c | part of WABT,
article 1,
article 2
Takes a WebAssembly module and produces an equivalent (and runnable) C source and header.
wasm-snip | repo
Replaces a WebAssembly function's body with an unreachable.
wasmonkey | repo
Magically turns exported WASM functions into imported functions.
wasm-meter | npm, repo
Injects metering into webassembly binaries. This counts computation time for a given program in units of gas (and allows limiting it).
CROW | repo
The Wasm superdiversifier. It takes C source code or LLVM bitcode as input and generates several functionally equivalent, but diverse Wasm binaries.
watr | repo, npm, demo
Light and fast WAT compiler for compiling, parsing, printing, formatting, optimizing, and polyfilling WebAssembly text.
jco | docs, repo
JavaScript-native toolchain for working with WebAssembly Components, including transpiling components to ES modules and creating components from JavaScript.
ComponentizeJS | repo
Tool for turning JavaScript modules into WebAssembly components.
wit-bindgen | repo
Guest language bindings generator for WIT and the WebAssembly Component Model.
wac | repo, docs
WebAssembly Compositions tool for composing components together from the command line or from .wac composition files.
cargo-component | repo, crate
Cargo subcommand for building Rust WebAssembly components from WIT worlds.
wkg, wasm-pkg-tools | repo, crate
Tools for fetching and publishing WebAssembly components and WIT packages to OCI or Warg registries.
WASI-Virt | repo
Virtualization component generator for WASI Preview 2 APIs, useful for encapsulating or restricting component access to host capabilities.
wasm3-strace | wapm, repo
Structured, seamless tracing of arbitrary WebAssembly/WASI execution.
Wasabi | home, repo
"WebAssembly analysis using binary instrumentation", a dynamic analysis framework.
wasmsign2 | repo
A tool to add and verify digital signatures to/from WASM binaries.
swam | repo
A WASM interpreter with advanced tracing capabilities.
wasm-language-tools | home, repo
Language server and formatter for WebAssembly Text Format, with completion, diagnostics, navigation, inlay hints, and call hierarchy.
Hexana | docs, repo
WebAssembly and binary analysis toolkit for JetBrains IDEs and VS Code, including structured .wasm inspection, WAT and WIT support, and run/debug integrations.
vscode-wit | repo
Visual Studio Code extension for WIT, with syntax highlighting, validation, formatting, bindings generation, and component inspection.
Chrome DevTools | article
LLDB | article
wasminspect | repo
An interactive and self-contained debugger for WebAssembly/WASI.
Tool Conventions | docs
Documents describing conventions useful for coordinating interoperability between wasm-related tools.
Binaryen | repo
WebAssembly compiler and toolchain infrastructure with tools for parsing, emitting, optimizing, interpreting, reducing, merging, and compiling WebAssembly.
WABT | repo
The WebAssembly Binary Toolkit, a suite of command-line tools for converting, inspecting, validating, and manipulating WebAssembly binaries and text.
Javy | repo
JavaScript-to-WebAssembly toolchain based on QuickJS, producing compact WASI modules.
wasm2json, json2wasm | npm, repo
A small toolkit for converting wasm binaries into json and back. Incredibly helpful for experimenting and creating your own transformations.
walrus | repo
Rust library for performing WebAssembly transformations in a robust and ergonomic fashion.
waffle | repo, crate
Rust SSA IR framework for WebAssembly analysis and Wasm-to-Wasm transforms.
wasp | repo
C++ library designed to make it easy to work with WebAssembly modules.
Binaryen.js | repo
A port of Binaryen to the Web, allowing you to generate WebAssembly using JavaScript.
wasm-tools | repo
Rust tooling for low-level manipulation of WebAssembly modules.
wasm-smith test case generator is of particular interest.
wasm-shrink shrinks a Wasm file while preserving an interesting property (such as triggering a bug).
wasm-debug | repo, crate
A runtime-independent Rust library that provides functionality to read, transform, and write DWARF section.
witx-codegen | repo
A code generator to access WebAssembly standard APIs from different programming languages. Can also generate documentation.
Articles
Extism | home, repo
Cross-language framework for building WebAssembly-based plugin systems with host SDKs and guest PDKs.
Spin | home, repo
Framework and CLI for building, running, and distributing serverless WebAssembly applications.
wasmCloud, wash | docs, repo
Cloud-native platform and CLI for developing, building, publishing, and running WebAssembly components.
SpinKube | home, repos
Kubernetes-native stack for deploying and operating Spin-based WebAssembly workloads.
runwasi | docs, repo
Containerd shim infrastructure for running WebAssembly workloads through containerd and Kubernetes.
WebAssembly Opcode Table | docs
WebAssembly Feature Status | docs
Matrix tracking WebAssembly feature support across popular browsers, standalone runtimes, and tools.
490 followers · starred Mar 2021
361 followers · starred Apr 2021
301 followers · starred Mar 2022
366 followers · starred Mar 2022