frames object. The key is the sprite ID — the source path relative to the sprite root, without file extension.
This is the default output format and matches TexturePacker’s JSON Hash layout exactly.
Usage
- CLI
- Project file
Output format
Output for a two-sprite atlas:Schema reference
Frame object
true when the sprite was rotated 90° clockwise to fit. When reading a rotated frame, swap w and h from frame to get the display dimensions.true when the sprite was packed with TrimMode::Trim, Crop, CropKeepPos, or Polygon. It is false for TrimMode::None.Frame’s position and size relative to the original source image.
x and y are the offset of the trimmed region within the original. For CropKeepPos trim mode these can be negative. w and h match frame.w and frame.h (the packed size, not the source size).X offset (can be negative for CropKeepPos)
Y offset (can be negative for CropKeepPos)
Width in pixels
Height in pixels
When alias detection is enabled, this field points to the original sprite’s ID for duplicate sprites
Meta object
TexturePacker compatibility
The output structure matches TexturePacker’s JSON Hash format. Sprite IDs use forward slashes as path separators regardless of OS. Themeta.app field reads "FastPack" instead of "TexturePacker", which engines ignoring the app field will not notice.
Engines that parse
spriteSourceSize.x/.y as signed integers handle CropKeepPos negative offsets. Engines expecting only unsigned values may misread them — check your engine’s loader before using CropKeepPos.Technical notes
Frame keys are inserted in atlas frame order (largest-area-first processing order, as produced by the packer). JSON object key ordering is not guaranteed by spec; load-time parsers should treatframes as an unordered map.