Skip to main content

GIF to Sprite Sheet

Drop an animated GIF to get a PNG sprite sheet, a JSON atlas with frame timing, and single frames. All decoding runs in your browser, and nothing is uploaded.

Free, no limit. Your GIF stays on your device.

GIF

Drop an animated GIF here

Animated GIF. Nothing is uploaded.

No GIF at hand?

Your frames, laid out as a sheet

Add a GIF on the left. Its frames open here in a grid.

How to convert a GIF to a sprite sheet

  1. Add the GIF

    Drop an animated GIF on the page or choose a file. Your browser reads every frame; the file is not sent anywhere.

  2. Set the layout

    Pick the number of columns, padding from 0 to 8 px, which frames to keep, and a scale from 50% to 400% with hard pixel edges.

  3. Download the sheet

    Download the PNG sprite sheet, the JSON atlas with each frame's position and duration, or a ZIP with everything.

What the GIF converter handles

InputOne animated GIF, decoded in your browser, including GIFs that store only the changed part of each frame
LayoutFrames left to right and top to bottom, all the same size, in the number of columns you choose
OptionsPadding 0 to 8 px; every frame or every 2nd, 3rd or 4th; scale 50%, 100%, 200% or 400%
OutputPNG sprite sheet, JSON atlas with frame positions and durations in milliseconds, ZIP with the sheet, the atlas and every frame
TransparencyTransparent GIF pixels stay transparent in the PNG
PrivacyRuns in your browser. Nothing is uploaded
PriceFree, no daily limit, no account

Questions

How do I convert a GIF to a sprite sheet?

Drop an animated GIF into the tool, then set the number of columns, the padding, which frames to keep and the scale. The page shows the frame size and the sheet size as you change them. Download the PNG sprite sheet, the JSON atlas, or a ZIP with everything.

Is my GIF uploaded to a server?

No. The GIF is decoded and laid out in your browser. The file never leaves your device.

Does the sprite sheet keep the GIF's frame timing?

Yes. The JSON atlas lists each frame's x, y, width and height and its duration in milliseconds, taken from the GIF. Use those durations to match the animation speed in your engine.

Does a transparent background survive the conversion?

Yes. Transparent pixels in the GIF stay transparent in the PNG sprite sheet and in the single PNG frames.

How do I use the sprite sheet in Unity, Godot, GameMaker or Phaser?

Import the PNG and slice it as a grid with the frame width and height shown on this page. In Phaser you can also load the JSON atlas for the frame positions; each frame's duration is listed there in milliseconds.

More sprite sheet tools