Export formats
Take your work out of the editor in a format an engine, social post, or another tool can use. Four output types: PNG, Sprite Sheet, GIF, Project JSON.
For full editable round-trip (re-importable in this editor), use the .mstack file format — see .mstack format. The exports below are render-only.
Where to find it
Top bar → Export menu opens the Export dialog. Each tab covers one format.
PNG (active frame)
A single-image export of the active frame (composed across all visible layers).
| Option | What |
|---|---|
| Filename | Output file name |
| Scale | Integer multiplier (1× = pixel-perfect; 2×–8× upscales with nearest-neighbour) |
| Background | Transparent / solid colour |
Use this for icons, single-frame artwork, or sharing a snapshot. The output respects all layer opacity and blend modes.
Sprite Sheet
A grid of frames as a single PNG, plus a JSON metadata file in Aseprite-compatible format.
| Option | What |
|---|---|
| Source | All frames / Active sprite's frames / A single animation's steps |
| Layout | Auto (square grid) / Horizontal (1 row) / Vertical (1 column) / Grid (custom column count) |
| Cols | Number of columns (when layout = Grid) |
| Padding | Pixels of transparent space between frames |
| Scale | Integer multiplier |
| Background | Transparent / solid colour |
| JSON metadata | Toggle — when on, also exports <filename>.json next to the PNG (Aseprite-compatible layout) |
For a project-wide JSON export that contains all metadata (frames, layers, sprites, animations, palette, ramps, cycles, tags) without the rendered PNG, use the standalone JSON tab instead — see Project JSON below.
Aseprite-compatible JSON
The JSON output matches Aseprite's "Hash" array layout that engines like Phaser, Solar2D, Cocos Creator, and several Godot importers consume directly. Includes:
- Frame rectangles
frameTagsarray (from your Frame tags)- Source filename
- Image dimensions
GIF
Animated GIF of an animation. Configurable in the dialog:
| Option | What |
|---|---|
| Animation | Which animation to export (must exist in the project) |
| Scale | Integer multiplier |
| Filename | Output file name |
GIFs use the animation's step durationMs values, so per-step pacing is preserved. Palette quantization (gifenc's median-cut) is applied automatically when the project exceeds 256 colours — there's no manual toggle. Loop mode comes from the animation's own settings (loop / pingpong / once), not the export dialog. Onion skin, tile preview, and color cycles are not baked into GIF output.
For palette-cycling animations that should "just work" as a GIF, you'd need to bake frames manually first — there's no automatic cycle-to-frames conversion yet.
Project JSON
Raw export of the project manifest as a single .json file. Includes everything: frames, layers, sprites, animations, palette, ramps, cycles, tags, etc. — but no pixel data (no PNGs).
Useful for:
- Tooling that wants to read the project structure
- Debugging
- Diffing project state in version control (the JSON is human-readable)
Not useful for round-trip re-import — for that, use .mstack.
Tips
- For game engines, Sprite Sheet + JSON is almost always what you want.
- For social media / portfolio, PNG at a higher scale (4× or 8×) keeps the pixel-art look without browser smoothing.
- For bug reports / sharing intermediate work,
.mstackis the right format — it's a complete project the recipient can open and edit. - Save common configurations as export presets so you don't re-set them every time.
Related
- Export presets — save and reuse export configurations
- .mstack file format — full editable project format
- Frame tags — exported in sprite sheet JSON