UltKit

JPG to TGA Converter

Some texture compilers and older game engines take Targa and nothing else. Convert your JPG photos and reference images to TGA here, at the size the engine expects, and feed them straight into the pipeline.

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 the JPG images

    Add up to 20 photos or textures, 95 MB each. Use the least-compressed JPGs you have; artifacts carry over into the TGA.

  2. 2

    Set the texture size

    Under Advanced settings, Resize output image can set a width such as 1024 or 2048 px. For square textures, crop the JPG to a square first.

  3. 3

    Convert to TGA

    Press Convert to TGA and download the .tga files or a ZIP to drop into your materials folder.

Converting JPG to TGA changes the container, not the picture: you get a lossless 24-bit Targa of the decoded photo, ready for tools that refuse JPG, and roughly ten times the file size.

Texture tools that need TGA instead of JPG

Modern engines such as Unity and Unreal import JPG without complaint, so the need for this conversion comes from specific tools. Valve's vtex, the compiler that turns images into Source engine VTF textures for maps, sprays and mods, reads Targa input. Quake III Arena and other id Tech 3 games, along with many engines derived from them, load textures as .tga files. Custom map editors, older 3D packages and some print-to-texture workflows also list TGA as the only accepted format.

The usual source is a photo: a wall, a sign, a wooden floor, or a scan of a poster you want to hang in a level. Those arrive as JPG from a phone or a texture library, so the shortest path is to convert them here and hand the TGA to the compiler. When the target engine actually wants DDS, skip Targa and use JPG to DDS.

JPG input versus TGA output, property by property

What the conversion changes for a typical photo texture
PropertyJPG inputTGA output
Color depth24-bit, 8 bits per channel24-bit, 8 bits per channel
Alpha channelNoneNone to carry over
CompressionLossy, 8 × 8 pixel blocksLossless (raw or run-length)
2048 × 2048 file sizeOften 1–3 MBAbout 12 MB uncompressed
RotationEXIF orientation flagPixels rotated upright
Camera metadataEXIF tagsStripped by default

JPG

JPEG image

JPEG (or JPG) is the most widely used photo format, standardised by the Joint Photographic Experts Group in 1992. It uses lossy compression that discards fine detail the eye is unlikely to notice, which keeps photos small enough for the web, email and phone storage. It handles smooth gradients and natural scenes well, but sharp text, line art and flat colours pick up visible blocky or fuzzy artefacts. JPEG has no transparency and no animation, and every re-save loses a little more quality. Every browser, phone, camera and image editor can open it.

Compression
Lossy
Transparency
No
Animation
No
Introduced
1992 · Joint Photographic Experts Group
JPG converter

TGA

Truevision TGA (Targa)

TGA, also called Targa, was created by Truevision in 1984 for its graphics cards. It stores raster images uncompressed or with lossless run-length encoding and supports an 8-bit alpha channel. The simple structure made it a long-standing favourite for game textures, 3D renders and video graphics. Files are large compared with PNG, and browsers and phones do not display TGA. Most image editors, game engines and 3D programs read it.

Compression
Lossless
Transparency
Yes
Animation
No
Introduced
1984 · Truevision
TGA converter

JPG goes to TGA when a texture compiler, mod tool or older engine accepts only Targa input, so a photo or scanned surface can become a game material without opening an image editor.

Prepare a JPG photo before it becomes a TGA texture

Use the cleanest source
Pick the largest, highest-quality JPG; every artifact in it ends up in the texture and gets magnified on a big surface.
Crop to the target shape
Square or 2:1 crops map onto walls and floors without stretching; crop before converting.
Hit a power-of-two size
Set Resize output image to 512, 1024 or 2048 px wide so mipmaps and older compilers behave.
Keep it upright
Auto orient bakes the phone's rotation flag into the pixels, since TGA readers ignore EXIF.

Truevision designed Targa in 1984, when video boards needed a simple way to store frames, and that simplicity is why engine tools still read it: a short header, then pixels. Nothing in a TGA needs decoding beyond optional run-length packing, which is why compilers and loaders written decades ago handle it reliably.

Because a JPG has no transparency, the TGA you get is a plain color texture. For materials that need a gloss or opacity mask, add the alpha in an editor afterward. Keep your original JPGs; if you need web previews of the finished textures later, TGA to JPG turns them back into small shareable files.

JPG to TGA: answers for modders

Will my TGA have an alpha channel?

No useful one. A JPG has no transparency, so there is nothing to carry into a fourth channel. If the engine needs alpha for a mask or cut-out, paint it in an editor, or start from a transparent source with PNG to TGA.

Does converting JPG to TGA improve the quality?

No. TGA stores the decoded pixels exactly, but the blocking and smearing from the JPG's compression are part of those pixels. The TGA is a perfect copy of an imperfect picture; the conversion just stops any further loss.

Why is the TGA ten times larger than the JPG?

Targa stores every pixel at three bytes with at most simple run-length compression, while JPG discards detail to stay small. A 2048 × 2048 texture is about 12 MB as 24-bit uncompressed TGA, versus a JPG that is often 1–3 MB.

Which game engines still want TGA files?

Valve's vtex texture compiler for Source builds VTF files from TGA input, and id Tech 3 games such as Quake III Arena load textures from .tga and .jpg. Unity and Unreal accept JPG directly, so check whether a conversion is needed at all.

Do I need power-of-two dimensions?

Many older engines and compilers do, for example 512, 1024 or 2048 px per side, and mipmapping works most cleanly at those sizes. Resize or crop before converting, because padding a texture afterward shows up as seams.