WABT(1)

WABT(1) | General Commands Manual | WABT(1)

# NAME

`wat2wasm` — translate from WebAssembly text format to the WebAssembly binary format

# SYNOPSIS

`wat2wasm` | [options] file

# DESCRIPTION

`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:

`--help`
  Print this help message
`--version`
  Print version information
`-v`, `--verbose`
  Use multiple times for more info
`--debug-parser`
  Turn on debugging the parser of wat files
`-d`, `--dump-module`
  Print a hexdump of the module to stdout
`--enable-exceptions`
  Enable Experimental exception handling
`--disable-mutable-globals`
  Disable Import/export mutable globals
`--disable-saturating-float-to-int`
  Disable Saturating float-to-int operators
`--disable-sign-extension`
  Disable Sign-extension operators
`--disable-simd`
  Disable SIMD support
`--enable-threads`
  Enable Threading support
`--enable-function-references`
  Enable Typed function references
`--disable-multi-value`
  Disable Multi-value
`--enable-tail-call`
  Enable Tail-call support
`--disable-bulk-memory`
  Disable Bulk-memory operations
`--disable-reference-types`
  Disable Reference types (externref)
`--enable-annotations`
  Enable Custom annotation syntax
`--enable-code-metadata`
  Enable Code metadata
`--enable-gc`
  Enable Garbage collection
`--enable-memory64`
  Enable 64-bit memory
`--enable-multi-memory`
  Enable Multi-memory
`--enable-extended-const`
  Enable Extended constant expressions
`--enable-all`
  Enable all features
`-o`, `--output=FILE`
  Output wasm binary file. Use "-" to write to stdout.
`-r`, `--relocatable`
  Create a relocatable wasm binary (suitable for linking with e.g. lld)
`--no-canonicalize-leb128s`
  Write all LEB128 sizes as 5-bytes instead of their minimal size
`--debug-names`
  Write debug names to the generated binary file
`--no-check`
  Don't check for invalid modules

# EXAMPLES

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`

# SEE ALSO

wasm-decompile(1), 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)

# BUGS

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

September 23, 2025 | Debian