macOS
brew install wasm-bindgenlocal Homebrew formula metadata
brew
Facilitating high-level interactions between Wasm modules and JavaScript. Version 0.2.126 via Homebrew; verified 2026-06-25.
install
brew install wasm-bindgenlocal Homebrew formula metadata
sudo apk add wasm-bindgenAlpine Linux edge package indexes · wasm-bindgen · source: dl-cdn.alpinelinux.org
sudo pacman -S wasm-bindgenArch Linux sync databases · wasm-bindgen · source: geo.mirror.pkgbuild.com
sudo zypper install wasm-bindgenopenSUSE Tumbleweed package metadata · wasm-bindgen · source: download.opensuse.org
overview
Facilitating high-level interactions between Wasm modules and JavaScript
history
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.
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.
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.
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.
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.
security posture
narrow executable package without higher-risk signals.
green risk · low confidence · appliance
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
wasm-bindgen | cli | global executable | |
wasm-bindgen-test-runner | cli | global executable | |
wasm2es6js | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/wasm-bindgen/wasm-bindgen
install metadata
| Package key | brew:wasm-bindgen |
|---|---|
| Version | 0.2.126 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/wasm-bindgen |
| 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 |
| Pulse | updated |
| Build dependencies | rust |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| 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 |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
wasm-bindgen 0.2.122-r0
Interoperating JS and Rust code
https://github.com/rustwasm/wasm-bindgen
sudo apk add wasm-bindgenwasm-bindgen 0.2.123-1
Interoperating JS and Rust code
https://github.com/rustwasm/wasm-bindgen
sudo pacman -S wasm-bindgenwasm-bindgen 0.2.100-1.3
Facilitating high-level interactions between Wasm modules and JavaScript
https://github.com/rustwasm/wasm-bindgen
sudo zypper install wasm-bindgensource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.