Wasmer is a fast and secure WebAssembly runtime that enables super lightweight containers to run anywhere: from Desktop to the Cloud, Edge and IoT devices.
This document is also available in:
🇨🇳 中 文 -Chinese •🇩🇪 Deutsch-German • 🇪🇸 Español-Spanish •🇫🇷 Français-French •🇯🇵 日本 語 -Japanese • 🇰🇷 한국어 -Korean.
Features
- Secure by default. No file, network, or environment access, unless explicitly enabled.
- Supports WASI and Emscripten out of the box.
- Fast. Run WebAssembly at near-native speeds.
- Embeddable in multiple programming languages
- Compliant with latest WebAssembly Proposals (SIMD, Reference Types, Threads, ...)
Install
Wasmer CLI ships as a single executable with no dependencies.
curl https://get.wasmer.io -sSfL | sh
Other installation options (Powershell, Brew, Cargo, ...)
Wasmer can be installed from various package managers. Choose the one that fits best for your environment:
-
Powershell (Windows)
iwr https://win.wasmer.io -useb | iex
-
Homebrew (macOS, Linux)
brew install wasmer
-
Scoop (Windows)
scoop install wasmer
-
Chocolatey (Windows)
choco install wasmer
-
cargo binstall wasmer-cli
-
Note: All the available features are described in the
wasmer-cli
crate docscargo install wasmer-cli
Looking for more installation options? See the
wasmer-install
repository to learn more!
Quickstart
You can start by running
QuickJS, a small and
embeddable Javascript engine compiled as a WebAssembly module (qjs.wasm
):
$ wasmer qjs.wasm
QuickJS - Type "\h" for help
qjs > const i = 1 + 2;
qjs > console.log("hello " + i);
hello 3
Here is what you can do next:
📦 Language Integrations
The Wasmer runtime can be used as a library embedded in different languages, so you can use WebAssembly anywhere.
Language | Package | Documentation | |
---|---|---|---|
Rust | wasmer Rust crate |
Learn | |
C | wasm.h header |
Learn | |
C++ | wasm.hh header |
Learn | |
C# | WasmerSharp NuGet package |
Learn | |
D | wasmer Dub package |
Learn | |
Python | wasmer PyPI package |
Learn | |
Javascript | @wasmerio NPM packages |
Learn | |
Go | wasmer Go package |
Learn | |
PHP | wasm PECL package |
Learn | |
Ruby | wasmer Ruby Gem |
Learn | |
Java | wasmer/wasmer-jni Bintray package |
Learn | |
R | no published package | Learn | |
Postgres | no published package | Learn | |
Swift | no published package | ||
![]() |
Zig | no published package | |
Dart | wasm pub package |
||
Crystal | no published package | Learn | |
Lisp | no published package | ||
Julia | no published package | ||
V | no published package | ||
OCaml | wasmer OCaml package |
Contribute
We appreciate your help! 💜
We recommend reading the following guide on how to contribute into a complex project successfully: https://mitchellh.com/writing/contributing-to-complex-projects
Check our docs on how to build Wasmer from source or test your changes.
Community
Wasmer has an amazing community of developers and contributors. Welcome, please join us!