For game characters

Sprite Sheet Animator

Have several drawings of a character? Play them in order to check the movement, then save the animation as a GIF.

Example: 4 walking poses → a walking animation

Try this tool
Still framesMoving animation
  1. 1. AddCharacter frames or one image grid
  2. 2. AdjustChoose the order and speed
  3. 3. SaveMoving preview or GIF

Option A · I have separate pictures

Choose up to 100 PNG, JPG, or WebP pictures—one for each pose.

Option B · I have one picture grid

A grid of equal-size poses in one image. Tell us how many squares it has, then choose the image.

Watch the movement

Choose pictures above. Their movement will appear here.

Frame 0 / 0

GIF has up to 256 colors and hard-edge transparency. Timing rounds to 10 ms; export is limited to 1024 px per side and 20 million total frame pixels.

How to use it

  1. 1. Choose separate frames or a uniform sheet

    Select PNG, WebP, or JPG frames together, or enter Rows and Columns before uploading a sheet. Cells are read left to right, then top to bottom. A 256 × 128 sheet with 4 columns and 2 rows produces eight 64 × 64 frames. Borders and gaps are not subtracted automatically.

  2. 2. Check the sequence before adjusting speed

    Click a thumbnail to inspect one pose. Use the arrows underneath to move a frame earlier or later. Keep the feet and pivot in the same place across frames: changing playback speed cannot fix artwork that was cropped or aligned differently.

  3. 3. Preview the loop, then download

    Start at 8 pictures per second, press Play, and watch the last-to-first transition with Loop enabled. Download GIF when the motion reads correctly. Keep the PNG originals for your game engine and later editing; the GIF is a sharing format, not a quality-preserving replacement.

Frame count, FPS, and GIF quality are different decisions

Every preview frame gets the same duration. Eight frames at 8 FPS take one second; the same images at 16 FPS take half a second. More FPS makes existing motion faster, not more detailed. If a foot snaps back, check frame order and the loop boundary rather than raising the speed.

Use a common canvas for separate frames. GIF export uses the largest frame dimensions and centers smaller images. Centering does not know the intended pivot of a foot or face. Restore padding before upload if alignment matters.

GIF export quantizes each frame to at most 256 colors and turns partial transparency into transparent or opaque pixels. Delays are rounded to 10 ms units: 8 FPS requests 125 ms, but this exporter writes 130 ms. Reopen the download to judge actual timing and soft edges.

Eight-frame loop: preview versus exported timing
Setting or inputWhat it means
8 FPS preview8 × 125 ms = 1 second
8 FPS GIF export8 × 130 ms = 1.04 seconds
16 FPS GIF export8 × 60 ms = 0.48 seconds

Check before downloading

A cut-off pose usually means the grid is wrong

Sheet width must divide by Columns and height by Rows. If there is padding, spacing, or an irregular layout, slice the frames first instead of trying arbitrary row counts.

Preview and export have different limits

The workspace accepts up to 100 frames and input images up to 8192 px per side. GIF export is limited to 1024 px per side and 20 million total frame pixels. A large sequence may load but still exceed the export limit.

Questions

Can I give one frame a longer hold?

Not directly. One FPS applies to the whole sequence. Prepare repeated poses for a rough hold, or use an animation editor with per-frame timing when precise delays matter.

Why does the GIF differ from the PNG preview?

GIF has a limited palette and no smooth alpha channel. Faint shadows may disappear and gradients may become bands. Use original PNG frames for game assets, not frames extracted from a re-encoded GIF.

Can I animate a packed atlas with uneven rectangles?

Sheet mode expects a regular grid without metadata. Restore an Aseprite trimmed export with the Aseprite Sprite Sheet Unpacker first, then upload its full-canvas PNG frames.

Does the enlarged preview upscale my output?

No. Nearest-neighbor preview scaling helps inspect small sprites without smoothing them. The export retains source frame dimensions; use an upscaler separately for a larger file.

Are my artwork files uploaded?

No. Decoding, preview, and GIF encoding run in this tab. Download what you need before reloading or closing it; this workspace is not a saved project.

Related tools and tutorials

Sprite sheet to GIF walkthrough — Use a 4 × 2 sheet, calculate loop timing, and inspect the exported GIF.

Fix a jumping sprite animation — Separate crop-origin errors, intentional movement, and a broken loop boundary.

Sprite Sheet Slicer — Separate a sheet with padding or irregular frame boundaries.

Aseprite Sprite Sheet Unpacker — Restore trimmed positions before testing an animation.