WABT(1) General Commands Manual WABT(1)

# [NAME](#NAME)

`wasm2c` — convert a WebAssembly binary file to a C source and header

# [SYNOPSIS](#SYNOPSIS)

`wasm2c` \[options] `filename`

# [DESCRIPTION](#DESCRIPTION)

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

The options are as follows:

[`--help`](#help)

Print this help message

[`--version`](#version)

Print version information

[`-v`](#v), `--verbose`

Use multiple times for more info

[`-o`](#o), `--output=FILENAME`

Output file for the generated C source file, by default use stdout

[`--num-outputs=NUM`](#num-outputs=NUM)

Number of output files to write

[`-n`](#n), `--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.

[`--disable-exceptions`](#disable-exceptions)

Disable Experimental exception handling

[`--disable-mutable-globals`](#disable-mutable-globals)

Disable Import/export mutable globals

[`--disable-saturating-float-to-int`](#disable-saturating-float-to-int)

Disable Saturating float-to-int operators

[`--disable-sign-extension`](#disable-sign-extension)

Disable Sign-extension operators

[`--disable-simd`](#disable-simd)

Disable SIMD support

[`--enable-threads`](#enable-threads)

Enable Threading support

[`--enable-function-references`](#enable-function-references)

Enable Typed function references

[`--disable-multi-value`](#disable-multi-value)

Disable Multi-value

[`--disable-tail-call`](#disable-tail-call)

Disable Tail-call support

[`--disable-bulk-memory`](#disable-bulk-memory)

Disable Bulk-memory operations

[`--disable-reference-types`](#disable-reference-types)

Disable Reference types (externref)

[`--disable-annotations`](#disable-annotations)

Disable Custom annotation syntax

[`--enable-code-metadata`](#enable-code-metadata)

Enable Code metadata

[`--enable-gc`](#enable-gc)

Enable Garbage collection

[`--disable-memory64`](#disable-memory64)

Disable 64-bit memory

[`--disable-multi-memory`](#disable-multi-memory)

Disable Multi-memory

[`--disable-extended-const`](#disable-extended-const)

Disable Extended constant expressions

[`--disable-relaxed-simd`](#disable-relaxed-simd)

Disable Relaxed SIMD

[`--enable-custom-page-sizes`](#enable-custom-page-sizes)

Enable Custom page sizes

[`--enable-compact-imports`](#enable-compact-imports)

Enable Compact import section

[`--enable-wide-arithmetic`](#enable-wide-arithmetic)

Enable Wide arithmetic

[`--enable-all`](#enable-all)

Enable all features

# [EXAMPLES](#EXAMPLES)

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`

# [SEE ALSO](#SEE_ALSO)

[wasm-interp(1)](/man/os/wabt/wasm-interp.1), [wasm-objdump(1)](/man/os/wabt/wasm-objdump.1), [wasm-stats(1)](/man/os/wabt/wasm-stats.1), [wasm-strip(1)](/man/os/wabt/wasm-strip.1), [wasm-validate(1)](/man/os/wabt/wasm-validate.1), [wasm2wat(1)](/man/os/wabt/wasm2wat.1), [wast2json(1)](/man/os/wabt/wast2json.1), [wat-desugar(1)](/man/os/wabt/wat-desugar.1), [wat2wasm(1)](/man/os/wabt/wat2wasm.1), [spectest-interp(1)](/man/os/wabt/spectest-interp.1)

# [BUGS](#BUGS)

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

Linux 4.19.0-gvisor

---

Document: wasm2c(1) from wabt 1.0.42-r0 (Chainguard OS)
Source: https://github.com/WebAssembly/wabt
