Simple Script Compressor Open Source
Key RequiredUniversal

Simple Script Compressor Open Source

Universal ScriptStummerStummer 962 views 7 executesUpdated May 11, 2026
Unrated
00
Lua Script•123 lines (4295 chars)
local ScreenGui = Instance.new("ScreenGui")
local mainframe = Instance.new("Frame")
local titleLabel = Instance.new("TextLabel")
local textbox = Instance.new("TextBox")
local EncodeButton = Instance.new("TextButton")

ScreenGui.Name = "Roblox"
ScreenGui.ResetOnSpawn = false
ScreenGui.Parent = game.Players.LocalPlayer:WaitForChild("PlayerGui")

mainframe.Name = "RobloxIcon"
mainframe.Parent = ScreenGui
mainframe.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
mainframe.Size = UDim2.new(0.35, 0, 0.55, 0)
mainframe.Position = UDim2.new(0.375, 0, 0.3, 0)
mainframe.BorderSizePixel = 1.5
mainframe.BorderColor3 = Color3.fromRGB(0, 0, 0)
mainframe.Active = true
mainframe.Draggable = true

titleLabel.Parent = mainframe
titleLabel.Text = "Script Compressor by Stummer"
titleLabel.Size = UDim2.new(1, 0, 0.1, 0)
titleLabel.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
titleLabel.TextColor3 = Color3.fromRGB(0, 0, 0)
titleLabel.Font = Enum.Font.Code
titleLabel.TextScaled = true

textbox.Parent = mainframe
textbox.Size = UDim2.new(0.94, 0, 0.63, 0)
textbox.Position = UDim2.new(0.03, 0, 0.15, 0)
textbox.BackgroundColor3 = Color3.fromRGB(255, 255, 255)
textbox.TextColor3 = Color3.fromRGB(0, 0, 0)
textbox.PlaceholderText = "Fill Script Here..."
textbox.PlaceholderColor3 = Color3.fromRGB(169, 169, 169)
textbox.ClearTextOnFocus = false
textbox.TextWrapped = true
textbox.TextXAlignment = Enum.TextXAlignment.Left
textbox.TextYAlignment = Enum.TextYAlignment.Top
textbox.TextScaled = false
textbox.MultiLine = true
textbox.Font = Enum.Font.Code
textbox.RichText = false
textbox.Text = ""

EncodeButton.Parent = mainframe
EncodeButton.Text = "Encode"
EncodeButton.Size = UDim2.new(0.7, 0, 0.09, 0)
EncodeButton.Position = UDim2.new(0.15, 0, 0.82, 0)
EncodeButton.BackgroundColor3 = Color3.fromRGB(254, 254, 254)
EncodeButton.TextColor3 = Color3.fromRGB(0, 0, 0)
EncodeButton.Font = Enum.Font.SourceSans
EncodeButton.TextScaled = true

local b92chars = " !#$%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~"

local function compressLZW_Base92(str)
    local dict = {}
    for i = 0, 255 do dict[string.char(i)] = i end
    local dictSize = 256
    local w = ""
    local res = {}

    local function emit(code)
        local c1 = math.floor(code / 92) + 1
        local c2 = (code % 92) + 1
        table.insert(res, string.sub(b92chars, c1, c1) .. string.sub(b92chars, c2, c2))
    end

    for i = 1, #str do
        local c = string.sub(str, i, i)
        local wc = w .. c
        if dict[wc] then
            w = wc
        else
            emit(dict[w])
            dict[wc] = dictSize
            dictSize = dictSize + 1
            
            if dictSize > 8463 then
                dict = {}
                for j = 0, 255 do dict[string.char(j)] = j end
                dictSize = 256
            end
            w = c
        end
    end
    if w ~= "" then
        emit(dict[w])
    end
    
    return table.concat(res)
end

EncodeButton.MouseButton1Click:Connect(function()
    local input = textbox.Text
    if input == "" or #input < 2 then 
        EncodeButton.Text = "Script too short!"
        task.delay(1, function() EncodeButton.Text = "Encode" end)
        return 
    end
    
    EncodeButton.Text = "Compressing..."
    task.wait()
    
    local encodedPayload = compressLZW_Base92(input)
    
    local runtimeTemplate = 'loadstring((function()local s="%s"local b=" !#$%%&()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~"local m,d,r={},{},{}for i=1,92 do m[b:sub(i,i)]=i-1 end for i=0,255 do d[i]=string.char(i)end local n,w=256,d[m[s:sub(1,1)]*92+m[s:sub(2,2)]]r[1]=w for i=3,#s,2 do local c=m[s:sub(i,i)]*92+m[s:sub(i+1,i+1)]local e=d[c]or w..w:sub(1,1)r[#r+1]=e d[n]=w..e:sub(1,1)n=n+1 if n>8463 then d={}for j=0,255 do d[j]=string.char(j)end n=256 end w=e end return table.concat(r)end)())()'
    
    local finalPayload = string.format(runtimeTemplate, encodedPayload)
    
    if setclipboard then
        setclipboard(finalPayload)
        EncodeButton.Text = "Copied to Clipboard!"
    else
        textbox.Text = finalPayload
        EncodeButton.Text = "Success! (No setclipboard)"
    end
    
    task.delay(2, function()
        EncodeButton.Text = "Encode"
    end)
end)

Features & Information

Its open sourced

Community Comments (1)

voltexvoltexMay 11, 2026

ig bro

More Scripts for Universal Scripts