Home

wasmdis

wasmdis is an open‑source command‑line utility designed to translate WebAssembly binary modules into a human‑readable textual representation. The tool is primarily used for debugging, reverse engineering, and educational purposes, allowing developers to inspect the low‑level structure of WebAssembly (Wasm) code without requiring access to the original source.

The project originated in 2018 as a contribution to the broader WebAssembly tooling ecosystem, addressing a

wasmdis is written in Rust, leveraging the language’s strong safety guarantees and performance characteristics. The codebase

Since its initial release, wasmdis has been integrated into several development workflows, including continuous‑integration pipelines that

gap
where
existing
disassemblers
either
lacked
support
for
the
latest
Wasm
specifications
or
provided
output
that
was
difficult
to
parse.
wasmdis
implements
the
official
WebAssembly
binary
format
specification,
supporting
both
the
core
1.0
format
and
extensions
such
as
threads,
SIMD,
and
reference
types.
Its
output
mirrors
the
WebAssembly
Text
format
(WAT)
but
retains
additional
annotation
options,
such
as
opcode
offsets,
section
boundaries,
and
type
signatures,
to
aid
low‑level
analysis.
depends
on
the
wasmparser
crate
for
binary
parsing
and
provides
a
small
wrapper
that
formats
the
parsed
instructions.
The
utility
can
be
installed
via
cargo,
the
Rust
package
manager,
or
downloaded
as
a
pre‑compiled
binary
for
major
operating
systems.
Command‑line
options
include
the
ability
to
filter
specific
sections,
display
raw
byte
offsets,
and
output
coloring
for
improved
readability.
verify
the
correctness
of
generated
Wasm
modules,
and
academic
projects
that
study
the
impact
of
compiler
optimizations
on
binary
size
and
instruction
patterns.
The
project
is
maintained
on
a
public
repository,
where
contributions
are
accepted
via
pull
requests
under
an
MIT
license,
encouraging
community
involvement
in
extending
support
for
emerging
WebAssembly
proposals.