TGA to VTF Converter
Drop one or more .tga files and download Source engine .vtf textures. A Targa with an alpha channel becomes DXT5 and keeps its transparency, a 24-bit one becomes DXT1; you can also pick the format, size, mipmaps, flags and a matching .vmt. It all runs in your browser and the files are never uploaded.
How to convert TGA to VTF
- 1
Add your TGA files
Drop one Targa or a whole batch. 8, 16, 24 and 32-bit TGAs, RLE-compressed or not, top-down or bottom-up, are all read.
- 2
Check the format
Auto picks DXT5 when the TGA has alpha and DXT1 when it does not. Choose BGRA8888 for lossless colour, or I8 for greyscale masks.
- 3
Set size, mipmaps and flags
Sides snap to the nearest power of two. Mipmaps are on, as Source expects for world and model textures. Tick flags like Clamp, No LOD or Point sample if you need them.
- 4
Download VTF and VMT
Save one VTF, its VMT, or every file as a ZIP that already has the materials/ folder layout.
TGA to VTF settings
What each option does and when to change it.
| Format: auto | DXT5 if any pixel is see-through, else DXT1. This is what most texture artists pick in VTFEdit. |
|---|---|
| DXT1 | Compressed, 4 bits per pixel, no smooth alpha. Smallest file; use it for opaque walls, floors and props. |
| DXT5 | Compressed, 8 bits per pixel, with full alpha. Use it for glass, foliage, decals and anything with soft edges. |
| BGRA8888 | Uncompressed, 32 bits per pixel. Lossless, but 4 to 8 times bigger. Good for HUD art and sprays you want crisp. |
| Size | Source wants power-of-two sides (16 up to 4096). Auto snaps to the nearest one; pick stretch, fit or crop when the shape changes. |
| Mipmaps | Smaller copies for distant surfaces. Keep them on for world and model textures, off for UI art. |
| Flags | Clamp S and Clamp T (no tiling), No LOD, Trilinear, Anisotropic, Point sample and Normal map, written into the VTF header. |
| VMT | LightmappedGeneric for brushes, VertexLitGeneric for models, UnlitGeneric for sprites, with $translucent or $alphatest set from the alpha. |
Why TGA is the classic Source texture input
Valve's own pipeline starts from Targa files. The vtex compiler in the Source SDK reads TGA from a materialsrc folder, and VTFEdit imports TGA by default. TGA keeps a real 8-bit alpha channel with no colour loss, so artists paint in Photoshop or GIMP, save as 32-bit TGA, and convert. This page does the same convert step without installing anything, on Windows, Mac, Linux or a phone.
Alpha: translucent or alpha test?
If your TGA has alpha, the VMT needs to say how to use it. $translucent blends smoothly and suits glass, smoke and soft decals, but it does not sort well and costs a little more to draw. $alphatest cuts the texture at 50 percent and suits fences, leaves and grates. Auto writes $translucent; pick $alphatest for cut-outs.
Putting the files in your game
Unzip the ZIP into your game or mod folder so the textures land in materials/<your folder>. In Hammer, the texture browser lists them by that path; for models, point $cdmaterials in your .qc at the same folder. If a texture shows as a purple and black checkerboard, the VMT's $basetexture path does not match where the VTF is.
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 Source texture tools
TGA to VTF questions
Valve, Source, Garry's Mod, Team Fortress 2 and Counter-Strike are trademarks of Valve Corporation, named only to describe file compatibility; The3DAI is not affiliated with or endorsed by Valve.