# Install wasm-bindgen with Homebrew, apk, pacman, zypper

Facilitating high-level interactions between Wasm modules and JavaScript. Version 0.2.126 via Homebrew; verified 2026-06-25.

## Install

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

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install wasm-bindgen
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add wasm-bindgen
```

  Evidence: Alpine Linux edge package indexes: wasm-bindgen from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- pacman (92%):

```sh
sudo pacman -S wasm-bindgen
```

  Evidence: Arch Linux sync databases: wasm-bindgen from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install wasm-bindgen
```

  Evidence: openSUSE Tumbleweed package metadata: wasm-bindgen from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:wasm-bindgen
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/wasm-bindgen>
- **Version:** 0.2.126
- **Source summary:** Facilitating high-level interactions between Wasm modules and JavaScript
- **Homepage:** <https://wasm-bindgen.github.io/wasm-bindgen/>
- **Repository:** <https://github.com/wasm-bindgen/wasm-bindgen>
- **Upstream docs:** <https://wasm-bindgen.github.io/wasm-bindgen>
- **License:** Apache-2.0 OR MIT
- **Source archive:** <https://github.com/wasm-bindgen/wasm-bindgen/archive/refs/tags/0.2.126.tar.gz>
- **Last updated:** 2026-06-25T01:43:55Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- wasm-bindgen (cli)
- wasm-bindgen-test-runner (cli)
- wasm2es6js (cli)
- wasm-bindgen (alias)
- wasm-bindgen-test-runner (alias)
- wasm2es6js (alias)

## Build dependencies

- rust

## 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-08
- Package-manager version: 0.2.126
- Package-manager updated: 2026-06-25
- Local data: ok
- Upstream repository: https://github.com/wasm-bindgen/wasm-bindgen
- Upstream latest detected: 0.2.126 (current)
## Project history and usage

wasm-bindgen is the central Rust-to-JavaScript binding generator for WebAssembly. It pairs a Rust crate and procedural macro with a command-line postprocessor that emits JavaScript glue, TypeScript declarations, and a processed `.wasm` artifact so Rust code can interact with richer JavaScript values than core WebAssembly's numeric ABI.

### Project history

The wasm-bindgen repository was created on December 18, 2017, during the early Rust and WebAssembly working-group push to make Rust a first-class WebAssembly language. In April 2018, Alex Crichton introduced it on Mozilla Hacks as the bridge that hid the boilerplate needed for strings, exceptions, objects, DOM APIs, and JavaScript imports or exports.

The project was built around the `#[wasm_bindgen]` annotation and a CLI postprocessing step. The design let Rust libraries describe binding metadata in the Wasm output, after which the CLI generated JavaScript wrappers and adjusted imports. Its own guide still describes it as both a Rust library and a CLI for high-level interactions between Wasm modules and JavaScript.

In July 2025, the Rust project announced that the old `rustwasm` GitHub organization would be archived after a long inactive period, but wasm-bindgen would be transferred into a dedicated `wasm-bindgen` organization with additional maintainers. That made wasm-bindgen the survivor of the first Rust/Wasm working-group wave rather than only a historical artifact.

### Adoption history

wasm-bindgen became the base layer for the higher-level Rust/Wasm web workflow. The 2019 Rust and WebAssembly roadmap treated the ecosystem as moving from usable to stable and production-ready, with wasm-pack, testing, profiling, debugging, and library work all depending on reliable JavaScript interop.

Its adoption spread because it matched JavaScript packaging expectations: generated ECMAScript modules, optional TypeScript declarations, browser, bundler, and Node-oriented output targets, and integration through wasm-pack. MDN's Rust-to-Wasm guide still teaches Rust WebAssembly by using wasm-pack and wasm-bindgen together.

### How it is used

A developer writes Rust functions, structs, imports, or exports annotated with `#[wasm_bindgen]`, compiles the crate for `wasm32-unknown-unknown`, then runs `wasm-bindgen` against the `.wasm` file. The CLI's `--out-dir` and `--target` options control where generated bindings go and whether the output is intended for bundlers, the browser, or Node.js.

