A part of the Privacy Pix Tools Suite

GIF to Sprite Sheet Converter

Extract animated GIF frames and pack them into engine-ready PNG sprite sheets with JSON coordinate data. 100% private.

Runs on your device · 0 uploads
  1. 1
    Add your GIFAn animated .gif — it stays in this tab
  2. 2
    Set it upSay what the result should look like
  3. 3
    DownloadThe sheet redraws as you change a setting
Beforeno image yet
Your image goes here

Add one above. It is read in this tab and never uploaded.

Afternot run yet
Nothing here yet

Add an animated GIF and the sprite sheet appears here, with its JSON map ready to download.

Settings

Each one says what it does. Change any of them and run it again.

Add an image to get started — it never leaves this tab.

How to use it

How to Convert Animated GIFs into Sprite Sheets

1

Upload Animated GIF

Select your animation or character loop. Our tool reads every individual frame directly in your browser.

2

Customize Columns & Spacing

Choose how many columns you want in the atlas grid and adjust pixel padding between frames.

3

Download Sprite Sheet & JSON

Export the combined transparent PNG and JSON coordinate map ready for your game project.

About this tool

Game Engine Integration Guide

Sprite sheets are the industry standard for 2D game rendering because they reduce GPU draw calls:

  • Godot Engine: Import the PNG as an AnimatedSprite2D with SpriteFrames or Sprite2D with Hframes/Vframes.
  • Unity: Set Texture Type to Sprite (2D and UI), Sprite Mode to Multiple, and slice with Automatic or Grid by Cell Size.
  • Phaser 3: Load via this.load.spritesheet('anim', 'spritesheet.png', { frameWidth: W, frameHeight: H, margin: P, spacing: P }), where P is the gap you chose (use 0 for both if you set the gap to 0).
Common questions

Frequently Asked Questions

Does the exported sprite sheet retain transparency?

Yes. Any transparency in the original GIF is preserved on the transparent PNG canvas.

What is included in the JSON coordinate download?

A TexturePacker-style JSON hash: meta.size holds the sheet width and height, and frames has one entry per frame (frame_0, frame_1, …) with its exact x, y, w, h rectangle and its delay in milliseconds taken from the GIF.

Is there a limit on GIF length or frames?

You can process animations with dozens of frames since all processing is accelerated on your local hardware.

Check for yourself that nothing is uploaded

🔎 Verify it yourself: nothing uploads

Open your browser DevTools (F12 → Network tab). Converting GIFs to sprite sheets runs 100% locally with zero server communication.

Related tools