Pixel Art to SVG

Client-side sprite sheet to gif converter

The upload controls, canvas preview, grid settings, PNG or GIF encoder, metadata, and download actions hydrate in the browser. Large files stay on this device: nothing leaves your browser.

Sprite sheet in · animated GIF out · choose your FPS

Sprite Sheet to GIF Converter

Upload a regular sprite sheet, enter its columns and rows, choose an animation speed, and encode a looping GIF locally. Preview the frame sequence before you download it.

  • Cuts exact equal-size frames without resizing or smoothing
  • Accepts 1–60 FPS and converts it to GIF's 10 ms timing units
  • gifenc quantizes each frame to a GIF-compatible palette in your browser

How to use the sprite sheet to gif converter

Step 1

Upload the sprite sheet

Choose a PNG, WebP, JPEG, or other browser-readable sheet. The page draws it to a local canvas and reads RGBA pixels; the source file is never uploaded.

Step 2

Enter columns, rows, and FPS

The grid must divide evenly into the image dimensions. Frames are read left to right and top to bottom. FPS controls the requested delay between frames.

Step 3

Encode and download the GIF

gifenc reduces each RGBA frame to at most 256 palette colors, maps pixels to palette indexes, writes a looping GIF89a stream, and returns a downloadable Blob.

Sprite sheet grids, GIF palettes, and frame rate

GIF is compact and widely supported, but it has stricter color and timing limits than a modern RGBA sprite sheet.

Frame extraction order

A C-column by R-row sheet creates C×R frames. The converter reads the top-left cell first, moves across the row, then continues on the next row.

The source width must be divisible by C and height by R. This produces one exact integer frame size and avoids half-pixel sampling or accidental interpolation.

FPS and GIF delay

Requested frame delay is 1000 divided by FPS. GIF stores delay in hundredths of a second, so the encoder rounds to 10 ms units. For example, 8 FPS requests 125 ms and is stored as 130 ms.

Browsers and chat apps may impose their own minimum delay for extremely fast GIFs. A moderate 8–20 FPS is usually stable for pixel-art previews.

Color and transparency

GIF frames use indexed color with a maximum of 256 palette entries. The encoder quantizes RGBA colors for each frame, which is well suited to flat pixel art but can reduce gradients or photographic detail.

GIF supports one fully transparent palette index, not smooth partial alpha. Semi-transparent edges from the sheet may become opaque or transparent after quantization.

Measured GIF encoding fixture

The test fixture slices four 4×4 RGBA frames and encodes them at 8 FPS. The resulting file is a real 197-byte GIF89a with four frames and a 4×4 logical screen.

Because 8 FPS requests 125 ms while GIF timing uses 10 ms steps, decoding the output reports 130 ms for each frame. The regression test verifies the signature, byte size, dimensions, frame count, and rounded delays.

Common mistakes

  • Counting grid lines instead of cells when entering columns and rows.
  • Using a frame rate so high that players clamp or skip the intended timing.
  • Expecting GIF to preserve more than 256 colors or partial transparency.
  • Leaving unused cells in the sheet and accidentally encoding them as blank animation frames.

Sprite sheet to GIF FAQ

How do I convert a sprite sheet to GIF?

Upload the sheet, enter its columns and rows, select an FPS value, and click the GIF download button. The converter slices and encodes the frames locally.

Does the sprite sheet to GIF tool upload my art?

No. Canvas extraction, palette quantization, GIF encoding, preview, and download all happen in your browser. Nothing leaves your browser.

What frame order does the converter use?

Frames are read from left to right across the first row, then left to right across each following row. Remove unused trailing cells before encoding.

Why is the actual GIF delay slightly different from my FPS?

GIF stores time in 10 ms units. The encoder rounds 1000/FPS to that unit, so 8 FPS becomes 130 ms per frame instead of exactly 125 ms.

Can GIF keep transparent sprite backgrounds?

Yes, with one-bit transparency. Fully transparent pixels can remain transparent, but partial alpha is not part of the GIF format and must be reduced during encoding.

Why do some colors change in the GIF?

Each GIF frame can use no more than 256 palette colors. Pixel art with a limited palette usually converts cleanly; gradients and photos require color quantization and may show banding.

What grid values should I enter?

Enter the number of frame cells across and down, not the pixel dimensions of one frame. The page calculates frame width and height after verifying exact division.