🚀 The leading WebAssembly Runtime supporting WASI and Emscripten
MIT License
13904
186
596


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

    cargo binstall wasmer-cli
  • Cargo

    Note: All the available features are described in the wasmer-cli crate docs

    cargo 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 logo Rust wasmer Rust crate Learn
C logo C wasm.h header Learn
C++ logo C++ wasm.hh header Learn
C# logo C# WasmerSharp NuGet package Learn
D logo D wasmer Dub package Learn
Python logo Python wasmer PyPI package Learn
JS logo Javascript @wasmerio NPM packages Learn
Go logo Go wasmer Go package Learn
PHP logo PHP wasm PECL package Learn
Ruby logo Ruby wasmer Ruby Gem Learn
Java logo Java wasmer/wasmer-jni Bintray package Learn
Elixir logo Elixir wasmex hex package Learn
R logo R no published package Learn
Postgres logo Postgres no published package Learn
Swift logo Swift no published package
Zig logo Zig no published package
Dart logo Dart wasm pub package
Crystal logo Crystal no published package Learn
Lisp logo Lisp no published package
Julia logo Julia no published package
VLang logo V no published package
Ocaml logo OCaml wasmer OCaml package

👋  Missing a language?

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! 👋

Contributors

syrusakbary
Hywan
MarkMcCaskey
bors[bot]
nlewycky
fschutt
losfair
ptitSeb
bjfish
lachlansneff
xmclark
Amanieu
epilys
dependabot-preview[bot]
appcypher
NathHorrigan
jubianchi
silwol
ailisp
pventuzelo
webmaster128
YaronWittenstein
chenyukang
jcaesar
Michael-F-Bryan
natowi
piranna
Earthmark
bnjjj
TheLostLambda
batconjurer
everestmz
dependabot[bot]
john-sharratt
repi
shuuji3
igrep
NobodyXu
coolreader18
kwonoj
chances
grishasobol
MidasLamb
tessi
nagisa
kateinoigakukun
k-nasa
brew0722
matklad
ureeves
oconnor663
Jake-Shadle
Jasper-Bekkers
jdanford
ken-matsui
johnsome
minhyeokl
penberg
mikevoronov
YunSuk-Yeo
newpavlov
XX
satrobit
d0iasm
Cretezy
CryZe
kant
ethanfrey
FGasper
huitseeker
kubkon
yjh0502
vavrusa
nicholas-l
srenatus
styfle
palfrey
tnayuki
cyw3
FeelyChau
hanabi1224
laizy
0xflotus
torch2424
shekhirin
canndrew
alocquet
cjbassi
theduke
Kerollmops
dgrijalva
daveloyall
calavera
davidMcneil
FlorianFranzen
flfymoss
helje5
hrydgard
Horki
MalloryA