Skip to main content

WABT: The WebAssembly Binary Toolkit

A fork of WebAssembly/wabt ported from C++ to Zig and maintained with AI assistance.

100% WebAssembly 3.0 spec conformance — 65,011/65,011 tests passing.

Install

Pre-built binaries are published to GitHub Releases and PyPI. See installation details.

$ dist install cataggar/wabt
$ uv tool install wabt-bin

Tools

  • wat2wasm: translate from WebAssembly text format to the WebAssembly binary format
  • wasm2wat: the inverse of wat2wasm, translate from the binary format back to the text format (also known as a .wat)
  • wasm-objdump: print information about a wasm binary. Similar to objdump.
  • wasm-interp: decode and run a WebAssembly binary file using a stack-based interpreter
  • wasm-decompile: decompile a wasm binary into readable C-like syntax
  • wat-desugar: parse .wat text form and print canonical flat format
  • wasm-strip: remove sections of a WebAssembly binary file
  • wasm-validate: validate a file in the WebAssembly binary format
  • wast2json: convert a file in the wasm spec test format to a JSON file and associated wasm binary files
  • wasm-stats: output stats for a module

Building

Requires Zig 0.15.x. No other dependencies.

$ git clone --recursive https://github.com/cataggar/wabt
$ cd wabt
$ zig build

For release builds:

$ zig build -Doptimize=ReleaseSafe

Cross-compilation works out of the box:

$ zig build -Dtarget=aarch64-linux -Doptimize=ReleaseSafe
$ zig build -Dtarget=aarch64-macos -Doptimize=ReleaseSafe
$ zig build -Dtarget=x86_64-windows -Doptimize=ReleaseSafe

Running tests

Unit tests:

$ zig build test

Wasm 3.0 spec tests:

$ zig build -Doptimize=ReleaseSafe
$ ./zig-out/bin/spectest-interp third_party/testsuite/i32.wast

Wasm 3.0 proposals

All ratified Wasm 3.0 proposals are enabled by default:

Proposal Status
Exception handling
GC (garbage collection)
Memory64
Multi-memory
Tail calls
Relaxed SIMD
Extended const
SIMD
Bulk memory
Reference types
Multi-value
Annotations

License

Apache 2.0

Release files for wabt-bin 2.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for wabt-bin 2.2.0
File
wabt_bin-2.2.0-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
wabt_bin-2.2.0-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
wabt_bin-2.2.0-py3-none-musllinux_1_1_x86_64.whl Python 3 none Linux musl 1.1+ x86-64 Details
wabt_bin-2.2.0-py3-none-musllinux_1_1_aarch64.whl Python 3 none Linux musl 1.1+ ARM64 Details
wabt_bin-2.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
wabt_bin-2.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
wabt_bin-2.2.0-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
wabt_bin-2.2.0-py3-none-macosx_10_9_x86_64.whl Python 3 none macOS 10.9+ x86-64 Details

Total release size: 14.9 MB

Release files / wabt_bin-2.2.0-py3-none-win_arm64.whl

Download URL wabt_bin-2.2.0-py3-none-win_arm64.whl
Size 1.8 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
1afa81259eb656b6825ee69f486b9bebb7a8b3575ad94ed5f165a5b1e6736f2f
BLAKE2b-256 checksum
How to use checksums
aa68958b48eef68ff2e2cf0eddd2a178ba4fdb2b15e2844b2f386b768cbdce12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log

Release files / wabt_bin-2.2.0-py3-none-win_amd64.whl

Download URL wabt_bin-2.2.0-py3-none-win_amd64.whl
Size 2.2 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
2da990f9a8405c002a476a9a7d59b6db4f9dcbdebfa852eaa3956be8b680dab5
BLAKE2b-256 checksum
How to use checksums
4ebca3f20351dbcf723c41693245891374df813a8689ecc94045e8171958c4f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log

Release files / wabt_bin-2.2.0-py3-none-musllinux_1_1_x86_64.whl

Download URL wabt_bin-2.2.0-py3-none-musllinux_1_1_x86_64.whl
Size 2.1 MB
Tags Linux musl 1.1+ x86-64 Python 3
SHA-256 checksum
How to use checksums
285617455fd836d3a838e3fa7d433ca96b55c4f1997b33cea421797f13f51da2
BLAKE2b-256 checksum
How to use checksums
281b3588c205069f2386b570aea922db695c7f131182a3fd9aad002bb516d4ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log

Release files / wabt_bin-2.2.0-py3-none-musllinux_1_1_aarch64.whl

Download URL wabt_bin-2.2.0-py3-none-musllinux_1_1_aarch64.whl
Size 2.0 MB
Tags Linux musl 1.1+ ARM64 Python 3
SHA-256 checksum
How to use checksums
8c52d6a2fec5f908106bf9c6d54484bb4038a2b04de452930e5b97b63f5a5a3b
BLAKE2b-256 checksum
How to use checksums
ca3d6f65abd45bc60c6df096bc2156d9a160a90472cd69f8eddb4d4549612568
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log

Release files / wabt_bin-2.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL wabt_bin-2.2.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.1 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
4348b85e9f0223989c2dc77dd25b46d99ea110c055c18948f4033e33e4c9139e
BLAKE2b-256 checksum
How to use checksums
7eb86f9cdb5726c5f4015a7daf834603b6cce716d71919b89559f29b10aedb8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log

Release files / wabt_bin-2.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL wabt_bin-2.2.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 2.0 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
06b734f566aae61268ff2036b97747303081c97f97e92b5d804588c6ca02858f
BLAKE2b-256 checksum
How to use checksums
d85b1c58a15175685012f5663a38390f34251eb286ea0683fb571cda37715fba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log

Release files / wabt_bin-2.2.0-py3-none-macosx_11_0_arm64.whl

Download URL wabt_bin-2.2.0-py3-none-macosx_11_0_arm64.whl
Size 1.3 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5766b949618fd7d4c05e6dc48423d9a27aa3e1ad8e60a4c99d20ca304031043c
BLAKE2b-256 checksum
How to use checksums
bfb81d94e9380c4af79345a2764baecce8c9558d12094b99f4db0b14d17a9d4a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log

Release files / wabt_bin-2.2.0-py3-none-macosx_10_9_x86_64.whl

Download URL wabt_bin-2.2.0-py3-none-macosx_10_9_x86_64.whl
Size 1.5 MB
Tags Python 3 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
1779e452b8b4241a70a84dad5b60d45208dd2c7a2e54b203f0ba3f1759e3285c
BLAKE2b-256 checksum
How to use checksums
f85ecf53b09cabdcdcc40689223d3a25ff5a3ef87c666761d651d76dba40b1a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page