PNG to VTF Converter
Make a Valve Texture Format file from a PNG for a custom spray, a weapon skin or a map texture in a Source engine game. Prepare the PNG at a power-of-two size, convert it here, and the engine can load the result.
Image Converter
or drop JPG, JPEG, JPE … files here ·
Max 95 MB per file· Up to 20 files· Deleted after 30 minutes
Files are processed on our servers and deleted after 30 minutes.
85 keeps photos visually identical to the original. Lower it only when you need a smaller file.
JPG, BMP and EPS have no transparency. Transparent pixels are filled with this color.
Hex color used behind transparent pixels, e.g. #FFFFFF.
This format holds a single image. Choose GIF or WebP output if you want to keep the animation.
A multi-size icon contains several resolutions in one file; browsers and operating systems pick the one they need.
Keep the original dimensions, or enter one side and the aspect ratio is kept.
Pixels for the side you chose above.
Percentage of the original dimensions.
sRGB is right for screens and the web. Keep the original for print workflows; grayscale discards color.
Metadata only, 0 keeps the original value. Printers and some portals read this number; it does not change pixel dimensions.
How to use this tool
- 1
Upload a power-of-two PNG
Add up to 20 PNGs, 95 MB each. Sizes like 256 × 256 or 512 × 256 px are what Source expects, and transparent areas are fine.
- 2
Check the size settings
Resize output image is set to Keep original size. Choose Set width and enter 256, 512 or 1024 for a square PNG that needs adjusting.
- 3
Press Convert to VTF
Download the .vtf files, add a VMT where the game needs one, and copy them into the game's
materialsfolder. Uploads are deleted after 30 minutes.
Source engine games load textures only as VTF, and they expect both sides of the image to be a power of two.
Why Source games need VTF instead of PNG
Valve built VTF for the Source engine, which shipped with Half-Life 2 in 2004 and still runs Garry's Mod, Team Fortress 2, Counter-Strike: Source, Left 4 Dead 2 and many mods. The engine does not decode PNG or JPG at runtime. It expects texture data already arranged for the graphics card, usually DXT-compressed and with a mipmap chain of smaller copies for distant surfaces, and VTF is the container that holds it.
The power-of-two rule comes from the same design. Mipmaps halve the image at every step, and GPU-compressed formats work in 4 × 4 pixel blocks, so sizes like 512 or 1024 divide cleanly all the way down. A 500 × 500 px PNG breaks that pattern, and tools either refuse it or stretch it to the next valid size, which blurs fine detail.
PNG to VTF sizes for sprays, skins and textures
128 × 128 px
Small spray
Safe on servers with strict size rules
256 × 256 px
Standard spray
Most common spray size
512 × 256 px
Wide decal or sign
Sides may differ
1024 × 1024 px
Weapon or prop skin
Match the original texture's size
2048 × 2048 px
Detailed world texture
Large files; use sparingly
PNG
Portable Network Graphics
PNG is a lossless raster format published in 1996 by the PNG Development Group and later standardised by the W3C and ISO. It keeps every pixel exactly, supports full alpha transparency and handles text, sharp edges and flat colours without artefacts. That precision makes it ideal for screenshots, logos, icons and interface graphics. The trade-off is size: photographs saved as PNG are often several times larger than the same photo as JPEG or WebP. All browsers, operating systems and editors open PNG files.
- Compression
- Lossless
- Transparency
- Yes
- Animation
- No
- Introduced
- 1996 · PNG Development Group
VTF
Valve Texture Format
VTF is the texture format of Valve's Source engine, used by games such as Half-Life 2, Counter-Strike: Source, Team Fortress 2 and Garry's Mod. It can hold mipmaps, alpha transparency and multiple frames for animated textures, compressed with GPU formats or stored uncompressed. Modders use VTF for sprays, skins and map materials. Outside Source tools and plugins, almost no software can open it.
- Compression
- Lossy or lossless
- Transparency
- Yes
- Animation
- Yes
- Introduced
- 2004 · Valve
PNG is converted to VTF when finished art has to become a spray, skin or map texture that a Source engine game can load; the VTF to PNG direction pulls existing game textures out for viewing or editing.
Getting the VTF into the game
Prepare the PNG
Crop to the final shape and size each side to a power of two.
Convert to VTF
Upload here and press Convert to VTF; transparency is kept.
Place it in materials
Copy the VTF and its VMT into the matching folder, or import it as a spray.
For a spray, most Source multiplayer games have an import button in the Multiplayer tab of the options menu, and the game writes the VMT for you. Keep sprays modest: older Source builds rejected spray files above roughly 120 KB, so a 256 × 256 px design is the usual choice, and servers can set their own rules on top.
For a reskin, open the game's original texture first with VTF to PNG, paint over it at the same size so it still matches the model's UV map, then convert your PNG back here. When the source picture is a wide photo, square it with crop image before resizing, because Resize output image keeps the aspect ratio and cannot turn 1920 × 1080 into two powers of two on its own. If your project targets a DirectX game instead, PNG to DDS makes the equivalent texture file.
PNG to VTF questions
What size should a PNG be before converting to VTF?
Both sides must be powers of two: 64, 128, 256, 512, 1024 or 2048 px. They do not have to match, so 512 × 256 is valid. For sprays, 256 × 256 px is the size most community guides recommend because older Source games limit spray file size.
Does PNG transparency survive in the VTF?
Yes, the alpha channel is written into the VTF. For a spray, that means the area outside your design stays clear on the wall instead of showing a colored box.
Do I need a VMT file as well as the VTF?
For map textures, models and decals, yes. The VMT is a short text file that names the shader and points to the texture with $basetexture. Sprays imported through the game's options menu get their VMT generated by the game.
Can I choose DXT1 or DXT5 compression here?
There is no compression picker on this page. If a game or server demands a specific format, for example DXT1 to keep a spray small, open the VTF in VTFEdit and save it again with that format and the mipmap settings you need.
Why does my custom texture show as a purple and black checkerboard?
That pattern is Source's missing-texture marker. The engine could not find the VTF at the path the VMT names, or the VMT is missing. Check the folder under materials and the spelling in $basetexture, which leaves out the .vtf extension.
Can I make an animated spray from PNG files?
An animated VTF stores several frames in one file, which needs a tool that assembles frames, such as VTFEdit's import of a numbered image sequence. This page converts each PNG to a single-frame VTF.