Protect your
Roblox Luau code

AntiLua turns a Roblox Luau script into one file you ship as before. The source is compiled into a virtual machine generated for that upload, its constants encrypted, its control flow rewritten. The protected script runs in Roblox just like the original.

Supported platforms

Platform is a per-build setting. Every plan includes every platform listed here.

RobloxLuau

Roblox Luau scripts in, one protected file out. An executor loads it the same way it loaded the original.

Plain outputNo install

The protected file is one Roblox Luau script your players load as before, with nothing to ship alongside it.

Common questions

What is AntiLua?

A Roblox Luau obfuscator. You upload a script, it comes back compiled into its own virtual machine, with encrypted constants and a rewritten control flow, as one file that runs like the original.

Will obfuscation break a script that already works?

No. Protection is applied at build time, so the output behaves exactly like the source once it is loaded. Nothing is installed on the client side and nothing changes for your players.

What do I get on the free plan?

Three builds a day, the full engine and your build history. Free is the default plan on every account: there is no activation step, no card and nothing to confirm.

Does AntiLua keep my scripts?

Builds stay on your account so you can download them again later. They are never shared with other users, and no build is used to train anything.

What every build gets

A virtual machine per build

The script is compiled into instructions for a VM generated for that build alone. Two builds of the same file do not share an instruction set, so reversing one teaches nothing about the next.

Encrypted constants

Strings, numbers and table literals are encrypted per build and decrypted inside the VM. What is left in the file is encoded instructions, not your code.

Flattened control flow

Branches and loops are rewritten into a state machine. The order the instructions appear in no longer describes what the script does.

Runtime anti-tamper

The build checks itself while it loads. Change a byte and it resolves to noise instead of behaviour.

Every build kept

Builds stay listed with their output, so a release you shipped months ago can be downloaded again instead of rebuilt from a source you no longer have.

API access

Call the engine from a script or a CI job: one bearer key, one POST, the protected file back.

Layered by design

AntiLua applies virtualization, encryption, control-flow scrambling and anti-tamper together. AntiLua strips nothing to save time: a build that skipped a layer would be the one an attacker gets to practise on. And because every build is unique, tooling written against one output does not work on the next.

Read the docs
build.pipelinesequential
01

Virtual machine

Generated for this build only

02

Encrypted constants

Strings and numbers sealed

03

Control flow

Rewritten as a state machine

04

Anti-tamper

Verified while it loads

script.lua→ script.protected.lua

Protect your first script in minutes

Create an account, upload a script, download the protected build.