# Install wasm3 with Homebrew, MacPorts

High performance WebAssembly interpreter. Version 0.5.0 via Homebrew; verified 2026-06-15.

## Install

```sh
sudo av install brew:wasm3
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install wasm3
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install wasm3
```

  Evidence: MacPorts ports tree: lang/wasm3/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:wasm3
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/wasm3>
- **Version:** 0.5.0
- **Source summary:** High performance WebAssembly interpreter
- **Homepage:** <https://twitter.com/wasm3_engine>
- **Repository:** <https://github.com/wasm3/wasm3>
- **Upstream docs:** <https://github.com/wasm3/wasm3#readme>
- **License:** MIT
- **Source archive:** <https://github.com/wasm3/wasm3/archive/refs/tags/v0.5.0.tar.gz>
- **Last updated:** 2026-06-15T10:21:23-04:00
- **Generated:** 2026-07-09T07:20:21+00:00

## Executables

- wasm3 (cli)
- wasm3 (alias)

## Dependencies

- uvwasi

## Build dependencies

- cmake

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-09
- Package-manager version: 0.5.0
- Package-manager updated: 2026-06-15
- Local data: ok
- Upstream repository: https://github.com/wasm3/wasm3
- Upstream latest detected: v0.5.0 (current)
## Project history and usage

Wasm3 is a compact WebAssembly interpreter written in C, positioned by its maintainers as a fast and highly portable runtime rather than a JIT compiler. Its niche is running Wasm in places where engines such as V8, Wasmtime, or Wasmer are too large, unavailable, or unsuitable because dynamic code generation is restricted.

### Project history

The source tree identifies Wasm3 as a high-performance WebAssembly interpreter with 2019 copyrights for Steven Massey and Volodymyr Shymanskyy. The project documentation explains that its M3 interpreter strategy existed before this specific Wasm runtime and was adapted because the approach fit WebAssembly's bytecode structure.

The interpreter documentation describes M3 as a C implementation using a novel high-performance topology. Instead of emphasizing ahead-of-time or just-in-time compilation, Wasm3 translates WebAssembly opcodes into internal operations intended to execute efficiently in an interpreter, making it a useful counterpoint to the compiler-heavy runtimes that dominate server-side Wasm.

### Adoption history

Wasm3's adoption story is strongest in embedded and constrained-device circles. The companion Arduino repository says the runtime needs roughly 64 KB of flash and 10 KB of RAM for minimal functionality and lists devices such as ESP32, ESP8266, Arduino MKR, Particle, ST Nucleo, BluePill, Nordic nRF5, and Teensy as verified targets.

The main repository also frames Wasm3 as universal, with topics covering embedded, IoT, serverless, containers, sandboxing, smart contracts, and edge computing. That breadth reflects its role as a small embeddable engine: developers use it when they want Wasm as a portable plugin or scripting format but cannot afford a heavier optimizing runtime.

### How it is used

Command-line users run wasm3 against a .wasm file to execute a module locally. Embedded users more often link the C runtime into firmware or an application host, load a Wasm module from flash, storage, or a network update path, and expose only a small set of host functions to the guest module.

Package-nerd usage tends to compare Wasm3 with WAMR, wasmi, wasm-interp, and JIT runtimes. Wasm3 is chosen for portability and low memory ceilings; Wasmtime or Wasmer are usually chosen when standard WASI coverage, component-model support, or peak JIT/AOT performance matters more.

### Why package nerds care

Wasm3 is significant because it keeps the interpreter design space visible in a WebAssembly ecosystem often led by optimizing compilers. For package maintainers, it is a reminder that the same .wasm artifact can target browsers, server runtimes, and tiny boards, but that the host ABI and resource budget determine which runtime is realistic.

It also matters as a minimal embeddable dependency: a C runtime with a CLI and microcontroller examples is easier to fit into unusual packaging environments than a larger Rust or C++ runtime stack.

### Timeline

- 2019: Wasm3 source files identify the project as a high-performance WebAssembly interpreter by Steven Massey and Volodymyr Shymanskyy.
- 2020: Wasm3 was discussed publicly as a fast WebAssembly interpreter in C, with attention on its M3 execution model.
- 2020s: The Arduino and embedded repositories documented operation on small microcontrollers, giving Wasm3 a durable niche among constrained-device Wasm runtimes.

### Related projects

- WAMR is a related lightweight WebAssembly runtime aimed at embedded, IoT, edge, and trusted-execution use cases.
- Wasmtime and Wasmer are heavier standalone runtimes with stronger WASI, embedding, and compiler stories.
- The WebAssembly reference interpreter and wasm-interp are useful comparison points for correctness and testing rather than minimal embedded deployment.

### Sources

- <https://github.com/wasm3/wasm3>
- <https://github.com/wasm3/wasm3-arduino>
- <https://github.com/wasm3/wasm3/blob/main/docs/Interpreter.md>
- <https://github.com/wasm3/wasm3/blob/main/source/wasm3.h>


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** wasm3
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- MacPorts - wasm3: normalized package name match | MacPorts ports tree: lang/wasm3/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [wasm-tools](https://www.automicvault.com/pkg/brew/wasm-tools/) - Package name indicates the same formula family.
- [wazero](https://www.automicvault.com/pkg/brew/wazero/) - Shares av.db curated category or tags: cli, language-runtime, runtime, wasm, webassembly.
- [rustpython](https://www.automicvault.com/pkg/brew/rustpython/) - Shares av.db curated category or tags: cli, interpreter, language-runtime, wasm.
- [wasm-micro-runtime](https://www.automicvault.com/pkg/brew/wasm-micro-runtime/) - Shares av.db curated category or tags: cli, language-runtime, runtime, webassembly.
- [brainfuck](https://www.automicvault.com/pkg/brew/brainfuck/) - Shares av.db curated category or tags: cli, interpreter, language-runtime.
- [cling](https://www.automicvault.com/pkg/brew/cling/) - Shares av.db curated category or tags: cli, interpreter, language-runtime.
- [goawk](https://www.automicvault.com/pkg/brew/goawk/) - Shares av.db curated category or tags: cli, interpreter, language-runtime.
- [mawk](https://www.automicvault.com/pkg/brew/mawk/) - Shares av.db curated category or tags: cli, interpreter, language-runtime.
- [picoc](https://www.automicvault.com/pkg/brew/picoc/) - Shares av.db curated category or tags: cli, interpreter, language-runtime.

## Combined YAML source

View the package source record on GitHub. [combined/wasm3.yml](https://github.com/automic-vault/db/blob/main/combined/wasm3.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
