• Check out the results of the Techtree Contest #19!
  • Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!

WhiteoutTex: A new texture converter

WhiteoutTex — A free, open-source texture viewer and converter for blizzard game assets.

WhiteoutTex lets you open, inspect, and convert textures across formats commonly used in game development and modding, including BLP (Blizzard Picture), DDS, TEX (Diablo III & Diablo IV), BMP, PNG, JPEG, and TGA.

Key features:

  • Multi-format support — Open and save between BLP, DDS, BMP, PNG, JPEG, and TGA. Read-only support for Blizzard's proprietary TEX format.
  • Image viewer with zoom, pan, and per-channel (RGBA) filtering — great for inspecting individual texture channels.
  • Mip level browser — Select and preview any mip level in the chain, with full detail metadata (dimensions, byte size per level).
  • Smart mipmap generation — Regenerate mipmaps with a single click. Filtering is texture-kind-aware: normal maps are renormalized and PBR textures preserve their physical properties across mip levels.
  • Automatic texture classification — Detects texture kind (Diffuse, Normal, Specular, ORM, Albedo, Roughness, etc.) from file names and pixel formats, with manual override.
  • Normal-map & ORM display — Compressed normal maps (e.g. BC5) are expanded automatically; ORM textures get a tailored channel view.
  • Format-specific save options — BLP version/encoding/dithering, DDS format selection, JPEG quality slider, optional mipmap generation on save.
  • DPI-aware UI with persistent layout, native OS file dialogs, and remembered preferences across sessions.
  • Built with C++23, SDL3, Dear ImGui, and WhiteoutLib. Licensed under BSD 3-Clause.
  • Added TIF parsing.
  • Fixed Alpha being hidden in ORM textures.
  • Automatic Releases at Github

  • Considerably improved MacOS compatibility.
  • Fixed a race conditzion that could cause crashes.


  • Fixed Online CASC getting stuck and being slow.
  • Added support for Diablo 4 Lord of Hatred textures.
  • Alpha builds for MacOS(Apple silicon only) and Linux.

  • Added .psd support.
  • Support for UTF8 character paths
  • Support for cubemaps and 2d array textures.
  • Support for online CASC Storages.
  • Support for World of Warcraft CASC.
  • Batch Converter — fixed conversion failing when source and destination are the same folder

This project is not affiliated with or endorsed by Blizzard Entertainment.

Source: WhiteoutTex Github repo

The UI design and functionality was inspired by BLP Lab

Newest Releases Here
Contents

WhiteoutTex: A new texture converter (Binary)

Reviews
eejin
Useful tool for any texture related work. Some minor remarks: - It refers to a download script that does not exist in the bundle. (of course it finds the models when I copy over the folder from the root) Having an anti-aliased, non-monospaced font...
It's BLPLab... but for 2026!
Indeed, I was heavily influenced by its GUI design to write the tool.

by reading DDS it means it can read DXT1/DXT3/DXT5/RGTC ?
all of them and write them too. DXT1 is BC1, DXT3 is BC3, DXT5 is BC3.

RGTC is BC4 and BC5 (both supported).

and, also, BPTC: BC6H and BC7. BC7 in particular is has way better quality than BC3 (DTX5).

It also supports sRGB.
 
Oh wait, can it save normal maps?
btw BC7 has better quality than BC3 but I doubt WC3 Reforged supports BC7. I'll have to check again when I have time.
It can save normal maps as BC5 or BC3N. Wc3 Reforge uses BC5, Starcraft 2 and HotS use BC3N with inverted Y.

It also supports ORM and the mipmap generator respects the properties of Normal Maps, Roughness, Metalness, Ambient Occlussion, etc.

Wc3 Reforge does support BC7 as far as I understand. Now for some weird reason, blizzard rarely uses BC7 even in Diablo 4, they rarely do.
 
A good tool. I gave it a whirl and it seems to do the same as BLPLab just a bit faster.
Would there be a chance that you add the feature to keep the last settings on the batch converter?
Yes sir!

It's done, it should now remember the previous settings. I also took the liberty of adding more features:

like.....

AI Upscaling!

