The Ultimate Guide to Roblox SaveInstance Scripts: Archiving and Decompiling Places
The best ways to secure your from being guessed or replicated.
⚠️ Using SaveInstance to steal a game you do not own violates Roblox’s Terms of Service. It is primarily used for backing up your own games, learning from public games (where permitted by the creator), or reverse-engineering for educational purposes. Distributing stolen games is illegal and can lead to account termination. Roblox SaveInstance Script
When you join a Roblox server, your client receives data about the game world. An exploit (like Synapse X, Krnl, ScriptWare) gives you the ability to run custom Lua scripts. A SaveInstance script iterates through the game’s workspace , Lighting , ReplicatedStorage , ServerScriptService , and other containers, cloning them and writing the data to a file.
If a module is never replicated to the client, its code cannot be saved. The Ultimate Guide to Roblox SaveInstance Scripts: Archiving
The SaveInstance script is a powerful tool in the arsenal of a modern Roblox developer or researcher. As of 2026, tools like have made the process more seamless and reliable. Always ensure you are acting within the bounds of the Roblox ToS and using these tools for educational or ethical purposes.
local options = mode = "full", -- Options: "full", "scripts", "objects" noscripts = false, -- Set to true if you only want the map geometry timeout = 30, -- Maximum seconds to spend decompiling saveinstance(options) Use code with caution. Distributing stolen games is illegal and can lead
-- Basic SaveInstance script (requires executor with saveinstance function) if saveinstance then saveinstance("saved_place.rbxl") print("Saved to saved_place.rbxl") else warn("Your executor does not support saveinstance()") end
local function getSafeProps(inst) local allowed = ALLOWLIST[inst.ClassName] or {} local props = {} for _, prop in ipairs(allowed) do local success, val = pcall(function() return inst[prop] end) if success then -- convert Vector3, Color3, CFrame to tables if typeof(val) == "Vector3" then props[prop] = x=val.X,y=val.Y,z=val.Z elseif typeof(val) == "Color3" then props[prop] = r=val.R,g=val.G,b=val.B elseif typeof(val) == "CFrame" then local p = val.Position; local r = val:ToEulerAnglesXYZ() props[prop] = px=p.X,py=p.Y,pz=p.Z,rx=r[1],ry=r[2],rz=r[3] else props[prop] = val end end end return props end
Copies all parts, meshes, textures, and terrain.
It reads the properties of each object (e.g., Size , Position , Color , Material ) and translates them into a standardized format.