Roblox Sprite Sheet Generator
Create sprite sheets and texture atlases for your Roblox games.
Features
Video & GIF to Sprites
Extract frames from video or GIF for Roblox ImageLabel animation.
UI-Ready Export
PNG sprite sheets work with Roblox ImageLabel, SurfaceGui, and decals.
Frame Metadata
JSON includes frame positions and sizes for scripting in Roblox.
1024px-Aware Packing
Set max atlas size to 1024 to match Roblox's image upload limit.
Privacy First
Processing runs locally — your Roblox assets never upload to our servers.
Free to Use
No sign-up, no limits. Use for personal or published Roblox games.
How It Works
Upload Video or Images
Drop a video, GIF, or sprite images.
Configure FPS & Scale
Set frame rate and scale; keep the atlas within 1024×1024.
Download & Import to Roblox
Upload the PNG in Roblox, then animate with the script below.
Why Use I Love Sprites?
Roblox developers use sprite sheets for GUI animations, ImageLabel sequences, loading screens, and 2D game elements. Roblox has no built-in sprite sheet importer, but ImageLabel and ImageButton expose ImageRectOffset and ImageRectSize — set those per frame and any packed sheet becomes an animation. I Love Sprites outputs the PNG plus JSON frame data you need to drive them, and your assets never leave your device.
Two Roblox-specific constraints shape how you should pack. Images upload at a maximum of 1024×1024, so set the max atlas size to 1024 — if your animation doesn't fit, reduce scale or FPS rather than letting frames spill across multiple images. And because Roblox serves images through its CDN with filtering you don't control, leave 1-2px padding/extrusion on so neighboring frames never bleed into view at UI scale.
The typical workflow: generate the sheet here, upload the PNG through Roblox's asset manager, paste the frame table from the JSON into a ModuleScript, and run a small loop that steps ImageRectOffset at your frame rate — the snippet below is a complete working example.
Animate an ImageLabel through the frames (Luau)
Parent this LocalScript to an ImageLabel whose Image is your uploaded sheet. Fill the frames table from the exported JSON (x, y, w, h per frame).
local label = script.Parent -- ImageLabel with your atlas as Image
local FPS = 12
-- Frame rects from the I Love Sprites JSON export
local frames = {
{ x = 0, y = 0, w = 128, h = 128 },
{ x = 128, y = 0, w = 128, h = 128 },
{ x = 256, y = 0, w = 128, h = 128 },
-- ...
}
local i = 0
while label.Parent do
i = (i % #frames) + 1
local f = frames[i]
label.ImageRectOffset = Vector2.new(f.x, f.y)
label.ImageRectSize = Vector2.new(f.w, f.h)
task.wait(1 / FPS)
endFrequently Asked Questions
Common questions about sprite sheet generator for roblox.
Upload the PNG as an image asset, set it as an ImageLabel's Image, then script ImageRectOffset and ImageRectSize per frame using the coordinates from the exported JSON — see the example script above.
Yes. Export an animated sprite sheet from a video or GIF, then cycle frames on an ImageLabel or ImageButton with a small Luau loop.
Roblox images upload at up to 1024×1024. Set max atlas size to 1024 in the packer; if frames don't fit, lower the scale or FPS.
Roblox doesn't auto-parse the JSON, but the format is simple — copy the frame rects into a ModuleScript table and read them from your animation loop.
Related Tools
Sprite Sheet Generator
Generate sprite sheets from videos and GIFs directly in your browser. Free, private, and fast. Export for Unity, Godot, Phaser, and more.
Sprite Sheet Generator for Unity
Generate Unity-compatible sprite sheets and texture atlases from videos, GIFs, or images. Export Unity metadata and auto-slice with an editor script. Free browser tool.
GIF to Sprite Sheet
Convert animated GIFs to sprite sheets for game development. Extract all frames, set FPS, and export for Unity, Godot, Phaser. Free browser tool.
Texture Atlas Generator
Pack multiple images into an optimized texture atlas in your browser. Free, private, and fast. Export for Unity, Godot, Phaser, and more.
Stay Updated
Get notified about new features and tool updates.