awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
WebAssembly avatar

WebAssembly/wabt

0
View on GitHub↗
8,038 stars·812 forks·C++·Apache-2.0·17 views

Wabt

The WebAssembly Binary Toolkit is a suite of tools for inspecting, validating, and transforming WebAssembly modules between binary and human-readable representations. It includes a stack-based interpreter for executing modules and a transpiler that converts binary files into C source code and headers.

The toolkit provides utilities for assembling human-readable text into binary modules and disassembling binary files back into text. It features a text formatter for normalizing definitions into a canonical flat representation and supports the conversion of binaries into S-expression formats.

The project covers broad capability areas including binary manipulation, such as stripping metadata sections, and module inspection to extract structural statistics and debug symbols. It also provides validation tools to check binary correctness against technical specifications and a runtime environment for executing WASI-compliant logic.

Features

  • WebAssembly Binary Manipulators - Provides utilities for assembling, disassembling, and modifying the structural representation of WebAssembly binary files.
  • Binary Assembly - Transforms human-readable text definitions into binary WebAssembly modules for execution.
  • Binary Disassembly - Converts binary function bodies into human-readable text to analyze low-level instructions and relocations.
  • Binary Metadata Inspection - Extracts structural information and section headers from binary files to analyze internal composition.
  • Binary Disassemblers - Converts binary opcodes and section headers into a human-readable text representation of the module.
  • WebAssembly Stack-Based Interpretation - Runs a stack-based interpreter on binary files with configurable stack sizes and language features.
  • Binary-to-Text Disassemblers - Transforms binary files into a readable text format with configurable language features and metadata.
  • Stack-Based Virtual Machines - Implements a virtual stack machine to execute WebAssembly instructions and manage memory offsets.
  • WASI Program Execution - Runs modules compliant with the WebAssembly System Interface using environment strings and directory mappings.
  • Binary-to-C Translation - Transforms binary WebAssembly instructions into equivalent C source code and header files for native execution.
  • WASI Implementations - Provides a runtime implementation of the WebAssembly System Interface for portable system resource access.
  • WebAssembly Assemblers - Parses human-readable text definitions and encodes them into the binary WebAssembly format.
  • WebAssembly Binary Analysis - Analyzes the composition of binary modules by examining sections for types, functions, memory, and globals.
  • WebAssembly Module Structural Definitions - Analyzes the composition and metadata of binary files to extract internal structural definitions like functions and globals.
  • WebAssembly Text to Binary Assemblers - Translates human-readable text definitions into binary WebAssembly modules after verifying input syntax.
  • WebAssembly to C Transpilers - Transforms binary WebAssembly files into C source and header files for execution in native C environments.
  • Binary Specification Validation - Verifies that binary modules adhere to the structural and logical requirements of the WebAssembly specification.
  • Binary Section Stripping - Filters binary modules by removing specific metadata or user-defined sections to reduce the final file size.
  • Debug Symbol Extractors - Reads debug names and metadata from binary modules to recover original source identifiers.
  • Binary Metadata Stripping - Removes specific sections from binary files to reduce file size or hide metadata.
  • Optimized WebAssembly Interpreters - Implements a stack-based execution engine for running WebAssembly modules and WASI-compliant logic.
  • Specification Compliance Testing - Executes binary modules via an interpreter to validate logic and verify specification compliance.
  • WebAssembly Text Formatters - Converts binary modules into human-readable text and normalizes definitions into a canonical flat representation.
  • WebAssembly Text Normalizers - Normalizes and formats WebAssembly text definitions into a canonical flat representation.
  • Test Suite Execution - Runs comprehensive test suites from JSON files through an interpreter to confirm module behavioral correctness.
  • WebAssembly Specification Test Generators - Transforms spec test files into JSON descriptions and binary files to automate compliance testing.
  • Frameworks and Tooling - Toolkit for inspecting and manipulating WebAssembly binaries.
  • Runtime and Embeddings - Suite of tools for converting between WebAssembly and text format.

Star history

Star history chart for webassembly/wabtStar history chart for webassembly/wabt

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Wabt

Similar open-source projects, ranked by how many features they share with Wabt.
  • webassembly/binaryenWebAssembly avatar

    WebAssembly/binaryen

    8,354View on GitHub↗

    Binaryen is a WebAssembly compiler toolchain and optimizer designed to transform, validate, and shrink binary modules. It provides a comprehensive intermediate representation framework that converts binary code into a single-assignment form to enable advanced program analysis and code transformation. The project includes a specialized transformation engine that applies iterative optimization passes to increase execution speed and reduce binary size. Additionally, it functions as a transpiler that translates WebAssembly binary modules into executable JavaScript for environments that lack nativ

    WebAssemblyc-plus-pluscompilersemscripten
    View on GitHub↗8,354
  • lief-project/lieflief-project avatar

    lief-project/LIEF

    5,462View on GitHub↗

    LIEF is a framework for parsing, modifying, and analyzing executable binary formats and system shared caches across multiple platforms. It serves as a cross-platform library for the programmatic manipulation of ELF, PE, and MachO binary files. The project provides tools for altering the internal structure and sections of executable files to change program behavior. It also includes a dedicated parser for recovering individual dynamic libraries from combined system shared caches. The toolset covers binary executable analysis, machine code disassembly, and the extraction of debug metadata and

    C++
    View on GitHub↗5,462
  • wasm3/wasm3wasm3 avatar

    wasm3/wasm3

    7,936View on GitHub↗

    Wasm3 is a WebAssembly interpreter designed for embedded runtime integration. It enables the execution of portable binary logic on microcontrollers and resource-constrained hardware, providing support for modules that utilize the WebAssembly System Interface to interact with system resources. The runtime employs register-based bytecode interpretation and direct-threaded dispatch to map virtual registers to physical CPU registers. It includes a host-call interface to map imports to C functions and utilizes static module validation to ensure bytecode follows specification rules before execution

    C
    View on GitHub↗7,936
  • bytecodealliance/wasm-micro-runtimebytecodealliance avatar

    bytecodealliance/wasm-micro-runtime

    5,990View on GitHub↗
    Caotassembly-scriptembedded
    View on GitHub↗5,990
See all 30 alternatives to Wabt→

Frequently asked questions

What does webassembly/wabt do?

The WebAssembly Binary Toolkit is a suite of tools for inspecting, validating, and transforming WebAssembly modules between binary and human-readable representations. It includes a stack-based interpreter for executing modules and a transpiler that converts binary files into C source code and headers.

What are the main features of webassembly/wabt?

The main features of webassembly/wabt are: WebAssembly Binary Manipulators, Binary Assembly, Binary Disassembly, Binary Metadata Inspection, Binary Disassemblers, WebAssembly Stack-Based Interpretation, Binary-to-Text Disassemblers, Stack-Based Virtual Machines.

What are some open-source alternatives to webassembly/wabt?

Open-source alternatives to webassembly/wabt include: webassembly/binaryen — Binaryen is a WebAssembly compiler toolchain and optimizer designed to transform, validate, and shrink binary modules.… lief-project/lief — LIEF is a framework for parsing, modifying, and analyzing executable binary formats and system shared caches across… wasm3/wasm3 — Wasm3 is a WebAssembly interpreter designed for embedded runtime integration. It enables the execution of portable… bytecodealliance/wasm-micro-runtime. bytecodealliance/wasmtime — Wasmtime is a WebAssembly runtime and sandboxed bytecode executor designed to run WebAssembly bytecode on a host… capstone-engine/capstone — Capstone is a multi-architecture disassembly framework and binary analysis engine. It translates raw machine code from…