Browser-local toolNO LOGIN
BUILT FOR LUAU

Luau in.
Clutter out.

Obfuscate Luau locally. Review leaks. Verify your exported artifact.

What happens to my code? ↗
⌁
On-device processingSource never leaves your browser
✓
Compile-checked outputLuau syntax checked before download
↗
No account neededOpen the workspace. Start building.
</>

Obfuscation studio

LOCAL
Luau / UTF-80 lines · 0 B

Ready when you are.

Add your script, choose your settings,
and make it harder to read.

YOUR SOURCE STAYS YOURS
Awaiting source—

Conservative: broader Luau syntax. No runtime wrapper.

Make it yoursChoose a compatible output architecture.
◇Local processing · Up to 128 KiB · No execution
STATIC REVIEW

Environment & logging audit

Find environment reads, sensitive names and log sinks for review. This review does not block, hide or upload anything. VM compilation separately rejects direct environment/introspection names. This heuristic is not data-flow analysis and can miss issues or flag safe code.

  1. Run a review to see findings with source lines.
ARTIFACT INTEGRITY

Know when output changes

A SHA-256 digest checks whether exported text changed. It is not a signature, encryption or runtime anti-tamper protection. Keep your trusted digest separately.

Verification stays in your browser.

UNDER THE HOOD

Less readable.
Still your Luau.

Conservative mode keeps the existing lightweight transforms. VM v3 uses a rebuilt AST compiler, diversifies instructions and constant storage for each build, then emits a standalone Luau interpreter with bounded container validation. Neither mode runs your source here.

01 Compile input→02 Transform locally→03 Compile output
i

Obfuscation isn’t encryption.

Determined readers can reverse these transforms. Keep secrets and authorization checks on your server, not inside client scripts.

Compatibility & limitations +

Conservative mode preserves APIs/types and rejects backtick interpolation. VM v3 supports untyped Lua 5.1-compatible Luau: locals, lexical closures/upvalues, recursion, if/do, while/repeat/numeric and explicit iterator for loops with break, tables, indexing, methods, arithmetic, short-circuit logic, varargs and nil-containing multiple returns. VM mode rejects types, +=, continue, generalized iteration, backticks, global assignment and environment/stack introspection. Input limit: 32 KiB; 128 functions, 12,000 instructions. Generated output needs Luau table.pack/table.unpack. Ordinary Roblox globals are referenced by name but Roblox host behavior has not been tested. Numeric for needs numeric controls and nonzero step. Debug positions, stack traces, function identity and introspection differ. Encoded strings and instructions are scrambled per build. Checks detect container corruption before execution; they are not authentication. Defaults: 2 million VM instructions and 128 nested VM calls; exceeding either safely errors. Embedded keys remain recoverable. Local library caches do not prevent pre-existing hooks. Runtime dependencies are checked for availability, not authenticity. Client-side code cannot be made dump-proof or hook-proof. No unhookability, Prometheus compatibility or production-grade protection is claimed. The Rust CLI remains a separate parser-backed cleanup tool; VM compilation runs locally in JavaScript. Exported code executes only when you run it in the target host. Test there before shipping.