Gui to lua Update
Key RequiredUniversal

Gui to lua Update

Universal ScriptRevan_LoL32Revan_LoL32 742 views 205 executesUpdated Apr 1, 2026
1.7/ 5(3 votes)
1233% Positive
Lua Script•139 lines (5424 chars)
local guiName = "ScreenGui"

local player = game.Players.LocalPlayer
local gui = player.PlayerGui:FindFirstChild(guiName)

if not gui then
    warn("you don't have GUI skid")
    return
end

local function fixName(name)
    name = name:gsub("%s+", "_")
    name = name:gsub("[^%w_]", "")
    if tonumber(name:sub(1,1)) then
        name = "obj_"..name
    end
    return name
end

local function udim2(u)
    return "UDim2.new("..u.X.Scale..","..u.X.Offset..","..u.Y.Scale..","..u.Y.Offset..")"
end

local function color3(c)
    return "Color3.fromRGB("..
        math.floor(c.R*255)..","..
        math.floor(c.G*255)..","..
        math.floor(c.B*255)..")"
end

local output = ""
local names = {}
local usedNames = {}

output = output..[[
local CoreGui = game:GetService("CoreGui")
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.Parent = CoreGui
ScreenGui.ResetOnSpawn = false

]]

names[gui] = "ScreenGui"

local function convert(obj)
    local base = fixName(obj.Name)
    local var = base
    local i = 1

    while usedNames[var] do
        var = base.."_"..i
        i += 1
    end

    usedNames[var] = true
    names[obj] = var

    output = output.."local "..var.." = Instance.new('"..obj.ClassName.."')\n"

    if obj.Parent == gui then
        output = output..var..".Parent = ScreenGui\n"
    elseif names[obj.Parent] then
        output = output..var..".Parent = "..names[obj.Parent].."\n"
    else
        output = output..var..".Parent = ScreenGui\n"
    end

    if obj:IsA("GuiObject") then
        output = output..var..".Visible = "..tostring(obj.Visible).."\n"
        output = output..var..".Size = "..udim2(obj.Size).."\n"
        output = output..var..".Position = "..udim2(obj.Position).."\n"
        output = output..var..".Rotation = "..obj.Rotation.."\n"
        output = output..var..".BackgroundColor3 = "..color3(obj.BackgroundColor3).."\n"
        output = output..var..".BackgroundTransparency = "..obj.BackgroundTransparency.."\n"
        output = output..var..".BorderSizePixel = "..obj.BorderSizePixel.."\n"
        output = output..var..".BorderColor3 = "..color3(obj.BorderColor3).."\n"
    end

    if obj:IsA("TextLabel") or obj:IsA("TextButton") or obj:IsA("TextBox") then
        output = output..var..".Text = [["..obj.Text.."]]\n"
        output = output..var..".TextColor3 = "..color3(obj.TextColor3).."\n"
        output = output..var..".TextTransparency = "..obj.TextTransparency.."\n"
        output = output..var..".TextSize = "..obj.TextSize.."\n"
        output = output..var..".TextWrapped = "..tostring(obj.TextWrapped).."\n"
        output = output..var..".TextScaled = "..tostring(obj.TextScaled).."\n"
        output = output..var..".Font = Enum.Font."..tostring(obj.Font):gsub("Enum.Font.", "").."\n"
        output = output..var..".TextXAlignment = Enum.TextXAlignment."..tostring(obj.TextXAlignment):gsub("Enum.TextXAlignment.", "").."\n"
        output = output..var..".TextYAlignment = Enum.TextYAlignment."..tostring(obj.TextYAlignment):gsub("Enum.TextYAlignment.", "").."\n"

        if obj:IsA("TextBox") then
            output = output..var..".ClearTextOnFocus = "..tostring(obj.ClearTextOnFocus).."\n"
            output = output..var..".MultiLine = "..tostring(obj.MultiLine).."\n"
        end
    end

    if obj:IsA("ImageLabel") or obj:IsA("ImageButton") then
        output = output..var..".Image = [["..obj.Image.."]]\n"
        output = output..var..".ImageTransparency = "..obj.ImageTransparency.."\n"
        output = output..var..".ImageRectOffset = Vector2.new("..obj.ImageRectOffset.X..","..obj.ImageRectOffset.Y..")\n"
        output = output..var..".ImageRectSize = Vector2.new("..obj.ImageRectSize.X..","..obj.ImageRectSize.Y..")\n"
    end

    for _,child in ipairs(obj:GetChildren()) do
        if child:IsA("UIStroke") then
            local childVar = var.."_UIStroke"
            output = output.."local "..childVar.." = Instance.new('UIStroke')\n"
            output = output..childVar..".Parent = "..var.."\n"
            output = output..childVar..".Color = "..color3(child.Color).."\n"
            output = output..childVar..".Transparency = "..child.Transparency.."\n"
            output = output..childVar..".Thickness = "..child.Thickness.."\n"
            output = output..childVar..".ApplyStrokeMode = Enum.ApplyStrokeMode."..tostring(child.ApplyStrokeMode):gsub("Enum.ApplyStrokeMode.", "").."\n"
            output = output..childVar..".LineJoinMode = Enum.LineJoinMode."..tostring(child.LineJoinMode):gsub("Enum.LineJoinMode.", "").."\n"
            output = output..childVar..".Enabled = "..tostring(child.Enabled).."\n"

        elseif child:IsA("UICorner") then
            local childVar = var.."_UICorner"
            output = output.."local "..childVar.." = Instance.new('UICorner')\n"
            output = output..childVar..".Parent = "..var.."\n"
            output = output..childVar..".CornerRadius = UDim.new("..
                child.CornerRadius.Scale..","..
                child.CornerRadius.Offset..")\n"
        end
    end

    if obj:IsA("TextButton") or obj:IsA("ImageButton") then
        output = output..var..".MouseButton1Click:Connect(function()\n"
        output = output.."    print('"..var.." clicked')\n"
        output = output.."end)\n"
    end

    output = output.."\n"
end

for _,v in ipairs(gui:GetDescendants()) do
    convert(v)
end

setclipboard(output)
print("GUI successfully")

Features & Information

Gui creator beta

Community Comments (2)

ScriptthemeScriptthemeApr 4, 2026

Ini Script apa??

Replying to @Scripttheme
9x7x9x4x6_a9x7x9x4x6_aJul 18, 2026

@Scripttheme dongo udah di bilang Gui to LUA malah naya

More Scripts for Universal Scripts