Compare texture compression on the set that will ship.

Run the same maps through desktop, mobile, and VR format assumptions without re-entering every resolution by hand.

Open the texture set analyzer

Analyze a complete texture set or ZIP

Choose the real source files instead of entering every width, height, quantity, format, and mip setting by hand. The browser tool reads supported image headers, expands ZIP entries locally, hashes exact duplicates, samples decoded alpha where supported, and calculates each mip level with GPU block rounding.

  • Download size and expanded source bytes
  • RGBA8-equivalent uncompressed GPU memory and exact mipmap overhead
  • Desktop, Mobile, and VR / Quest recommendations
  • BC1, BC3, BC5, BC7, ASTC, ETC2, and KTX2 transcode comparisons
  • Unused alpha, duplicate, oversized-map, normal-format, and ORM packing checks

Run Texture Compression Calculator

Which texture compression format should you compare?

BC formats are common desktop targets, ASTC and ETC2 are common mobile targets, and KTX2 is a delivery container that typically transcodes to a GPU-native format. The correct comparison preserves required channels and normal-map quality while matching the target hardware.

BC1

4 bits per pixel for RGB-style use

BC3 / BC5 / BC7

8 bits per pixel before small-mip block rounding

ASTC 6 by 6

About 3.56 bits per pixel

Choose formats by map meaning, not one global preset

An albedo, two-channel normal, opacity texture, and scalar mask do not need the same block format. The report recommends formats per map and still exposes the complete-set comparison.

  1. Separate color from data. Color textures, normal vectors, and scalar masks have different compression artifacts and channel needs.
  2. Preserve required alpha. Use alpha-capable formats only where the sampled alpha channel carries information.
  3. Match hardware support. Select BC for supported desktop targets and ASTC or ETC2 for the mobile GPU families you intend to ship.

Texture Compression Calculator FAQ

Is KTX2 a GPU compression format?

KTX2 is a container. Basis Universal payloads are commonly transcoded at runtime into a GPU-native format such as BC, ETC2, or ASTC, so resident VRAM follows the transcode target.

Why use BC5 for normal maps?

BC5 stores two signed or unsigned channels with independent block compression, which is a strong match for tangent-space X and Y normal components when Z is reconstructed.

Are the GPU-memory numbers exact?

They are deterministic estimates from the texture dimensions, mip chain, channel layout, and selected GPU compression. Engine import settings, platform support, streaming, virtual texturing, alignment, and driver behavior can change the final resident memory.