Project NewTop is a free Lua and LuaU obfuscator built for Roblox developers. Paste or upload your script, pick a protection level, and get back unreadable — but fully functional — code in seconds.
-- Your original script
local function getSecret()
local key = "my_private_api_key"
return key
end
print(getSecret())--[[Project NewTop | Strong]]
return(function(...)
local _0x4f2a={0x1a3b%(0x44c*0x832);
"\89\112\106\80\71\112\110\115\118\54";
-0xF1878+0x133E851;}
local _0x7c1={function(_0xa)
return _0x4f2a[_0xa+1] end}
...
end)(getfenv and getfenv()or _ENV,...)No account needed to try it. Log in with Discord to save your settings and access higher rate limits.
.lua file.
The obfuscator handles files up to 500 KB — including large, complex Roblox scripts.
.lua file named
Obfuscated_RandomString.lua.
Every preset produces code that runs identically to the original — just impossible to read.
Built specifically for Roblox Lua and LuaU developers.
Every string literal in your script is encrypted and only decrypted at runtime. Static analysis reveals nothing readable.
The Strong preset compiles your script into bytecode for a custom virtual machine. Decompilers produce useless output.
Built-in integrity checks detect modification attempts and crash the script before it can be reverse engineered.
Upload a .lua file directly. Download the obfuscated result as a file — no copy-paste needed.
Results in seconds. Works with large scripts — up to 500 KB — without freezing your browser.
Log in with Discord and start obfuscating immediately at no cost. Optional upgrades available for power users.
Integrate obfuscation into your own pipeline using a simple REST API. Free key included with every account.
Complete social tasks and daily offers to earn coins without spending Robux. Spend them on upgrades and custom API keys.
Every account comes with a free API key. Send a POST request — get back protected code. No extra setup.
-- Request headers X-Api-Key: Free_YourKeyHere Content-Type: application/json -- Request body { "code": "print('hello world')", "preset": "Strong" } -- Success response { "success": true, "result": "--[[Project NewTop]] return(function(...)..." } -- Rate limit response { "error": "Rate limit exceeded (3 req/min)." }
Free keys: 3 req/min · Premium keys: 100 req/min · Custom keys: set your own limit