One snippet. Five Luas. In your browser.
omniLua is one pure-Rust runtime for Lua 5.1, 5.2, 5.3, 5.4, and 5.5 — as a standalone interpreter, embedded in Rust, or in the browser. No C dependency, no unsafe FFI.
If your Rust program — or your game — ships a wasm build, a C-backed Lua binding can't follow it. omniLua is pure Rust: the same scripting runtime compiles natively and to wasm32-unknown-unknown, with no Emscripten and no toolchain gymnastics.
All five columns are live. The shipped .wasm bundle carries every
backend (5.1, 5.2, 5.3, 5.4, 5.5) in one module and selects the version
per run, so each column executes your edited code on its own Lua version —
no second download, no recompile. Before the runtime finishes loading, the columns
briefly show verified reference output for the default snippet (captured from
the official PUC-Rio binaries, tagged ref) and flip to live
the instant the runtime is ready.
Examples
Curated snippets — one click loads each into the editor.
Get omniLua
Every Lua, everywhere — pure-Rust Lua 5.1–5.5, suite-passing, LuaRocks-compatible, wasm-ready.
$ cargo install omnilua-cli
# omnilua = "0.1"
$ npm install omnilua