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.
| Source category | Frames | Timing | Layers | Best use |
|---|---|---|---|---|
| Supported Aseprite project | Supported timeline frames | Per-frame durations and supported tags | Supported normal raster layers | PNG sequence or spritesheet output |
| PNG sequence | One per selected image | Starts at the converter default; editable later | One generated layer | Predictable frame-by-frame exports |
| Grid spritesheet | One per equal cell | Starts at the converter default | One generated layer | Uniform game-export sheets |
| PNG + supported JSON | From metadata rectangles | Supported per-frame durations and Aseprite frame tags | One generated layer | Trimmed or rotated atlases |
| GIF / APNG | Decoded composited snapshots | Normalized source delays | One generated layer | Rendered web animations |
| Supported project subset | Format-dependent | Format-dependent | Supported raster layers only | Keeping 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
- If the original editor project opens and its format is supported, start there when layers matter.
- If you only need visible animation and have separate frames, choose the PNG sequence.
- If frames share one image, use grid mode only when every cell is equal and the grid covers the entire sheet exactly.
- If a matching atlas JSON exists, prefer it for packed, trimmed, rotated, or individually timed frames.
- 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.