and also downscaling (there isn't a good x2 model).

Additionally, you can feel free to change the number of mipmaps now.

EDIT: It's out now.
 

Attachments

  • Screenshot 2026-03-18 215351.png
    Screenshot 2026-03-18 215351.png
    560 KB · Views: 43
  • Screenshot 2026-03-18 215428.png
    Screenshot 2026-03-18 215428.png
    1 MB · Views: 40
Last edited:
it works with BLP0s and doesn't shit its pants when you try to convert BLP0s with full white alpha channels (unlike imperial blp)
i am bit confused with all the available options though, i just want to convert blp0 to regular wc3 blps
my only nitpick is that "save as" dialogue always defaults to wine prefix's desktop, i can't get it to stay in the folder of my choosing, doesn't happen with "open", but it's probably some wine error it's the "LastCascDir=" in the config.ini
 
Last edited:
it works with BLP0s and doesn't shit its pants when you try to convert BLP0s with full white alpha channels (unlike imperial blp)
i am bit confused with all the available options though, i just want to convert blp0 to regular wc3 blps
my only nitpick is that "save as" dialogue always defaults to wine prefix's desktop, i can't get it to stay in the folder of my choosing, doesn't happen with "open", but it's probably some wine error it's the "LastCascDir=" in the config.ini

also insteasd of wine you could try giving it a go on linux: GitHub - FernandoS27/WhiteoutTex: A simple tool for converting Blizzard Entertainment texture formats. Generates mipmaps and manages proper display and conversion. . I have not tested it but I design all my tools to be multiplatform, only thing missing for linux is an http wrapper for Online CASC. It's easy to make one with curl. The tool should still compile without it.

Anyways,

New version 1.1:
  • Added .psd support.
  • Support for UTF8 character paths
  • Support for cubemaps and 2d array textures.
  • Support for online CASC Storages.
  • Support for World of Warcraft CASC.
  • Batch Converter — fixed conversion failing when source and destination are the same folder
 
i am having a problem with batch converting on wine
on previous version it would froze after a while and not convert all images
first time it happened at 40% of ~1100 images
but on version 1.1 it actually gives out an error and closes, could be after 20, could be after 150 images, seems to be random
another thing is that it can "softlock" itself (the minimize, maximize and close buttons disappear and i have to xkill it with terminal) after i open and look at enough images (not batch converting, just opening one-by-one)
annoyingly, after that error-and-close or xkilling the process, it would wipe clean the config.ini (i set it to read-only to prevent that)
is that a common problem or is that only me because of wine? i can try again and then copypaste the error log here if it would help
 
i am having a problem with batch converting on wine
on previous version it would froze after a while and not convert all images
first time it happened at 40% of ~1100 images
but on version 1.1 it actually gives out an error and closes, could be after 20, could be after 150 images, seems to be random
another thing is that it can "softlock" itself (the minimize, maximize and close buttons disappear and i have to xkill it with terminal) after i open and look at enough images (not batch converting, just opening one-by-one)
annoyingly, after that error-and-close or xkilling the process, it would wipe clean the config.ini (i set it to read-only to prevent that)
is that a common problem or is that only me because of wine? i can try again and then copypaste the error log here if it would help
Ok, what are you doing in the batch options? Are you just converting formats or are you also upscaling?
 
Last edited:
blp0 to blp1, no upscaling, works fine when converting 1 by 1
View attachment 588467
hmn, i couldn't find anything. How about you try converting BLP0 to TGA and then TGA to BLP1?

On other news, a new version:
  • Fixed Online CASC getting stuck and being slow.
  • Added support for Diablo 4 Lord of Hatred textures.
  • Alpha builds for MacOS(Apple silicon only) and Linux.
 
Useful tool for any texture related work.

Some minor remarks:
- It refers to a download script that does not exist in the bundle. (of course it finds the models when I copy over the folder from the root)

1780483069965.webp

  • Having an anti-aliased, non-monospaced font for most text would greatly improve readability. The current UI is a bit hard to read
  • Having a BC7 export option is great but could confuse some users as Warcraft doesn't support it. A description on which one to use in which scenario would be a great addition.
1780483288428.webp

- The image details subpane is empty or it is supposed to be a level higher than File/Texture? In that case having it visually distinct would be nice.
1780483469866.webp


Are there any features missing that would make this a superset of BLP Lab or other texture viewers already on the Hive?
 
Useful tool for any texture related work.

Some minor remarks:
- It refers to a download script that does not exist in the bundle. (of course it finds the models when I copy over the folder from the root)

View attachment 593398
  • Having an anti-aliased, non-monospaced font for most text would greatly improve readability. The current UI is a bit hard to read
  • Having a BC7 export option is great but could confuse some users as Warcraft doesn't support it. A description on which one to use in which scenario would be a great addition.
View attachment 593399
- The image details subpane is empty or it is supposed to be a level higher than File/Texture? In that case having it visually distinct would be nice.
View attachment 593400

Are there any features missing that would make this a superset of BLP Lab or other texture viewers already on the Hive?
1. The models are inside the folder that contains the 3 OS subzips. Sadly, the hive won't let me upload 3 separate bundles.

2. This tool is for every blizzard game, not just Warcraft 3.

3. BC7 is used by Diablo 4. Warcraft 3 does support it but sadly, doesn't use it in the GPU, it uses a software decoder.

4. yeah the purpose of it was more of a parent panel.


About BLPLab, I just took some ideas on how to set the interface. i created this tool to test my texture parsers/writers. Compared to BLPLab, It's a lot faster, supports more formats, can upscale/downscale images, can generate mipmaps based on physics properties (perfect for reforged), can extract images directly from CASC/MPQ, supports Online CASC connectivity, etc.
 
Back
Top