• (module (func $f (param i32) (result i32) local.get i32.const i32.add local.set local.tee drop loop block br_if return nop unreachable end))
  • (module (func $g (param f32) (result f32) f32.const f32.add f32.sub f32.mul f32.div f32.neg f32.abs f32.sqrt f32.ceil f32.floor f32.trunc f32.nearest))
  • (module (memory (export "mem") 1 2 data (i32.const 0) "WASM" table (export "t") 2 funcref elem (table 0) (i32.const 0) func))
  • (module (global $g (mut i32) (i32.const 42) global.get global.set memory.grow memory.size ref.null ref.func call call_indirect select))
  • (module (func $i (param i32) (result i32) i32.eq i32.ne i32.lt_s i32.lt_u i32.gt_s i32.gt_u i32.le_s i32.le_u i32.ge_s i32.ge_u memory.fill memory.copy ref.is_null br))
  • (module (func $h (param i64) (result i64) i64.const i64.add i64.sub i64.mul i64.div_s i64.div_u i64.rem_s i64.rem_u i64.and i64.or i64.xor i64.shl i64.shr_s i64.shr_u))

A community-driven initiative focused on building and supporting WASM packages and tools for the Zig programming language

We believe that Zig's focus on simplicity, performance, and control makes it an excellent language for targeting WebAssembly

Packages

See more ›

Showcase

Can

rip and tear through HTML divs?

Render DOOM by dynamically updating thousands of individual HTML div elements per frame, where DOM manipulation is handled by Zig.

What if the

compiler ran in your browser?

This project compiles the Zig compiler and std library to WASM, allowing interactive Zig compilation within the browser.

Is it possible to run in the browser?

We compiled the first version of Redis to WASM, demonstrating that even stateful applications can run entirely in your browser.

Come and join us, we need you!

Click on this element to open a GitHub Issue in our repository with your proposal for a new project, package, or demo.