For package maintainers, wasm-bindgen is often invisible behind wasm-pack, but it is the piece that decides the JavaScript surface area: it emits the `.js` shim, `.d.ts` declarations, processed Wasm file, imports, exports, and metadata needed by downstream JavaScript tooling.

### Why package nerds care

wasm-bindgen matters because it turned Rust-generated Wasm from a numeric foreign-function interface into something that could be packaged like JavaScript. It is also a snapshot of WebAssembly ecosystem history: before the component model matures everywhere, it acts as a practical polyfill-like bridge for high-level interop.

### Timeline

- 2017-12-18: Public GitHub repository created.
- 2018-04-04: Mozilla Hacks publishes a detailed wasm-bindgen introduction.
- 2019-01-23: Rust/Wasm roadmap calls for a production-ready, batteries-included ecosystem around the tooling.
- 2025-07-21: Rust announces rustwasm sunsetting and wasm-bindgen transfer to a dedicated organization.
- 2026-06-24: GitHub releases show active 0.2.x releases continuing under the new organization.

### Related projects

- wasm-pack wraps wasm-bindgen for npm-oriented packages. `js-sys`, `web-sys`, and `wasm-bindgen-futures` provide adjacent bindings and async support in the same ecosystem.

### Sources

- <https://api.github.com/repos/wasm-bindgen/wasm-bindgen>
- <https://blog.rust-lang.org/inside-rust/2025/07/21/sunsetting-the-rustwasm-github-org/>
- <https://developer.mozilla.org/en-US/docs/WebAssembly/Guides/Rust_to_Wasm>
- <https://hacks.mozilla.org/2018/04/javascript-to-rust-and-back-again-a-wasm-bindgen-tale/>
- <https://rustwasm.github.io/rfcs/007-2019-roadmap.html>
- <https://wasm-bindgen.github.io/wasm-bindgen/>
- <https://wasm-bindgen.github.io/wasm-bindgen/reference/cli.html>


## Security Notes

narrow executable package without higher-risk signals.

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

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** wasm-bindgen
- **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

- apk - wasm-bindgen - 0.2.122-r0: normalized package name match | Alpine Linux edge package indexes: wasm-bindgen from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Interoperating JS and Rust code | https://github.com/rustwasm/wasm-bindgen
- pacman - wasm-bindgen - 0.2.123-1: normalized package name match | Arch Linux sync databases: wasm-bindgen from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Interoperating JS and Rust code | https://github.com/rustwasm/wasm-bindgen
- zypper - wasm-bindgen - 0.2.100-1.3: normalized package name match | openSUSE Tumbleweed package metadata: wasm-bindgen from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Facilitating high-level interactions between Wasm modules and JavaScript | https://github.com/rustwasm/wasm-bindgen


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [rust](https://www.automicvault.com/pkg/brew/rust/) - Build dependency declared by Homebrew.
- [cargo-component](https://www.automicvault.com/pkg/brew/cargo-component/) - Shares av.db curated category or tags: cli, developer-tools, rust, webassembly.
- [cbindgen](https://www.automicvault.com/pkg/brew/cbindgen/) - Shares av.db curated category or tags: bindings, cli, developer-tools, rust.
- [wasm-pack](https://www.automicvault.com/pkg/brew/wasm-pack/) - Shares av.db curated category or tags: cli, developer-tools, rust, webassembly.
- [wasm-tools](https://www.automicvault.com/pkg/brew/wasm-tools/) - Shares av.db curated category or tags: cli, developer-tools, rust, webassembly.
- [ic-wasm](https://www.automicvault.com/pkg/brew/ic-wasm/) - Shares av.db curated category or tags: cli, developer-tools, webassembly.
- [swig](https://www.automicvault.com/pkg/brew/swig/) - Shares av.db curated category or tags: bindings, cli, developer-tools.
- [wabt](https://www.automicvault.com/pkg/brew/wabt/) - Shares av.db curated category or tags: cli, developer-tools, webassembly.
- [wasm-component-ld](https://www.automicvault.com/pkg/brew/wasm-component-ld/) - Shares av.db curated category or tags: cli, developer-tools, webassembly.

## Combined YAML source

View the package source record on GitHub. [combined/wasm-bindgen.yml](https://github.com/automic-vault/db/blob/main/combined/wasm-bindgen.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
