Sprite sheet to GIF
Open a sheet, tell it the grid or let it find the frames, and watch the animation play before you save it.
Loading
Click a cell on the sheet to leave it out. Your file stays on your device.
Built for sheets that aren’t one tidy animation.
Play one row at a time
Character sheets usually stack several animations: idle on the first row, walk on the second, attack on the third. Pick a row and only that animation plays and exports, without cropping the sheet in an image editor first.
You see it before you save it
The animation loops in the corner while you change the grid, the speed or which cells are in. A wrong row count shows up as a jittering sprite at once, not after a download.
Colours kept exactly
When the art has 255 colours or fewer, which covers nearly all pixel art, the GIF is written with those exact colours and no dithering. Transparent areas stay transparent, with no black or cyan box behind the sprite.
Solid backgrounds removed
Sheets ripped from old games or made by an image generator sit on magenta, green or white. The tool reads the corner colour, clears it, and lets you raise the tolerance for JPG-smudged edges.
Sheet in, animation out.
- 1
Drop the sprite sheet on the dark panel. The tool guesses the rows and columns from the empty lines between frames and draws them on the sheet.
- 2
Correct the grid if the guess is off, choose a row if the sheet holds several animations, and click any cell you want to leave out.
- 3
Set the speed and the output size, then press Download GIF. Animated PNG is next to it if you need full colour or soft edges.
Why turn a sheet back into a GIF
A sprite sheet is how an engine wants an animation, and it is useless for showing that animation to a person. You can’t post a grid of frames in Discord and expect anyone to see the walk cycle. The usual reasons people convert are to check that an animation loops cleanly before importing it, to show work in progress on social media or a store page, to preview a sheet they downloaded, and to drop a game animation into a README, a wiki or a chat.
The first of those is the one I’d use this page for most. Seeing the frames play, at the speed you intend, catches a missing frame or a one-pixel wobble in seconds.
Telling the tool where the frames are
There are three ways, and which one fits depends on what you know about the sheet.
Rows × cols is for a regular grid when you can count the frames. The cell size is worked out from the image size. This is what the tool tries first, by looking for empty lines that divide the image evenly.
Cell size is for when you know one frame is, say, 48 by 64 pixels, as asset packs often state. The tool fits as many whole cells as the image holds.
Auto-detect ignores the grid and looks for separate islands of pixels. Use it for sheets where sprites have different sizes or were placed by hand, and for image-generator output, where the spacing is never quite even.
For grids that don’t start at the corner, Offset moves the whole grid in from the top-left and Gap sets the space between cells. The lines are drawn on the sheet as you type, so you can line them up by eye.
Sheets with more than one animation
Most character sheets are a table: each row is one action or one facing direction. Playing the whole sheet in order gives you a character that walks down, then left, then right, then up, which is rarely what you want to show. When the grid has more than one row, an Animation menu appears with “All rows, in order” and one entry per row. Pick a row and the preview, the GIF and the frame ZIP all use only those cells.
If an animation covers part of a row, click the cells that don’t belong to grey them out. If it spans two rows, leave the menu on all rows and grey out the rest.
Speed and size
The speed slider is in frames per second, with the delay per frame shown beside it. Every frame gets the same delay. The right number is whatever the animation was drawn for: a classic 4-frame walk reads well at 6 to 8 fps, a 12-frame attack at 12 to 15.
Output size multiplies the frame by a whole number using nearest-neighbour scaling, the method that keeps pixel art sharp. A GIF that is 200 to 400 px on its longer side is comfortable in chats and on social media. Going bigger costs file size fast, since doubling the size makes four times the pixels.
GIF or animated PNG
| GIF | Animated PNG | |
|---|---|---|
| Colours | 256 per frame | Full colour |
| Transparency | On or off | Soft edges kept |
| Plays in | Everything | All current browsers, Discord, Slack; some older apps show the first frame only |
| Best for | Pixel art, sharing anywhere | Painted or anti-aliased art on a see-through background |
When the preview looks wrong
The sprite slides sideways as it plays. The column count is off by one, so each cell starts a little further along than the frame does. Change Columns until the lines sit in the gaps between sprites.
Every frame shows parts of two sprites. The sheet has a margin or spacing. Set Offset to the margin and Gap to the spacing; a common pairing in asset packs is 1 px of each.
A coloured rectangle surrounds the sprite. Pick that colour under Background to remove. If a fringe of it remains, raise the tolerance, which is usual for sheets that were saved as JPG at some point.
Parts of the character vanish with the background. The art uses the background colour inside the sprite. Leave “Also inside sprites” off, which only clears the colour where it connects to the edge of the image.
To get the frames as separate PNG files rather than an animation, the sprite sheet cutter has the same controls with a ZIP download up front. To make a sheet from a GIF, use the GIF to sprite sheet converter.
Questions
Something else? Email hello@giftospritesheet.com.