For Aseprite users

Aseprite Sprite Sheet Unpacker

Export a sprite sheet image and its JSON data from Aseprite. This tool restores each cropped frame to its original canvas size.

Example: sheet.png + sheet.json → full-size frame PNGs

Try this tool
JSON
Sheet + JSONRestored frames
  1. 1. AddAseprite image + JSON
  2. 2. AdjustRestore frame positions
  3. 3. SaveFull-size PNGs in a ZIP

1. Add both files exported from Aseprite

In Aseprite, export a sprite sheet with its JSON data. Choose the image and JSON from the same export.

How to use it

  1. 1. Export the image and JSON together

    Export a sprite sheet with JSON metadata in Aseprite and keep both files from that export. This tool reads PNG or WebP sheets with JSON array or hash data, not native .ase or .aseprite projects.

  2. 2. Load the matching pair

    Choose A. The image sheet and B. The matching JSON data, then restore. The importer checks meta.size and every crop and offset. Do not reuse old JSON after repacking or resizing the sheet.

  3. 3. Inspect and save the restored sequence

    Use the Frame slider and playback preview to inspect alignment. Each crop is placed onto its sourceSize canvas using spriteSourceSize offsets. Download the ZIP and keep manifest.json for names, durations, and frame tags.

Three rectangles explain why trimmed sprites jump

frame locates the pixels inside the packed sheet. Its x and y are atlas coordinates, not the character’s original position. sourceSize gives the original canvas dimensions. spriteSourceSize gives the crop’s position inside that canvas.

A 64 × 64 pose trimmed to 22 × 38 may live at (128, 0) in the sheet but at (19, 20) in the original frame. Restoration creates a transparent 64 × 64 canvas, copies that 22 × 38 rectangle, and places it at (19, 20). Drawing it at (0, 0) would move the character.

Restoration does not undo intentional movement inside the original frame or invent a new pivot. Tags and durations are retained in the manifest, but the receiving application must use them. Uniform-FPS playback will not automatically preserve an unequal hold.

Example of one trimmed 64 × 64 frame
Setting or inputWhat it means
frame: 128, 0, 22, 38Read this rectangle from the sheet
spriteSourceSize: 19, 20, 22, 38Place the crop at (19, 20)
sourceSize: 64 × 64Export a full-canvas PNG
duration: 100Retain 100 ms in manifest.json

Check before downloading

Matching dimensions do not prove matching packing

Two exports can have identical sizes but different arrangements. Inspect recognizable first and last poses, and use files produced in the same export.

Stay within the supported export format

Rotated frames are unsupported. Limits: 2 MB JSON, 20 MB image, 100 frames, 4096 px sheet sides, 16 million sheet pixels, 1024 px restored frame sides, and 20 million restored pixels in total.

Questions

Can I upload a native Aseprite project?

No. Export a sheet and JSON first. Editable layers, cels, and native project structure are not loaded.

Why are rotated packed frames rejected?

This importer handles non-rotated crops. Re-export without rotation. Changing rotated to false in JSON would misinterpret the stored pixels rather than repair them.

Why are the PNGs bigger than the packed crops?

Each uses the original sourceSize canvas and its transparent padding. That preserves pose alignment. Keep the packed atlas when compact texture storage is the goal.

Does the ZIP preserve timing?

Durations and valid frame tags are in manifest.json. PNG files alone have no playback timing. Import or reproduce the metadata in the receiving editor or engine.

What should I do after a dimensions error?

Compare meta.size with the image and check for resizing or repacking after export. Regenerate both files together instead of altering metadata to bypass validation.

Related tools and tutorials

Restore Aseprite trimmed frames — Follow the offset example and diagnose a moving baseline.

Sprite Sheet Animator — Test restored frames at uniform FPS when unequal durations are unnecessary.

Aseprite export documentation — Read the editor’s instructions for generating a matching sheet and data.