---
name: "wat2wasm"
section: "1"
platform: "linux"
package: "wabt"
version: "1.0.42-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/wat2wasm"
---

# wat2wasm(1)

translate from WebAssembly text format to the WebAssembly binary format

## NAME

**wat2wasm** – translate from WebAssembly text format to the WebAssembly binary format

## SYNOPSIS

**wat2wasm** \[options\] *filename*

## 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

- **-d**, **-****-dump-module**

  Print a hexdump of the module to stdout

- **-****-disable-exceptions**

  Disable 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

- **-****-disable-tail-call**

  Disable Tail-call support

- **-****-disable-bulk-memory**

  Disable Bulk-memory operations

- **-****-disable-reference-types**

  Disable Reference types (externref)

- **-****-disable-annotations**

  Disable Custom annotation syntax

- **-****-enable-code-metadata**

  Enable Code metadata

- **-****-enable-gc**

  Enable Garbage collection

- **-****-disable-memory64**

  Disable 64-bit memory

- **-****-disable-multi-memory**

  Disable Multi-memory

- **-****-disable-extended-const**

  Disable Extended constant expressions

- **-****-disable-relaxed-simd**

  Disable Relaxed SIMD

- **-****-enable-custom-page-sizes**

  Enable Custom page sizes

- **-****-enable-compact-imports**

  Enable Compact import section

- **-****-enable-wide-arithmetic**

  Enable Wide arithmetic

- **-****-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

## 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-interp(1)](/wasm-interp/1.md), [wasm-objdump(1)](/wasm-objdump/1.md), [wasm-stats(1)](/wasm-stats/1.md), [wasm-strip(1)](/wasm-strip/1.md), [wasm-validate(1)](/wasm-validate/1.md), [wasm2c(1)](/wasm2c/1.md), [wasm2wat(1)](/wasm2wat/1.md), [wast2json(1)](/wast2json/1.md), [wat-desugar(1)](/wat-desugar/1.md), [spectest-interp(1)](/spectest-interp/1.md)

## BUGS

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