Conversion guides

Choose the right sprite conversion workflow

Choose the right source and output format, understand what can preserve layers and timing, and follow practical sprite conversion workflows.

A successful conversion starts by choosing the format that still contains the information you care about. A folder of rendered PNG frames is excellent for rebuilding motion, but it has already discarded the editor structure that separated ink, color, and effects. A project file may retain that structure, yet only if its version and features fall inside the importer's documented subset.

Start with the file you actually have

Pixels and editor structure answer different questions

The converter maps every accepted source into one internal SpriteProject. Rendered image formats mainly answer “what pixels should appear at this moment?” Project formats may also answer “which layer owns these pixels, where is its cel, and what opacity applies?” Conversion cannot reconstruct an answer the source no longer stores.

What the main source categories can contribute
Source categoryFramesTimingLayersBest use
Supported Aseprite projectSupported timeline framesPer-frame durations and supported tagsSupported normal raster layersPNG sequence or spritesheet output
PNG sequenceOne per selected imageStarts at the converter default; editable laterOne generated layerPredictable frame-by-frame exports
Grid spritesheetOne per equal cellStarts at the converter defaultOne generated layerUniform game-export sheets
PNG + supported JSONFrom metadata rectanglesSupported per-frame durations and Aseprite frame tagsOne generated layerTrimmed or rotated atlases
GIF / APNGDecoded composited snapshotsNormalized source delaysOne generated layerRendered web animations
Supported project subsetFormat-dependentFormat-dependentSupported raster layers onlyKeeping editable source structure

When layers matter

Choose the original project file before exporting a flat image. The current importers can preserve supported layer data from Aseprite, Pixilart 2.7, Piskel, Pixelorama, OpenRaster, Krita, and PSD inputs. That statement is intentionally conditional: groups, masks, effects, vector objects, tilemaps, non-normal blends, and other editor-specific features are often rejected because the internal model cannot represent them faithfully.

Flat means flat. PNG, GIF, APNG, and spritesheet pixels cannot reveal whether a red pixel came from an “Ink” layer, a “Color” layer, or a flattened effect. The converter rebuilds a timeline; it does not claim to recover absent layers.

When timing matters

GIF and APNG carry per-frame delays, supported atlas JSON may carry durations, Piskel contributes one FPS-derived duration to every visible frame, Pixilart contributes each frame's millisecond speed, and Pixelorama combines its FPS with a frame duration multiplier. PNG sequence and grid modes start with a 100 ms default. All values are normalized to the internal whole-millisecond range of 1 through 65,535 before export.

A practical decision rule

  1. If the original editor project opens and its format is supported, start there when layers matter.
  2. If you only need visible animation and have separate frames, choose the PNG sequence.
  3. If frames share one image, use grid mode only when every cell is equal and the grid covers the entire sheet exactly.
  4. If a matching atlas JSON exists, prefer it for packed, trimmed, rotated, or individually timed frames.
  5. If the source is GIF or APNG, expect a faithful supported compositing result on one layer, not the authoring structure.

After choosing a workflow, read its detailed guide and keep the original source until the downloaded output has been inspected in Aseprite or the matching image workflow. If selection or validation fails, continue with the symptom-based troubleshooting guide.