Convert from GIF · Free · No upload

Convert a GIF to a sprite sheet

GIF to Sprite Sheet packs every frame of an animated GIF into a single PNG grid and, optionally, a JSON file describing each frame’s position, size and duration in the widely used TexturePacker hash format. Choose automatic or fixed columns, padding between frames and a transparent or coloured background — ready for Unity, Godot, Phaser, PixiJS or CSS sprite animation.

  • Runs in your browser
  • No sign-up
  • No watermark
  • Works on mobile
Loading tool…

How to use GIF to Sprite Sheet

  1. 01

    Upload a GIF

    Drop the animation you want to pack.

  2. 02

    Lay out the grid

    Choose automatic or fixed columns, padding and background.

  3. 03

    Export

    Download the PNG sheet and, if enabled, the JSON data.

Using the sheet in a game engine or on the web

Most 2D engines import sprite sheets either by grid (frame width × height) or by a JSON atlas. The JSON written here lists each frame’s x, y, width, height and its original GIF duration, so variable-speed animations keep their rhythm. For CSS, set the sheet as a background image and step background-position with a steps() animation.

Add 1–2 px of padding if your engine samples textures with filtering — it prevents neighbouring frames bleeding into each other at the edges. For pixel art, keep padding at 0 and use nearest-neighbour filtering.

Going the other way

Have a sprite sheet and want a shareable preview? Sprite Sheet to GIF animates any grid. To get individual frame files instead of one sheet, use the GIF Splitter, and to adjust the animation before packing, trim or resize the GIF first.

Features

  • Automatic grid

    Picks a near-square layout to keep the sheet compact.

  • JSON metadata

    Frame rectangles and durations in TexturePacker-style JSON.

  • Padding control

    Add 0–16 px gaps to prevent texture bleeding.

  • Transparent output

    Lossless PNG with transparency kept.

GIF to Sprite Sheet FAQ

How do I turn a GIF into a sprite sheet?

Upload the GIF, choose the layout options and click Create sprite sheet. Download the PNG and, if you need it, the JSON frame data.

What is in the JSON file?

Each frame’s position and size on the sheet plus its duration in milliseconds, in the TexturePacker hash format that many engines and libraries can read.

Is there a size limit?

Browsers limit canvas size, so very long or very large GIFs may exceed it. Resize or trim the GIF first if the sheet is too big.

Are my files uploaded to a server?

No. GifRush processes everything locally in your browser using JavaScript, Canvas, Web Workers and WebCodecs. Your files never leave your device, and closing the tab discards them.