WebAssembly · version 1

Run WebAssembly 1 online

WebAssembly 1 — run it in a Firecracker microVM on ls-judge. Real toolchain, no wrapper.

Starter code

What you get in WebAssembly 1

Clicking "Run now" opens the playground with this exact code and a matching test case — passes on first Run.

webassembly
WebAssembly 1
(module
  (import "wasi_snapshot_preview1" "fd_write"
    (func $fd_write (param i32 i32 i32 i32) (result i32)))
  (memory 1)
  (export "memory" (memory 0))
  (data (i32.const 8) "Hello, World!\n")
  (func $main (export "_start")
    (i32.store (i32.const 0) (i32.const 8))
    (i32.store (i32.const 4) (i32.const 14))
    (drop (call $fd_write (i32.const 1) (i32.const 0) (i32.const 1) (i32.const 20)))
  )
)
stdin →(empty)
expected →Hello, World!
How it runs

How ls-judge runs WebAssembly 1

Every submission is compiled and executed inside its own Firecracker microVM — the same isolation primitive AWS Lambda uses. No shared container, no shared kernel with other users' code. The WebAssembly 1toolchain shipped with the microVM is the real thing (not a browser-side emulation): syscalls behave the way they do in production, and the compile / runtime behaviour matches what you would see on your own machine with that version installed.

Feed stdin from the Tests panel, watch verdicts stream per test case over a WebSocket. Free to use, no sign-up, works from any browser.