wasm-bindgen is a foundational Rust tool that enables seamless interoperability between Rust and JavaScript by generating the necessary bindings and glue code for WebAssembly modules. It allows developers to write performance-critical code in Rust, compile it to WebAssembly, and then expose functions, structs, and APIs directly to JavaScript in a natural and idiomatic way. The tool automates the process of bridging differences between Rust’s type system and JavaScript’s dynamic environment, making cross-language integration significantly easier. One of its key design principles is efficiency, following a “pay only for what you use” model where only the required bindings are generated, minimizing unnecessary overhead. It also integrates into modern build pipelines through tools like wasm-pack.

Features

  • Automatic generation of bindings between Rust and JavaScript
  • Selective code generation following a “pay only for what you use” model
  • Integration with wasm-pack for building and publishing WASM modules
  • Support for exporting Rust functions, structs, and classes to JavaScript
  • Handling of complex type conversions between Rust and JS
  • Optimizations for reducing final WebAssembly binary size

Project Samples

Project Activity

See All Activity >

License

Apache License V2.0

Follow wasm-bindgen

wasm-bindgen Web Site

Other Useful Business Software
MongoDB Atlas runs apps anywhere Icon
MongoDB Atlas runs apps anywhere

Deploy in 115+ regions with the modern database for every enterprise.

MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
Start Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of wasm-bindgen!

Additional Project Details

Programming Language

Rust

Related Categories

Rust Software Development Software

Registered

2 days ago