I'm a robot
Great spritesheet creation editor. Its command line version is also great for batch processing and integration with Xcode. Ricardo Quesada - Creator of Cocos2D
Texture Packer is hands down the best sprite sheet generation tool on the market. It has more features than any of the competition and is ready for production-level games - highly recommended! Ray Wenderlich - Writer of awesome Cocos2D tutorials
Integrating the excellent TexturePacker into my build pipeline has saved me countless hours! Not sure how I lived without it. Ron Gilbert - creator of MonkeyIsland

Works With Any Game Engine

TexturePacker supports many game engines right out of the box
  • Cocos2D - iPhone
  • Corona(TM) SDK - Cross-platform game development framework
  • 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

You need something special or your favorite framework is not supported? Just create your own export format! The template-based exporter allows you to enhance TexturePacker to match nearly any output.

There's a new feature in TexturePacker which helps you to protect your intellectual property and prevent theft. It's called ContentProtection and simply encrypts your images.

Your app will still be able to decrypt the data, but somebody else is going to have a hard time getting it done.

Designing the encryption, I had the following goals in mind:

Ease of use
Enter the encryption key in TexturePacker and copy 2 files into your Cocos2D folder, add 4 lines of code - that's all.
Memory consumption
The runtime requires 4kB while decrypting the spritesheets. The file sizes stay the same.
The decryption uses nearly no time at all since only parts of the spritesheet are encrypted.
It should be hard to decrypt the data.

All of this works! Encrypting your assets and protecting them is a piece of cake - it comes at nearly no effort - and does not have any impact on your game. See full feature description

You don't have to be a developer to use TexturePacker. It's easy right from the start.

Common questions for artists are:

Do all sprites fit into a single atlas?

Simply add your sprite folders and see if they all fit. TexturePacker shows you the sprite atlas in real-time.
Maybe you need to drop some frames?
Or is there enough space left to make the animation even smoother?

Tired of exporting .png files?

No need to use Save for web and devices anymore.

TexturePacker can directly import the following file formats:

  • PSD - Photoshop image
  • SWF - Flash animations - including frame labels
  • PNG - Portable network graphics
  • TGA - Targa Image File
  • JPG - Joint Photographic Experts Group
  • TIFF - Tagged image file format
  • BMP - Bitmap

RGBA8888 images consume a large amount of memory and processing time. Wouldn't it be great to reduce both without losing 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 bars in the background gradient of the following example. These artifacts are called banding artifacts.

This effect can be reduced using a dithering algorithm. This adds some grain to the image, delivering a better overall color quality. On high-resolution devices or moving objects the effect is nearly invisible.

Supported pixel formats are
Format Bits Bytes/px Colors levels Transparency levels Description
RGBA8888 32 4 256 256 High-quality color format, using full 16,777,216 colors
BGRA8888 32 4 256 256 High-quality color format, using full 16,777,216 colors
RGBA5551 16 2 32 1 32,768 color format with "hard" transparency
RGB565 16 2 r,b=32, g=64 0 65,536 color format with no transparency - good for backgrounds. Red and blue get 32 color levels, green gets 64.
RGBA4444 16 2 16 16 4,096 color format with soft transparency
PVRTC4 4 0.5 Lossy compression format for PowerVR graphics processors - e.g. for iPhone. Only suitable for backgrounds with low details.
PVRTC2 2 0.25 Lossy compression format for PowerVR graphics processors - e.g. for iPhone. Only suitable for backgrounds with low details.

Instead of adding and removing individual sprites, TexturePacker allows you to simply add a complete asset folder. Every image that is found inside of it will be added to the sprite sheet.

TexturePacker preserves your folder structure in the sprite names inside the data file, allowing you to easily group your sprites.

TexturePacker detects all changes and automatically reads the new sprite data when re-entering the application or publishing from command line.

With the powerful command line interface you can simply update all sprite sheets at once.

Trimming removes transparent pixels from the border of your sprites. This has two advantages:
  • Reduces texture size
  • Faster rendering

Trimming preserves the sprite's size - the framework needs special support to restore the transparent parts when rendering the sprite.

Cropping, in contrast, removes the transparent parts - making the sprite appear as if it never had any transparent border.

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. 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.


You can import the following file formats directly into TexturePacker
  • SWF - Flash animations
  • PSD - Photoshop image
  • PNG - Portable network graphics
  • TGA - Targa Image File
  • JPG - Joint Photographic Experts Group
  • TIFF - Tagged image file format
  • BMP - Bitmap


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
  • KTX

Add TexturePacker's command line tool to your build process. No matter if you use Xcode, make, cmake, ant...

Read this blog post for integration into Xcode: Xcode integration tutorial for Cocos2D and Sparrow framework.

Focus on high resolution sprites only while creating your app for devices with multiple resolutions. TexturePacker does all the scaling for you. No need to use an external tool to resize the images.

Using pre-scaled sprites keeps the frame rate high and reduces runtime memory consumption.

Reduce memory consumption

Increase performance

No additional work required

TexturePacker has 2 layout algorithms:


This is a layout algorithm best for tilemaps and simple animations without the need of additional data files. Sprites are simply placed 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 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.

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 a developer of an (open source) game framework you can get TexturePacker for free! Please use the sign-up form to request a license.

Download TexturePacker

MacOS Universal Binary (10.7/8/9)


Windows 64bit (Vista/7/8)


Windows 32bit (XP/Vista/7/8)


Linux (Ubuntu, 64bit)


Linux (Ubuntu, 32bit)

Andreas Löw Join the CodeAndWeb Newsletter (privacy policy)
I'm a robot