Create sprite sheets for MonoGame and XNA
with TexturePacker

Easily create your optimized sprite sheet for MonoGame and XNA

Works With Any Game Engine

TexturePacker: PixelGuy juggling Frameworks  

TexturePacker supports MonoGame, XNA and many other game engines right out of the box:

  • MonoGame - Write once, play everywhere
  • XNA - Game Studio
  • Unity - Game Engine
  • Cocos2D-X - Cross-platform open source 2D game engine
  • Cocos2D - SpriteBuilder
  • SpriteKit - Apple's 2d game engine
  • Starling - Cross-platform game engine
  • Sparrow - Open-source game engine for iOS
  • LibGDX - Java (cross-platform, open-source)
  • Moai - Mobile platform for pro game developers
  • V-Play - Cross-platform 2D game engine
  • Corona(TM) SDK - Cross-platform mobile app development for iOS, Android
  • Gideros Mobile - Cross-platform technology to create amazing games
  • Ogre with CEGUI - 3D gaming framework and GUI
  • CSS sprites
  • JSON / HTML5

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

Be smart - Let TexturePacker collect the sprites

TexturePacker allows you to add complete asset folders.

Automatically add all images:
Drag and drop your complete asset folder into the Sprites Panel.
Organize your sprites:
Sort your sprites in folders, TexturePacker inherits your folder structure.
Group animations and associated sprites:
Flash animations appear as folders.
Preserve the folder structure as part of the sprite names:
TexturePacker uses sub-folder names as part of the final sprite name.

TexturePacker tracks changes in your asset folder and, if necessary, automatically re-builds the sprite sheets.

TexturePacker Smartfolder: you can add a complete asset folder

Support multiple screen resolutions with one click

TexturePacker: automated scaling for all devices

Automatically downscale sprites for all devices

  • Create high-resolution images only
  • TexturePacker scales images
  • Publish for all devices with a single click

Prescaled images

  • reduce runtime memory consumption
  • increase the frame rate

Read more about the Scaling variants feature in our online documentation.

Pack multiple sprite sheets at once

TexturePacker can

Distribute sprites across multiple sheets:
TexturePacker creates multiple image and data files if not all sprites could be packed into a single texture.
Sort sprites to multiple texture atlases:
Have different sprite sheets for different categories, e.g. background, characters, impact objects and so on.

Read more on Sprite filters in this blog post.

TexturePacker: Multipack Spritefilter feature

Full automation with command line client

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

Add TexturePacker's command line tool to your build process, no matter which development environment you are using.

5-minute setup:
Install command line client and integrate TexturePacker into your build easily.
Saves hours of clicking:
Edit your .tps in GUI or command line and use it over and over again.
Automated updates of the sprite sheet:
TexturePacker updates your sprite sheets during compile time, no manual Publish needed.
Building sheets only when things change:
TexturePacker detects changes and only updates your sprite sheets when needed.

Reduce memory consumption, not image quality

TexturePacker allows you to

Use more animations and sprites:
Make your animation run smoother.
Save memory:
Compress your sprite sheet and drastically reduce memory usage.
Increase framerate:
Compute frames faster and reduce GPU time.
Make your game start faster:
For maximum performance directly export to your target system's image formats like for example PVR.
Preserve visual quality:
The effect of compression or dithering is nearly invisible on high-resolution devices or moving objects.

See the change yourself:

TexturePacker: Reduce image size and keep quality

Original, 32 bits/pixel

Dithering, 16 bits/pixel

Compression, 4 bits/pixel

Trimming / Cropping Save space by removing transparency

TexturePacker Trim Crop: remove transparency and minimize texture size

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

TexturePacker: Auto Alias - detect duplicates

This is perfect when using animations: You simply don't have to care about equal phases.

Heuristic mask

Creates transparency in images which come with a single key color. It samples the corner pixels of a sprite, identifies the background color and cuts sprites from the monochrome background.

TexturePacker: Heuristic Mask creates transparency