# Install ic-wasm with Homebrew

CLI tool for performing Wasm transformations specific to ICP canisters. Version 0.11.0 via Homebrew; verified 2026-07-23.

## Install

```sh
sudo av install brew:ic-wasm
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install ic-wasm
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:ic-wasm
- **Package manager:** Homebrew
- **Version:** 0.11.0
- **Source summary:** CLI tool for performing Wasm transformations specific to ICP canisters
- **Homepage:** <https://github.com/dfinity/ic-wasm>
- **Repository:** <https://github.com/dfinity/ic-wasm>
- **Last updated:** 2026-07-23T21:00:03Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- ic-wasm (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 0.11.0
## Project history and usage

ic-wasm is a DFINITY Rust library and CLI for transforming WebAssembly canisters that run on the Internet Computer.

### Project history

The README describes ic-wasm as a library for transforming Internet Computer canister Wasm modules and documents a CLI that edits metadata, prints module information, shrinks modules, invokes wasm-opt, limits resources, checks Candid endpoints, and instruments execution tracing.

### Adoption history

ic-wasm is adopted inside the ICP canister development ecosystem rather than as a general WebAssembly optimizer. Its installation paths span npm, precompiled installers, cargo-binstall, `cargo install`, and Homebrew, which makes it reachable from both Rust-native and JavaScript-oriented canister workflows.

### How it is used

Developers use ic-wasm after compiling a canister to inspect or transform the Wasm artifact before deployment. The README calls out metadata management, `wasm-opt` optimization levels, preservation of `icp` metadata during shrink and optimize operations, endpoint checks against Candid, and profiling instrumentation for stable-memory or heap-memory trace storage.

### Why package nerds care

ic-wasm is interesting because it packages blockchain-specific WebAssembly post-processing as a normal CLI. It bridges Rust crates, npm global installs, shell installers, Homebrew bottles, Binaryen's `wasm-opt`, Candid interface checks, and Internet Computer canister semantics in one small developer tool.

### Timeline

- 2022: The changelog records 0.2.0 with a decoupled library API using walrus.
- 0.3.0-0.7.0: The changelog groups releases that added profiling support, wasm-opt optimization, and JSON output for `info`.
- 0.8.x: The tag history shows an expanded release train before the 0.9 series.
- 0.9.11: Homebrew packages this stable version.

### Related projects

- The README names wasm-opt as the optimizer behind `optimize`, refers to Candid endpoint checks, and presents the tool as part of the Internet Computer canister toolchain maintained by DFINITY.

### Sources

- <https://formulae.brew.sh/formula/ic-wasm>
- <https://github.com/dfinity/ic-wasm>
- <https://github.com/dfinity/ic-wasm/blob/main/CHANGELOG.md>
- <https://github.com/dfinity/ic-wasm/releases>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Combined YAML source

View the package source record on GitHub. [combined/ic-wasm.yml](https://github.com/mxcl/pkgdb/blob/main/combined/ic-wasm.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
