Features
Directly supported frameworks
- Cocos2d iPhone – iPhone
- Corona(TM) SDK – iPhone & Android
- Gideros – Cross platform game development framework
- Sparrow – iPhone
- LibGDX – Java (Android + Desktop)
- LimeJS – Javascript / HTML5 framework
- Ogre with CEGUI – 3D gaming framework and GUI
- Moai - Multiplatform gaming framework
- CSS sprites
- JSON / Html5
If you use an unsupported framework please contact me – I’ll happy to enhance TexturePacker for other frameworks!
Read Ray Wenderlich’s excellent blog post How to Create and Optimize Sprite Sheets in Cocos2D with Texture Packer and Pixel Formats for a complete example including optimizations and XCode integration.
Import
You can import the following file formats directly into TexturePacker
- Flash (.swf) – consisting of single frames
- PNG
- JPG
- TIFF
- BMP
Export
For export the following image formats can be used:
- PNG – Portable Network Graphics
- PVR – iPhone’s native image format
- PVR.CCZ – zlib compressed version of PVR for cocos2d
- PVR.GZ – gnu zip compressed PVR files
- JPG – JPEG
Layout algorithms
TexturePacker has 2 layout algorithms:
Basic
This is a layout algorithm best for tilemaps and simple animations without the need of additional data file. Sprites are simply pleaced in a row until the row is full. Then the next row starts. You may sort the sprites by name, width, height or area. This algorithm is FREE and can be used for all projects.
MaxRects
MaxRects is the best known algorithm for packing textures. It is fast and has a high packing ratio. Enabling rotation and trimming gets the best results (depending on your target framework). This algorithm is available in TexturePackerPro/CLI.
High quality color reduction
RGBA8888 images consume a big amount of memory and processing time. Woudn’t it be good to reduce both without loosing too much visual quality? By converting the sprite sheet to RGBA4444 memory usage is reduced by 50% and performance of the system increases!
But simply reducing the colors may result in bad image quality since gradients won’t stay smooth in the resulting image. Low contrast parts in images tend to create islands of same colors – seen as rings in the center image of the example below.

Image comparison: RGBA8888 (left), RGBA4444 without dithering (center), RGBA4444 with dithering (right)
This effect can be reduced using a transparency preserving dithering. The effect of the dithering may give the sprite a bit of a grainy look – but if the sprites are moved even slow this won’t be recognizable to the user.
Supported pixel formats are
- RGBA8888, BGRA8888 – 32bit, 256 colors per channel, 16777216 colors, 256 transparency values
- RGBA5555
- RGBA5551 – 16bit, 32 colors per channel, 32768 colors, 1 “hard” transparency value
- RGBA4444 – 16bit, 16 colors per channel, 4096 colors, 16 transparency values
- RGB565 – 16bit, 65536 colors, no transparency
- PVRTC2 – lossy compression for iPhone
- PVRTC4 – lossy compression for iPhone
Resizing on the fly
This is a very useful feature for developers targeting devices with multiple resolutions. You can simply focus on high res sprites. TexturePacker does all the scaling for you – while it creates the sprite sheet. No need to use an external tool to resize the images anymore.
The new auto-SD feature creates sprite sheets in standard and high definition with one single click on the publish button!
Trimming
Trimming removes transparent pixels from the border of your sprites. This has two advantages:
- Reduces texture size
- Faster rendering
Alias creation
If two images are identical after trimming only one image is placed in the sprite sheet. The duplicates will just be added to the description file allowing you to access it with both names.

Same images after trimming consume no additional memory
This is perfect when using animations: You simply don’t have to care about equal phases.
Create heuristic mask
Create heuristic mask creates transparency from images which come with a single key color.

Heuristic Mask removes background key color and replaces it with transparency. (Images by Reiner Prokein)
Automatic sizing
TexturePacker chooses the minimum texture surface size for you – automatically. You can set the maximum allowed texture size or set a fixed size if you want.
MacOS, Windows and Linux
You can use TexturePacker under all major operating systems with the same license.
Free for framework developers and bloggers
If you run your own development blog or are developer of an (open source) game framework you can get TexturePacker for free!
Please use the sign up form to request a license.
Full integration into your build process
You can simply add TexturePacker’s command line tool into your build process. Examples for Xcode are already included.
Use 5 minutes to set up TexturePacker in XCode and save hours of time!
- 5 minute setup
- Saves hours of clicking
- Automated updates of the sprite sheet
- Full integraction including clean and build phase
- Building sheets only when things change
- Automated creation of hd and sd sheets on the fly from hd assets only
- Complete control directly from XCode
Read my blog post here: XCode integration tutorial for cocos2d and sparrow framework.




