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

# wasm-interp(1)

decode and run a WebAssembly binary file

## NAME

**wasm-interp** – decode and run a WebAssembly binary file

## SYNOPSIS

**wasm-interp** \[options\] *filename* *\[arg\]...*

## DESCRIPTION

**wasm-interp** read a file in the wasm binary format, and run in it a stack-based  interpreter.

The options are as follows:

- **-****-help**

  Print this help message

- **-****-version**

  Print version information

- **-v**, **-****-verbose**

  Use multiple times for more info

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

- **-V**, **-****-value-stack-size=SIZE**

  Size in elements of the value stack

- **-C**, **-****-call-stack-size=SIZE**

  Size in elements of the call stack

- **-t**, **-****-trace**

  Trace execution

- **-r**, **-****-run-export=FUNCTION**

  Run exported function by name

- **-a**, **-****-argument=ARGUMENT**

  Add argument to an exported function execution

- **-****-wasi**

  Assume input module is WASI compliant (Export  WASI API the the module and invoke \_start function)

- **-e**, **-****-env=ENV**

  Pass the given environment string in the WASI runtime

- **-d**, **-****-dir=DIR**

  Pass the given directory the the WASI runtime

- **-****-run-all-exports**

  Run all the exported functions, in order. Useful for testing

- **-****-host-print**

  Include an importable function named "host.print" for printing to stdout

## EXAMPLES

parse binary file test.wasm, and type-check it

```
$ wasm-interp test.wasm
```

parse test.wasm and run all its exported functions

```
$ wasm-interp test.wasm --run-all-exports
```

parse test.wasm, run the exported functions and trace the output

```
$ wasm-interp test.wasm --run-all-exports --trace
```

parse test.wasm and run all its exported functions, setting the value stack size to 100 elements

```
$ wasm-interp test.wasm -V 100 --run-all-exports
```

parse test.wasm, run specific exported function by name with argument

```
$ wasm-interp test.wasm -r func_sum -a i32:8 -a i32:5
```

## SEE ALSO

[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), [wat2wasm(1)](/wat2wasm/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**.
