PNG sequence guide
Convert a PNG sequence into an Aseprite timeline
Prepare, order, convert, and verify a PNG animation sequence as an editable Aseprite timeline while understanding flat-image limits.
A PNG sequence represents an animation after each frame has already been rendered. The files preserve RGBA pixels and canvas dimensions. They do not preserve the source editor's layer stack, per-frame layer visibility, masks, blend modes, or project metadata.
How the importer maps files to frames
The importer processes the selected File objects in their supplied order. It verifies the PNG signature, decodes each image in the browser, and compares every decoded width and height with the first frame. It then creates one timeline frame and one full-canvas cel for each image.
SpriteProject
canvas: width and height from the first PNG
frames: selected files in supplied order, 100 ms each
layer "Main": visible, opacity 255
cels: one RGBA image at x=0, y=0 for every frame
The converter does not apply an extra filename sort inside the importer. Zero-padded names such as spark-01.png, spark-02.png, and spark-10.png make the browser's supplied order easier to inspect, but the selected-file list is the final source of truth.
Synthetic four-frame example
Imagine a 16×16 spark animation exported as spark-01.png through spark-04.png. Each PNG has a transparent 16×16 canvas; only the visible spark changes size. Selecting them in that order produces a 16×16 Aseprite document with four frames, one generated “Main” layer, and four cels positioned at the canvas origin.
If the first three files are 16×16 but the fourth is 15×16, conversion stops. Transparent padding is valid and usually preferable to scaling because padding keeps pixel art and alignment intact.
Prepare the sequence
- Put only the intended animation frames in the selection. Exclude thumbnails, reference images, and alternate color variants.
- Give every file the same canvas width and height. Align the subject by transparent canvas position, not by resizing individual visible shapes.
- Use clear, zero-padded filenames and check the selected-file list before conversion.
- Keep intentional blank frames; an all-transparent frame is still a valid timing frame.
- Keep an untouched copy of the source folder until the Aseprite result is verified.
Convert and verify
- On the converter, choose PNG sequence.
- Select or drop one or more PNG files.
- Review their displayed order and dimensions, then convert.
- Use the timeline preview to check the first frame, last frame, motion, and transparency.
- Download the file, open it in Aseprite, and adjust individual durations if the original workflow used non-uniform timing.
The default is 100 ms for every imported PNG. The page allows frame-duration editing after import; changing a duration updates the exported SpriteProject frame rather than changing any source file.
Common failure cases
A file has a .png name but is not PNG data
The importer checks the eight-byte PNG signature before decoding. Export a fresh PNG rather than renaming another image format.
Decoded dimensions do not match
Use canvas resize or transparent padding in the source editor so every file matches the first frame. Do not stretch individual frames merely to satisfy the check.
Motion jumps backward
Remove the files and select them again in the intended sequence. Check the order displayed by the converter; do not assume a later filename sort will repair it.
The output has only one layer
That is the accurate result for flat PNG inputs. Use a supported project file containing layer data if separate source layers are essential.
A large sequence stalls or exhausts memory
Decoded cost begins near width × height × 4 × frame count, before preview and export copies. Reduce canvas size, split long sequences, or close memory-heavy tabs. See how local processing uses memory.
Choose another mode when needed
Use the spritesheet guide when frames are packed in one PNG. Use GIF or APNG mode when the animated file itself carries timing. Use a supported project format when preserving supported layers is more important than working from flattened exports.