This is unpublished documentation of working with Rust and WebAssembly, the published documentation is available on the main Rust and WebAssembly documentation site . Features documented here may not be available in released versions of tooling for Rust and WebAssembly.

Rust 🦀 and WebAssembly 🕸

This small book describes how to use Rust and WebAssembly together.

Who is this book for?

This book is for anyone interested in compiling Rust to WebAssembly for fast, reliable code on the Web. You should know some Rust, and be familiar with JavaScript, HTML, and CSS. You don't need to be an expert in any of them.

Don't know Rust yet? Start with The Rust Programming Language first.

Don't know JavaScript, HTML, or CSS? Learn about them on MDN.

How to read this book

You should read the motivation for using Rust and WebAssembly together, as well as familiarize yourself with the background and concepts first.

The tutorial is written to be read from start to finish. You should follow along: writing, compiling, and running the tutorial's code yourself. If you haven't used Rust and WebAssembly together before, do the tutorial!

The reference sections may be perused in any order.

💡 Tip: You can search through this book by clicking on the 🔍 icon at the top of the page, or by pressing the s key.

Contributing to this book

This book is open source! Find a typo? Did we overlook something? Send us a pull request!