ENJOYING this TOOL? PLEASE, CONSIDER CONTRIBUTING WITH A SMALL DONATION OR SPONSORING ME ON PATREON | GITHUB SPONSORS.

rTexPacker

A simple and easy-to-use textures packer and font atlas generator.

Package sprites or fonts into an atlas to improve drawing performance.

rTexPacker can be used for free as a WebAssembly online tool and it can also be downloaded as a standalone tool for Windows and Linux with some extra features.

rTexPacker Features

  • Package sprites and font glyphs into an atlas
  • Configure packing algorithms and heuristics
  • Setup sprites spacing, padding and alpha-trimming
  • Font generation options: Size, SDF fonts, fixed font height
  • Import custom unicode charset from UTF-8 file
  • Unicode charset duplicates removed automatically
  • Edit sprites origin visually, exported with the atlas
  • Atlas visualization options: Zoom, Pan, Background, Fill
  • Multiple UI styles available, selectable from main toolbar
  • Load/Save portable self-contained .rtp file, containing all sprites
  • Load sprites from multiple image formats: .png, .qoi, .tga, .jpg
  • Load sprites from font files: .ttf, .otf
  • Export atlas descriptor as: text (.rtpa), binary (.rtpb), .json, .xml and code (.h)
  • Export atlas image as: .png, .qoi, .dds and .raw
  • Export atlas descriptor as binary PNG chunk: rTPb
  • Multiple usage examples provided to load: .rtpa, .rtpb, PNG chunk rTPbp and code .h.

rTexPacker Standalone Additional Features

  • Maximum atlas size up to 8192x8192 pixels
  • Command-line support for batch sprites packing
  • Completely portable (single-file, no-dependencies)

rTexPacker Usage

Open the tool, drag & drop your sprites/fonts and setup atlas packing options.

Generated atlas can be exported as atlas-descriptor text file plus an atlas image file. The formats supported are:

  • Atlas Descriptor: text (.rtpa), binary (.rtpb), .xml, .json and code (.h)
  • Atlas Image: .png, .qoi, .dds and .raw

rTexPacker Standalone comes with command-line support for batch sprite packaging and font atlas generation.

rtexpacker.exe --help

rTexPacker Technology

This tool has beem created using the following open-source technologies:

  • raylib - A simple and easy-to-use library to enjoy videogames programming
  • raygui - A simple and easy-to-use immediate-mode-gui library

rTexPacker Custom

Do you like this tool? Do you need any specific feature to be added? Maybe a custom export format? Maybe a custom gui theme? Or maybe a custom version for Linux, macOS, Android, Raspberry Pi or HTML5? Just get in touch: ray[at]raylibtech.com

rTexPacker Issues & Feedback

You can report tool issues and feedback here: https://github.com/raylibtech/rtools

rTexPacker License

rTexPacker online tool can be used completely for free.

rTexPacker Standalone desktop tool could be downloaded with a donation.

In any case, consider a donation to help the author keep working on software for games development.

Copyright (c) 2019-2022 raylib technologies (@raylibtech)

StatusReleased
CategoryTool
PlatformsWindows, Linux, HTML5
Rating
Rated 5.0 out of 5 stars
(11 total ratings)
Authorraylib technologies
Made withraylib
Tagspacker, raygui, raylib, Textures, tool
Average sessionAbout an hour
LanguagesEnglish
InputsKeyboard, Mouse
LinksSteam, Homepage, Twitter, Steam, LinkedIn

Download

Download NowName your own price

Click download now to get access to the following files:

rTexPacker v2.0 Usage Code Samples 2 MB
rTexPacker v2.5 Windows (x64) 2 MB
if you pay $20 USD or more
rTexPacker v2.5 Linux (x64) 2 MB
if you pay $20 USD or more

Development log

Comments

Log in with itch.io to leave a comment.

Great tool - enjoying using it so far. One small request though, would it be possible to add the option to toggle on/off texture filtering? When dealing with pixel art the blurring caused by bilinear filtering makes it a little more tricky to work with. Thanks!

Actually, there is a toggle button in the main toolbar just for that...

Oh perfect, I somehow missed that. Thanks!

Is there a quick way to set the origin of a frame (or all frames) to their centres?

I'm afraid there is no such option at this moment, pivot-point setup is manual for required sprites... but I take note for a future version!

Is it possible to make the program, output multiple atlases if the number of sprites overflow the atlases? Then a map can be made to lookup which atlas the sprite belongs too. If source could be provided, I could add the feature myself, but this is closed source. It would be possible to make this feature even just using the binary, but would be easier if it already does this or source is available, even in a limited context. Either way buying this later today.

Maybe in a future but now my resources are very limited to keep improving this tool. I prefer to keep it closed source, it took me thousands of hours of development and I’m trying to monetize a bit all that work.

(1 edit)

I am in now way saying you should open source the tool and not be able to monetize it. I simply wish for some way to access the source with purchase, even in a non redistributable limited license manner. I would be more than willing to sign any NDA or pay an extra fee or something, just because it would make my life easier, but if this is not possible, I understand completely.


I would also like to stress I am in no way ungrateful for all the work you do on raylib. It is a wonderful technology. I am using it now and appreciate everything you do. I have already purchased this software and completely understand any limitations you have to impose to insure your ability to make money. The fact you even offer the software for free as use as a web app is commendable from the outset, I have no issues paying you something for a small part of all the work you have done, and the existence of raylib brings me great joy in not having to re-implement many things when I create projects that I do not desire to use giant monolithic engines with. Thanks for everything you do Ray.

I was wondering if it is possible, when exporting the texture, to configure the number of channels per pixel? Specifically, if it is possible to export the texture in grayscale? This feature would be very helpful

keep up the good work

Actually, I considered that option but I decided to keep that image-editing functionality separate from the packaging functionality. You can use rTexViewer to edit the pixel-format of your exported atlas.

There seems to be a bug.

I packed a .png-image with color RGBA(0, 0, 0, 50) and the result was RGBA(0, 0, 0, 10).

Is there something wrong with the alpha values?

Yes, it’s a known issue and has already been reviewed. An updated version will be published soon.

Do you plan on making this a library?

Also is there a way to remove all viewable sprites in the atlas?  It'll be useful for fighting games that need a lot of sprites for animation.

What do you mean? There is a clean button on the sprites list to remove all sprites from the atlas.

There can be sprites that have a red border around them that are not on the atlas, is there a way to automatically delete all the viewable sprites (ones without the red border)?

(+1)

Not for the moment but I take note about it, I can add it in a future but unfortunately not for next release.

Actually most of the functionality of this tool is directly available in raylib. You can use raylib.

(2 edits)

Do you have a src-code for this program?

I'm afraid this software is closed  source. Why do you need it?

I will answer for them. Because by reusing the code of this editor, you can create a level editor that will be more convenient than the ugly Tiled.

You can check the code of rFXGen, rGuiStyler, rGuiIcons and rIconPacker, they are open source and all my tools use the same base template so the code structure is almost the same. rTexPacker just has specific code to package sprites but that's a few lines of code because it uses stb_rect_pack library.

This is rather impolite to the creator of Tiled.

this os not for mac

Nope, unfortunately I never had a mac to learn how it works and create software for it...

ok sir

Any plans to make this available as a Linux binary?

(+1)

I'm publishing a new version soon, I'll try to provide a Linux version by then.