Free online Lua obfuscator

Free Lua obfuscator.
Built to make reversing cost more.

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.

Target
Lua + Luau
Runtime
No loadstring
Testing
All tiers free
01

Obfuscation workbench

script.luau unsaved build

LUAU
Ln 1, Col 1 0 B UTF-8 Spaces: 4
02

What the compiler does

What happens to your Lua script.

No mystery claims. Each protection layer has a specific job, and every output is tested before release.

01

Parse

Lua source is tokenized into an abstract syntax tree. Supported type syntax is removed while runtime behavior remains intact.

Lexer + AST
02

Transform

Locals are renamed by lexical scope. Strings move into a randomized encrypted constant pool.

Per-build seed
03

Distort

Advanced 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 tier
04

Verify

The emitted Lua is parsed again and continuously tested against the official Luau runtime.

Semantic tests

A necessary boundary

Client-side code is recoverable.
Good protection changes the economics.

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.

03

Direct integration

One endpoint. The same compiler.

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.

Method
POST
Route
/api/obfuscate
Limit
500 KB
request.jsonJSON
{
  "source": "local message = 'protected'",
  "tier": "advanced",
  "seed": "release-001",
  "banner": false
}
04

Straight answers

Before you protect a build.

The practical details developers usually need before putting an obfuscator into a release workflow.

What does a Lua obfuscator do?

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.

Is the Lua obfuscator free?

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.

Does it support Roblox scripts?

Yes. The parser accepts Roblox Luau features such as type annotations, compound assignment, continue statements and string interpolation.

Does the output require loadstring?

No. The result is standalone source designed to run in supported environments without calling loadstring to fetch or compile another payload.

Can obfuscated Lua be reversed?

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.

Is pasted source stored?

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.