LuaU Obfuscation Engine

Make your scripts
impossible to read.

Ironbrew3 is the most advanced LuaU obfuscator for Luau, Lua 5.1+ & LuaJIT. One click stands between your code and anyone who wants to steal it.

Continue with Discord

Free to use · No password required

script.lua output.lua
Protected
Source
-- Player greeting module
local Players = game
  :GetService("Players")

local function greet(player)
  local name = player.Name
  print("Welcome, "
    .. name .. "!")
end

Players.PlayerAdded
  :Connect(greet)
Obfuscated
return (function(R,a,w,X,Z,...)
local S={[((function() 
local s={};s[s]=0xF9AEF8;return s[s] 
end)())]=function(s,l,f)
s=(-355225)+l[1]-l[1]+l[8];
f[(0x_f_105_AD9+18)]=(619471)-l[8]+l[1];
return s;end,[(({...})[6]-0xD8B314F)]=function(s,l,f)
s=(24948)+l[5]+l[6];
f[(0x256CA782+-0.8)]=(381153)+ 
l[(15+(true and 0 or 999))]
-f[(((0b_1101010-627877762)==0) and 627877762 or 6845)];
end return s;end,}local a=(R>=219) 
and 3942969 or ((function()local a={}; 
return({[a]=6485881})[a]end)())
if a<6485875 then
local a=(R==(219+(#N(174,0,110)-1)))
return S[-(({...})[13]+440800015)]()(...)
end end)(0b_100101_0011,-1732700953)

Control Flow

Execution paths rebuilt from scratch. Static analysis gets nothing.

String Encryption

Every literal encrypted. Readable strings simply don't exist at rest.

VM Wrapping

Your bytecode runs inside a unique Lua VM generated per build.

Anti-Decompile

Active traps against every major Lua decompiler and bytecode reader.