WABT(1) General Commands Manual WABT(1)

wasm2cconvert a WebAssembly binary file to a C source and header

wasm2c [options] filename

wasm2c Read a file in the WebAssembly binary format, and convert it to a C source file and header.

The options are as follows:

Print this help message
Print version information
, --verbose
Use multiple times for more info
, --output=FILENAME
Output file for the generated C source file, by default use stdout
Number of output files to write
, --module-name=MODNAME
Unique name for the module being generated. This name is prefixed toeach of the generated C symbols. By default, the module name from thenames section is used. If that is not present the name of the inputfile is used as the default.
Enable Experimental exception handling
Disable Import/export mutable globals
Disable Saturating float-to-int operators
Disable Sign-extension operators
Disable SIMD support
Enable Threading support
Enable Typed function references
Disable Multi-value
Enable Tail-call support
Disable Bulk-memory operations
Disable Reference types (externref)
Enable Custom annotation syntax
Enable Code metadata
Enable Garbage collection
Enable 64-bit memory
Enable Multi-memory
Enable Extended constant expressions
Enable Relaxed SIMD
Enable Custom page sizes
Enable Compact import section
Enable Wide arithmetic
Enable all features

parse binary file test.wasm and write test.c and test.h

$ wasm2c test.wasm -o test.c
parse test.wasm, write test.c and test.h, but ignore the debug names, if any

$ wasm2c test.wasm --no-debug-names -o test.c

wasm-interp(1), wasm-objdump(1), wasm-stats(1), wasm-strip(1), wasm-validate(1), wasm2wat(1), wast2json(1), wat-desugar(1), wat2wasm(1), spectest-interp(1)

If you find a bug, please report it at
https://github.com/WebAssembly/wabt/issues.

June 22, 2026 Debian