Aseprite output guide

Convert a supported Aseprite project into PNG outputs

Import the supported 32-bit RGBA Aseprite subset, verify its normalized timeline, and export flattened PNG frames or a PNG plus JSON spritesheet locally.

An Aseprite project can contain an editable timeline, raster layers, positioned cels, timing, and frame tags. Sprite Converter reads a deliberately bounded part of that structure into the same SpriteProject model used by every other importer. You can then create a new Aseprite file, separate flattened PNG frames, or a row-major PNG spritesheet with JSON metadata. All parsing, decompression, compositing, encoding, and downloads stay in the browser tab.

What the current reader accepts

The reader accepts .ase and .aseprite files that use 32-bit RGBA pixels and direct normal raster layers. It validates the file header, every frame and chunk envelope, frame durations, layer records, cel references, compressed pixel lengths, and supported frame tags before returning a project. Layer names, back-to-front order, visibility, opacity, signed cel positions, frame timing, RGBA pixels, and forward, reverse, or ping-pong tags are mapped into the normalized model.

File, canvas, frame, layer, cel, chunk, and decoded-byte limits are checked before large allocations. Compressed cels are inflated sequentially with a bounded expected output length. A corrupt compressed payload produces a content-safe error rather than exposing source bytes, local paths, or arbitrary decompressor details.

Why some Aseprite files are rejected

The current model does not represent every editor feature. Groups, nested layers, tilemaps, non-normal blend modes, background or reference layer semantics, per-cel opacity, custom cel z-index, ICC profiles, fixed gamma, slices, tilesets, external files, and non-empty user data are outside this subset. The reader rejects structures that cannot be mapped accurately instead of silently presenting them as preserved.

The current reader accepts compressed image cels only. Raw and linked cels are rejected because linked editing relationships and the raw-cel variant are outside this first audited subset. Palette chunks in RGBA files are validated as metadata; palette identity is not part of the flattened PNG result.

PNG sequence output

PNG sequence output creates one deterministic PNG for each timeline frame. Visible layers are composited from bottom to top with normal source-over alpha, layer opacity, cel offsets, and clipping to the project canvas. Hidden layers and missing cels do not contribute. Names use a safe stem and a zero-padded frame number such as walk-frame-0001.png.

PNG output is flattened. The frame image preserves rendered RGBA pixels, but it does not contain editable layer boundaries, layer names, frame duration, tags, linked-cel relationships, or other Aseprite editor metadata. Keep the original project when those properties matter.

Spritesheet PNG plus JSON output

The spritesheet exporter places flattened full-canvas frames left to right and then top to bottom. You can choose the column count; the row count follows from the frame count. Unused cells in the last row stay transparent. The JSON sidecar records each frame rectangle and duration, the sheet image name and size, and supported frame-tag names, ranges, and playback directions. The layout is compatible with the project's supported Aseprite-style spritesheet JSON importer.

This path does not trim frames, rotate cells, pack irregular rectangles, or split a large result across multiple sheets. The exporter checks maximum dimensions and pixels before allocating the sheet. If a project would exceed the browser-local limit, reduce the canvas, frame count, or requested column layout in a copy of the source.

A practical verification workflow

  1. Keep the original Aseprite project unchanged and work from a copy.
  2. Choose Aseprite project in the converter and select exactly one .ase or .aseprite file.
  3. Review the reported frame count, durations, layers, names, visibility, and preview before preparing output.
  4. Choose Aseprite, PNG sequence, or Spritesheet PNG + JSON in the output selector. Give the files a short safe base name.
  5. Use every generated download link. For a sheet, keep the PNG and JSON together.
  6. Compare canvas size, frame order, transparency, offsets, timing metadata, and tags with the supported source properties before using the output in a production pipeline.

If import fails, do not rename extensions or delete arbitrary bytes. Save a simplified 32-bit RGBA copy in the original editor, remove unsupported structural features you understand, and try that copy. For other symptoms, use the troubleshooting guide or compare input categories in the guide hub.