UltKit

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

Output

Files are processed on our servers and deleted after 30 minutes.

How to use this tool

  1. 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. 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. 3

    Press Convert to VTF

    Download the .vtf files, add a VMT where the game needs one, and copy them into the game's materials folder. 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

1:1

128 × 128 px

Small spray

Safe on servers with strict size rules

1:1

256 × 256 px

Standard spray

Most common spray size

2:1

512 × 256 px

Wide decal or sign

Sides may differ

1:1

1024 × 1024 px

Weapon or prop skin

Match the original texture's size

1:1

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
PNG converter

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
VTF converter

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

  1. Prepare the PNG

    Crop to the final shape and size each side to a power of two.

  2. Convert to VTF

    Upload here and press Convert to VTF; transparency is kept.

  3. 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.