Parse
Lua source is tokenized into an abstract syntax tree. Supported type syntax is removed while runtime behavior remains intact.
Lexer + ASTLua source protection
Open a Lua file, choose a protection level, and download the protected script. The build report records the engine version, seed, and output hash.
Source ready. Choose protection and build.
Drop a .lua or .luau file. Ctrl+Enter to build. Tab moves between controls.
Output syntax checked. Your code is not executed on the server. Test the download in your target runtime.
Public builds are processed for this request and are not saved as projects. No third-party scripts load in this workbench. Source handling
We parse the generated Lua before delivery and test compiler changes against the Luau runtime. Test each download in your own environment too. Build and testing guide.
Lua source is tokenized into an abstract syntax tree. Supported type syntax is removed while runtime behavior remains intact.
Lexer + ASTThe entire Lua program becomes custom bytecode. Closures, calls and loops run through a randomized virtual machine in every tier.
Whole programInstructions stay masked until execution. Basic blocks are shuffled, constants decode on demand, and Maximum adds a second virtual machine.
Fresh build randomnessGenerated Lua is parsed before delivery. Integrity checks reject damaged bytecode. Compiler tests run original and protected programs in the Luau runtime.
Semantic testsIf someone runs your script, they can inspect what it does. Obfuscation makes that work harder, but it cannot hide a secret that must reach their machine. Keep credentials and important decisions on your server.
License keys let you grant or revoke access to a release. They cannot make client-side code private.
Use the workbench for manual builds. For release pipelines, verified accounts can fund a prepaid API balance and create metered keys for Lite or Advanced builds. Deposits start at $10; available payment methods appear in the dashboard. Omit the seed for a fresh build.
{
"source": "local message = 'protected'",
"tier": "advanced",
"seed": "release-001",
"banner": false,
"layers": 1,
"antiDebug": false
}
422: source or settings need attention. 429: request limit reached. 503: compiler busy; retry after the indicated delay.
Send the source pattern that fails, the build identifier, and the behavior you expected. You can open a ticket from your dashboard.
Start with your target runtime. These notes cover the checks we can run and the ones you still need to perform in the game or app where your script runs.
Runtime support, access, and source handling.
hide.lat compiles your script into custom bytecode and packages it with a Lua interpreter. It masks instructions, encrypts constants, and randomizes the instruction set for each build. How to build and test a script.
Lite builds are free with a verified account. Advanced and Maximum require reviewed access.
The primary target is Roblox Luau, including type annotations, compound assignment, continue and interpolation. Lua 5.1 code using the shared language subset may also work; runtime-specific features must be checked in your target. Read the Roblox Lua obfuscation guide before distributing a build.
Some Lua 5.1 scripts may work, but FFI, native hooks and game APIs need testing in their actual runtime. See the MoonLoader and SA:MP guide before distributing a protected build.
No. The downloaded file contains the protected code and its interpreter. It does not fetch another script with loadstring.
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.