About the project
A focused, inspectable sprite format bridge
Learn why this open-source browser utility exists, how its conservative compatibility model works, and where development is maintained.
Sprite Converter is an open-source browser utility for moving supported sprite projects through one documented internal model. It rebuilds editable Aseprite timelines and can export normalized projects as Aseprite, flattened PNG frames, or a spritesheet with JSON metadata.
Why the project is conservative
Creative-file formats often contain far more than visible pixels. Groups, masks, effects, color profiles, tilemaps, text, vector data, animation controls, and application metadata may not have a faithful place in the current model. The importers reject ambiguous or unsupported structures instead of silently producing an output that appears more complete than it is.
This is why support varies by format. PNG sequence and spritesheet workflows rebuild flat timelines. GIF and APNG also rebuild rendered frames with supported timing and compositing. Structured project formats preserve layers only when the source contains supported raster layer data and its tested subset maps cleanly.
Engineering approach
- File processing remains in the browser; there is no artwork upload or conversion backend.
- Every importer produces the canonical
SpriteProject. - Each exporter consumes only that model and writes one supported output: a 32-bit RGBA Aseprite project, flattened PNG sequence, or spritesheet PNG + JSON.
- Binary writer changes and parser behavior are covered by synthetic, reproducible tests.
- Malformed input is rejected with content-safe diagnostics rather than partially accepted.
- Compatibility claims are tied to code, fixtures, and format notes in the repository.
Original format research
The project includes focused work on PNG sequences, grids, atlas metadata, Piskel, Pixilart, GIF, APNG, OpenRaster, Pixelorama, Krita, and PSD. The Pixilart 2.7 path is a representative example: a fixture-defined schema was replaced after a genuine local save revealed the actual container and per-frame PNG layer structure. Only synthetic pixels were committed, while the verified field relationships became tests and documentation.
Maintenance and source
The public repository is maintained under the GitHub account khs2325. Source, tests, task history, format notes, and current issues are available at github.com/khs2325/sprite-converter. The repository does not present itself as a company, Aseprite partnership, or endorsement.
Compatibility claims are reviewed against deterministic synthetic fixtures, importer unit tests, end-to-end conversion tests, and Aseprite writer tests. The public compatibility lab exposes representative inputs and observed results. This page and the public evidence were last reviewed August 24, 2026.
Development and compatibility research are ongoing. A listed subset describes what the current implementation has evidence to support; it does not promise every file from that application will convert.
Questions and compatibility reports
Use the public repository issue tracker for reproducible bugs or documentation corrections. Do not post private artwork. A new tiny synthetic file that demonstrates the same structure is safer and usually easier to diagnose.
Before reporting, read Troubleshooting and the matching format guide. Useful reports identify the import mode, browser, operating system, Aseprite version, exact safe error message, and expected frame or layer behavior.