Supported Formats
Complete reference of all input and output formats
Input Image Formats
TextureAtlas Toolbox supports the following image file types as texture atlas inputs:
| Format | Extensions | Notes |
|---|---|---|
| PNG | .png | Recommended for sprites with transparency |
| AVIF | .avif | Modern format with excellent compression |
| BMP | .bmp | Uncompressed bitmap |
| DDS | .dds | DirectDraw Surface (GPU-compressed textures) |
| JPEG | .jpg, .jpeg | Lossy compressed (no transparency) |
| KTX2 | .ktx2 | Khronos Texture (GPU-compressed textures) |
| TGA | .tga | Truevision Targa |
| TIFF | .tiff, .tif | Tagged Image File Format |
| WebP | .webp | Modern web format |
Input Metadata Formats
The application automatically detects and parses the following texture atlas metadata formats:
XML Formats
Starling/Sparrow XML
Most common format used by texture packers (.xml)
TexturePacker XML
TexturePacker generic XML variant (.xml)
JSON Formats
JSON Hash
Sprites keyed by name (.json)
JSON Array
Sprites in array order (.json)
Aseprite JSON
Exported from Aseprite (.json)
Phaser 3 JSON
Phaser game framework format (.json)
Egret2D JSON
Egret game engine format (.json)
Atlas & Text Formats
Spine Atlas
Spine animation format (.atlas)
libGDX Atlas
libGDX game framework format (.atlas)
TexturePacker TXT
Simple text-based format (.txt)
Plist (Cocos2d)
Apple property list format (.plist)
UIKit Plist
iOS UIKit variant (.plist)
Engine-Specific Formats
Godot Atlas
Godot game engine (.tpsheet, .tpset)
Paper2D
Unreal Engine Paper2D (.paper2dsprites)
Unity TexturePacker
Unity-compatible format (.tpsheet)
CSS Spritesheet
CSS background-position definitions (.css)
Adobe Animate
Adobe Animate Spritemap
Animation.json + spritemap.json pairs with matrix transforms
Note: Adobe Animate Spritemaps are significantly more memory-intensive than other formats. Expect higher RAM and CPU usage.
Metadata-Free Extraction
For texture atlases without metadata files, the application can extract sprites using two methods:
Color Keying
Automatically removes solid background colors to isolate individual sprites from the atlas.
Grid-Based Slicing
Divides the image into equal-sized cells, useful for uniform sprite sheets.
Animation Output Formats
Three animated image formats are supported for extraction:
| Format | Best For | Key Features | Limitations |
|---|---|---|---|
| GIF | Universal compatibility | 1-bit transparency, works everywhere | 256 colors max, no partial transparency |
| WebP | Modern web applications | 8-bit transparency, superior compression | Older software may not support it |
| APNG | High-quality animations | 24-bit color, full alpha channel | Limited software support, larger files |
All three support frame duration/FPS control, per-frame delays, scaling, cropping, loop period configuration, and duplicate frame removal.
Frame Output Formats
Individual frames can be exported in these formats:
| Format | Extension | Features |
|---|---|---|
| PNG | .png | Lossless, full transparency, recommended default |
| AVIF | .avif | Modern format, excellent compression with quality settings |
| WebP | .webp | Both lossy and lossless, wide support |
| BMP | .bmp | Uncompressed bitmap, legacy support |
| DDS | .dds | DirectX texture format, GPU-compressed |
| KTX2 | .ktx2 | Khronos GPU texture container |
| TGA | .tga | Truevision format, game development |
| TIFF | .tiff | Professional imaging, multiple compression options |
Generated Metadata Formats
The Generate tab can create atlas metadata in 16 formats:
| Format | Extension | Use Case |
|---|---|---|
| Sparrow/Starling XML | .xml | Flash/AIR, HaxeFlixel, OpenFL |
| TexturePacker XML | .xml | TexturePacker compatibility |
| JSON Hash | .json | General purpose, easy parsing |
| JSON Array | .json | Ordered frame data |
| Aseprite JSON | .json | Aseprite compatibility |
| Spine Atlas | .atlas | Spine 2D animations |
| libGDX Atlas | .atlas | libGDX game framework |
| Phaser 3 JSON | .json | Phaser game framework |
| CSS Spritesheet | .css | Web development |
| Plain Text | .txt | Simple text format |
| Plist (Cocos2d) | .plist | Cocos2d game engine |
| UIKit Plist | .plist | iOS native development |
| Godot Atlas | .tpsheet | Godot game engine |
| Egret2D JSON | .json | Egret game engine |
| Paper2D | .paper2dsprites | Unreal Engine 4/5 |
| Unity TexturePacker | .tpsheet | Unity game engine |
GPU Texture Containers
When GPU texture compression is enabled in the Generator, the atlas image is saved in a GPU-native container:
| Container | Extension | Supported Formats | Use Case |
|---|---|---|---|
| DDS | .dds | BC1, BC3, BC7 only | Desktop games (DirectX) |
| KTX2 | .ktx2 | All formats (BC, ETC, ASTC, PVRTC) | Mobile, Vulkan, WebGL, cross-platform |
See the GPU Texture Compression page for detailed format specifications.
Rotation and Flip Support
Not all metadata formats support rotated or flipped sprites in the generated atlas:
| Feature | Supported Formats |
|---|---|
| 90° Rotation | Starling XML, JSON Hash/Array, Aseprite, TexturePacker XML, Spine, Phaser 3, Plist, Paper2D |
| Flip | Starling XML only (HaxeFlixel extension) |
| GPU Compression | JSON Hash/Array, Spine, Phaser 3, Plist, Godot, Egret2D, Paper2D, Unity |
Note: Flip support is non-standard. Only HaxeFlixel's Sparrow implementation reads flip attributes. Most engines ignore them.
More resources
- GPU Texture Compression for BC, ETC, ASTC, and PVRTC details
- User Manual for complete feature documentation
- Format Reference for detailed technical specifications