libresprite.dev
v1.3

Docs · File formats

File formats LibreSprite can open and save

LibreSprite 1.3 reads and writes a dozen image formats, from its own .ase to GIF, PNG and WebP. The table combines what each format’s code declares with what happened when we actually saved our 4-frame, 2-layer test sprite in every format and opened it again.

Checked with LibreSprite 1.3Updated 3 min read
On this page 6 sections
  1. The format table
  2. .ase and .aseprite
  3. Which formats keep the animation?
  4. Palette formats
  5. Convert an .ase file to PNG or GIF without opening the app
  6. FAQ

Short answer

What file format does LibreSprite use?

.ase (also called .aseprite): the same family of format Aseprite uses. It is the only format that keeps everything: layers, frames, frame durations, tags, palette and colour mode. Always save your work as .ase, and export copies as PNG, GIF or sprite sheets for sharing and games.

The format table

FormatOpenSaveAnimationLayersColour modesNotes from our tests
.ase / .aseprite✓✓✓ + tags✓RGB, Grayscale, IndexedReopened identical: 2 layers, 4 frames, 120 ms, tag “walk”.
.gif✓✓✓flattenedup to 256 coloursOne animated file; durations kept, tags lost. Options: Interlaced, Animation Loop.
.png✓✓as numbered filesflattenedRGB(A), Gray, IndexedAn animation saves as name1.png … name4.png. Opening name1.png loads the whole sequence as frames.
.webp✓✓as numbered filesflattenedRGB(A)Saved as a numbered sequence, not an animated WebP. Lossless or lossy, with quality presets.
.qoi✓✓as numbered filesflattenedRGB(A)Fast, lossless format.
.bmp✓*✓as numbered filesflattenedRGB, Gray, Indexed, no alpha*BMP files with V4/V5 headers fail to open: fix.
.tga✓✓as numbered filesflattenedRGB(A), Gray, IndexedReopens as a Background layer.
.jpg / .jpeg✓✓as numbered filesflattenedRGB, GrayLossy, no transparency: avoid for pixel art. Quality option.
.ico✓✓as numbered filesflattenedRGB, Gray, IndexedWindows icon.
.pcx✓✓as numbered filesflattenedRGB, Gray, IndexedOld DOS-era format.
.flc / .fli✓indexed only✓flattenedIndexedSaving an RGB sprite fails with “Error saving file: Cannot open”. Convert to Indexed first: fix.
.anim (Pixly)✓✓✓✓ (renamed)RGB(A)Writes .anim plus a PNG sheet; layers come back named “Layer”, tags lost.
.aseprite-extension✓————Not an image: opening one installs it as a theme.

Saved with libresprite -b sprout.ase --save-as out.<ext> on Linux (1.3 AppImage), then reopened. Format abilities from the src/app/file/*_format.cpp sources in 1.3.

.ase and .aseprite

The two extensions are the same format; LibreSprite saves .ase by default and opens both. Files from current Aseprite open too. Layer groups become plain layers after a warning, and slices and tilemap layers are dropped, as we tested with Aseprite’s own sample files.

Not every .ase is a sprite

Adobe Swatch Exchange palettes also use .ase. LibreSprite cannot read them: our test file gave “Error reading header” and “LibreSprite can’t load file”. Export the palette from the Adobe app as .gpl or a PNG strip instead (importing palettes).

Which formats keep the animation?

  • One file, animated: .ase, .gif, .flc/.fli (indexed) and Pixly .anim.
  • Numbered files: all the others write one file per frame. LibreSprite reads such a sequence back as an animation, with every frame set to 100 ms.
  • A sprite sheet (one image with all frames plus optional JSON) is usually what game engines want: Export Sprite Sheet.

Palette formats

Palettes load from and save to .gpl (GIMP), .pal (JASC), .col (Animator Pro) and any image format above. Lospec’s .hex does not load. Details and our test results: palettes and colour.

Convert an .ase file to PNG or GIF without opening the app

LibreSprite’s command line converts in one line, and works on all three desktop systems:

ASE to PNG / GIF / sprite sheet
libresprite -b walk.ase --save-as walk.png           # one PNG per frame: walk1.png, walk2.png…
libresprite -b walk.ase --save-as walk.gif           # animated GIF
libresprite -b walk.ase --scale 4 --save-as big.gif  # 4× bigger, crisp
libresprite -b walk.ase --sheet walk-sheet.png --data walk.json

On Windows use libresprite.exe with its full path; on a Mac, /Applications/libresprite.app/Contents/MacOS/libresprite. All options: command line.

FAQ

How do I open an .ase file?

Install LibreSprite and use File → Open, or double-click the file if LibreSprite is set as its app. On Windows the installer registers .ase under “Open with”.

Can LibreSprite export animated WebP or APNG?

No. WebP is written as one file per frame, and there is no APNG export. Use GIF for an animated file.

Can LibreSprite open PSD, SVG or Krita files?

No, not as layered files. Export a PNG from the other program first.

Why did saving as PNG give me several files?

Your sprite has more than one frame. Each frame becomes a numbered PNG. Use File → Export Sprite Sheet for a single image, or GIF for an animated file.

Will my GIF keep transparency?

Yes, one colour can be fully transparent; GIF has no partial transparency, so semi-transparent pixels become opaque or transparent.

Keep going

Found something wrong or out of date? Tell us: hello@libresprite.dev. We fix mistakes within a day.