WAD to PNG Texture Extractor
Drop a GoldSrc .wad file (halflife.wad, cs_dust.wad, decals.wad or your own) to see every texture as a thumbnail and save them as PNG, one at a time or all in a ZIP. Each texture uses its own palette, and textures whose names start with { get their blue key colour as real transparency. It runs in your browser; the WAD is never uploaded.
How to extract textures from a WAD
- 1
Find the WAD
Half-Life keeps its textures in valve/halflife.wad, Counter-Strike in cstrike/ (cs_dust.wad, cstrike.wad ...). Custom maps ship their own WADs.
- 2
Drop it here
Every texture, decal and picture lump is listed with its size. Search by name to find one texture among thousands.
- 3
Check transparency
Keep Transparent blue on { textures ticked to make palette colour 255 clear on those textures, as the game draws them, or untick it to keep the blue.
- 4
Download PNGs
Save the selected texture, or every texture (or your search matches) as a ZIP, optionally with the three smaller mip levels.
The WAD3 texture format
WAD3 is the texture package of GoldSrc, the Half-Life 1 engine. These are the parts this tool reads.
| Header | "WAD3", the number of lumps and where the directory starts. |
|---|---|
| Directory | 32 bytes per lump: offset, sizes, type, a compression byte (always 0 in practice) and a 16-character name. |
| Texture lumps (0x43) | A name, width and height, four mip levels (full, 1/2, 1/4, 1/8 size) of 8-bit pixels, then a 256-colour RGB palette. |
| Picture lumps (0x42) | Menu and HUD images in gfx.wad: width, height, pixels and a palette. |
| Decal lumps (0x40) | Spray and bullet-hole decals in decals.wad. Shown with their stored palette; the game tints them with the last palette colour. |
| { textures | Names starting with { use palette colour 255 (usually pure blue) as see-through, for fences, grates and leaves. |
| Other prefixes | ! for water, +0 to +9 for animation frames, +a for toggled textures, - for random tiling. The PNG keeps the name so you can rebuild the WAD. |
| Not supported | Quake WAD2 (it needs Quake's outside palette) and Doom IWAD/PWAD files. |
Why WAD textures look the way they do
GoldSrc textures are 8-bit: each one picks its 256 colours and stores one byte per pixel. That kept Half-Life fast in 1998 and is why each texture carries its own palette. The PNGs you get are full colour, so you can upscale them, edit them in any program, or use them as reference in another engine. Sides are multiples of 16 pixels, which the engine requires.
Bringing old textures to new projects
Many players extract WADs to remaster classic maps. A common path is WAD to PNG, an upscaler for sharper detail, then PNG to VTF for a Source port, or back into a WAD with a tool like Wally or WadMaker for GoldSrc. Keep the prefix in the file name ({, !, +0) so the texture still behaves the same.
Need a new model or texture for your mod?
Make a 3D model from a photo or a short text prompt with AI, or generate a seamless texture, then bring it into your Source or GoldSrc project with these free converters.
More free texture tools
WAD to PNG questions
Half-Life and Counter-Strike are trademarks of Valve Corporation, named only to describe file compatibility; The3DAI is not affiliated with or endorsed by Valve.