Parse
Lua source is tokenized into an abstract syntax tree. Supported type syntax is removed while runtime behavior remains intact.
Lexer + ASTFree online Lua obfuscator
Paste a Lua script and download a randomized, standalone protected build. hide.lat handles Roblox Luau syntax while keeping the workflow direct: source in, protected Lua out.
script.luau unsaved build
What the compiler does
No mystery claims. Each protection layer has a specific job, and every output is tested before release.
Lua source is tokenized into an abstract syntax tree. Supported type syntax is removed while runtime behavior remains intact.
Lexer + ASTLocals are renamed by lexical scope. Strings move into a randomized encrypted constant pool.
Per-build seedAdvanced builds mask numbers and add opaque branches. Maximum lowers protected regions into a per-build instruction graph whose encrypted nodes are stored out of execution order.
Maximum tierThe emitted Lua is parsed again and continuously tested against the official Luau runtime.
Semantic testsA necessary boundary
Anything an executor can run can be observed at runtime. hide.lat does not claim physical impossibility. It produces polymorphic output designed to make static recovery, signature reuse, and one-click deobfuscation meaningfully more expensive.
The distribution layer is built in: encrypted project storage, revocable license keys, HWID device policy, execution telemetry, developer dashboards, Discord controls, and optional ad-gateway issuance. Together they limit exposure even when a build is eventually inspected.
Direct integration
Use the online Lua obfuscator for manual builds or call the API from a release pipeline. Seeds are optional; omit one for a fresh build.
{
"source": "local message = 'protected'",
"tier": "advanced",
"seed": "release-001",
"banner": false
}
Straight answers
The practical details developers usually need before putting an obfuscator into a release workflow.
It rewrites readable Lua into functionally equivalent code that is harder to inspect and reconstruct. hide.lat combines scoped renaming, encrypted constants, control-flow distortion and a randomized virtual instruction layer.
Yes. Lite, Advanced and Maximum are available without an account during the public testing period. The workbench still applies source-size and request-rate limits.
Yes. The parser accepts Roblox Luau features such as type annotations, compound assignment, continue statements and string interpolation.
No. The result is standalone source designed to run in supported environments without calling loadstring to fetch or compile another payload.
Any client-side program can be observed while it runs. Good obfuscation raises the time and skill required; it cannot make executable code physically impossible to recover.
The public workbench processes source for the current request and does not save it as a project. Authenticated dashboard projects use encrypted storage and explicit ownership controls.