WABT(1) General Commands Manual WABT(1)

wat2wasmtranslate from WebAssembly text format to the WebAssembly binary format

wat2wasm [options] filename

wat2wasm read a file in the wasm text format, check it for errors, and convert it to the wasm binary format.

The options are as follows:

Print this help message
Print version information
, --verbose
Use multiple times for more info
, --dump-module
Print a hexdump of the module to stdout
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
, --output=FILE
Output wasm binary file. Use "-" to write to stdout.
, --relocatable
Create a relocatable wasm binary (suitable for linking with e.g. lld)
Write all LEB128 sizes as 5-bytes instead of their minimal size
Write debug names to the generated binary file

parse test.wat and write to .wasm binary file with the same name

$ wat2wasm test.wat
parse test.wat and write to binary file test.wasm

$ wat2wasm test.wat -o test.wasm
parse spec-test.wast, and write verbose output to stdout (including the meaning of every byte)

$ wat2wasm spec-test.wast -v

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

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

June 22, 2026 Debian