Texture Preview (KTX2 / DDS to PNG)

Preview KTX2 and DDS GPU texture files in your browser and download them as PNG. Supports Basis Universal, BC1-BC7, and common DDS formats.

The Texture Preview tool decodes KTX2 and DDS GPU texture containers entirely in your browser and exports the result as a standard PNG image. It handles the Basis Universal supercompression variants (UASTC and ETC1S) used in modern engines, as well as legacy DDS formats (DXT1/BC1, DXT3/BC2, DXT5/BC3, BC4, BC5, BC7). Every byte stays on your machine — nothing is uploaded.

Your data stays in your browser
Tutorial

How to use

1
1

Drop the texture file

Drag a .ktx2 or .dds file onto the upload zone, or click to browse and pick one from disk.

2
2

Watch the decode progress

The tool shows each phase: loading the decoder, parsing the container, decoding compressed blocks, and encoding PNG.

3
3

Preview and download

A PNG preview appears with format and mipmap details. Click Download to save the converted image to disk.

Guide

Complete Guide to KTX2 and DDS Textures

What is a KTX2 file?

KTX2 is the Khronos Texture v2 container standardised by the Khronos Group for efficient GPU textures. It stores pixel data already compressed in a GPU-native format (Basis Universal UASTC or ETC1S are most common) so engines upload textures straight to the GPU without CPU transcoding. KTX2 is the recommended texture format for glTF 2.0 assets via the KHR_texture_basisu extension.

What is a DDS file?

DDS (DirectDraw Surface) is Microsoft's legacy texture container, originally shipped with DirectX 7. It remains the de facto standard on Windows game pipelines because it natively carries BCn (Block Compression) formats such as DXT1, DXT5, and BC7. DDS files may include mipmap chains, cubemap faces, and volume textures, all described by a fixed 128-byte header.

How the browser decodes them

This tool uses three.js loaders combined with a Basis Universal WebAssembly transcoder. The container is parsed in JavaScript, the compressed mip level 0 is uploaded to WebGL as a compressed texture, then rendered to an offscreen framebuffer. The raw RGBA pixels are read back with readPixels and encoded into PNG via the Canvas 2D API.

When to choose KTX2 vs DDS

Choose KTX2 for cross-platform delivery (web, mobile, desktop) because Basis Universal transcodes once into the best GPU format for each device. Choose DDS when targeting Windows-only pipelines with mature DXT/BC7 tooling. For archival or 2D pipelines, export to PNG — which is exactly what this tool automates.

Examples

Solved Examples

Exporting a BC7 DDS album art texture

A game mod packages album art as BC7 DDS files. You need a PNG thumbnail for a wiki page.

1

Drag album_art.dds onto the upload zone.

2

Wait for the Decoding phase to complete (a few hundred milliseconds for 1024×1024).

3

Click Download PNG to save the final image.

A lossless 1024×1024 PNG with transparency preserved, ready to upload to any wiki or documentation site.

Sharing a KTX2 UASTC asset with a designer

A 3D artist sends a character_skin.ktx2 asset but the designer only has Figma and no engine installed.

1

Open the Texture Preview tool and drop the .ktx2 file.

2

Verify the detected format reads 'KTX2 · Basis UASTC' and the size matches expectations.

3

Download the PNG and share it directly via Slack or email.

The designer receives a standard PNG that opens in any image viewer, with the exact pixels the engine would display at mip 0.

Use Cases

Use cases

Inspect a game asset

Game developers and modders frequently encounter KTX2 or DDS textures inside engine packages. This tool lets you quickly peek inside a texture to check its resolution, format, and mipmap chain without installing NVIDIA Texture Tools, RenderDoc, or any desktop utility, directly from your browser.

Convert textures for web delivery

Some engines (Unity, Unreal, glTF pipelines) export assets as KTX2 with Basis Universal compression. Converting a sample to PNG is useful for documentation, thumbnails, marketing screenshots, or simply sharing the asset with non-technical teammates who cannot open GPU-only formats.

Debug rendering issues

When a texture looks wrong in-engine, exporting the decoded RGBA to PNG reveals whether the source data is already corrupted, miscompressed, or simply interpreted incorrectly by the renderer. It isolates asset problems from shader or sampler bugs during debugging sessions.

Frequently Asked Questions

?Which texture formats are supported?

KTX2 with Basis Universal (UASTC, ETC1S) and uncompressed payloads; DDS with BC1/DXT1, BC2/DXT3, BC3/DXT5, BC4, BC5, BC7, and uncompressed RGBA/BGRA surfaces.

?Why does the first conversion take a moment?

The first run downloads the Basis Universal WebAssembly transcoder (~600 KB). It is cached afterwards, so subsequent files decode instantly in the same browser session.

?Does it handle cubemaps or texture arrays?

Only the first face or slice is exported as PNG in this version. Mipmap levels beyond level 0 are detected and reported but the preview always uses the highest resolution.

?Is there a file size limit?

No hard limit, but 8K textures or larger may consume several gigabytes of browser memory during decode. Files under 4096×4096 decode comfortably on typical laptops.

?Is my data private?

Yes. Your texture file never leaves your device. Decoding uses WebGL and WebAssembly locally in your browser — no data is uploaded to any server.

?Is this tool free?

Yes. Completely free with no limits, no sign-up, no watermarks, and no registration required for any feature.

Related Tools

Help us improve

How do you like this tool?

Every tool on Kitmul is built from real user requests. Your rating and suggestions help us fix bugs, add missing features and build the tools you actually need.

Rate this tool

Tap a star to tell us how useful this tool was for you.

Suggest an improvement or report a bug

Missing a feature? Found a bug? Have an idea? Tell us and we'll look into it.

Recommended Reading

Recommended Books on Textures, Graphics & Real-Time Rendering

As an Amazon Associate we earn from qualifying purchases.

Boost Your Capabilities

Professional Products for Graphics & Texture Artists

As an Amazon Associate we earn from qualifying purchases.

Newsletter

Get Free Productivity Tips & New Tools First

Join makers and developers who care about privacy. Every issue: new tool drops, productivity hacks, and insider updates — no spam, ever.

Priority access to new tools
Unsubscribe anytime, no questions asked