DEV Community

Cover image for KTX2 vs Draco in 2026 - they are not the same tool
Dominik
Dominik

Posted on

KTX2 vs Draco in 2026 - they are not the same tool

People say "Draco or KTX2" like you pick one. You do not. They compress different things, and a heavy 3D model usually needs both for different reasons.

Draco shrinks the file

Draco compresses geometry: vertices, normals, indices. It is what takes a 90MB glTF down to a few MB on disk and over the wire. The catch is what happens after download: the model is decompressed back to full size in memory. Draco is a transfer optimization. It makes the download fast. It does nothing for how much memory the model occupies once it is loaded.

KTX2 shrinks what lives on the GPU

KTX2 with Basis Universal compresses textures, and this is the part people miss: a KTX2 texture stays compressed in GPU memory. A normal JPG or PNG gets decoded to raw RGBA on the graphics card. A 2048x2048 texture is about 16MB of VRAM decoded, regardless of how small the JPG was. The same texture as KTX2 can sit at a quarter or an eighth of that, on the card, the whole time.

For a configurator with several material maps per product, on a phone with limited GPU memory, that is the difference between smooth and a lost context.

The rule

  • Geometry heavy (CAD, lots of vertices): Draco, or meshopt if you want faster decode at a slightly larger file.
  • Texture heavy (multiple large maps, mobile targets): KTX2.
  • Both, which is most real product models: both.
gltf-transform optimize in.glb out.glb \
  --compress draco \
  --texture-compress ktx2
Enter fullscreen mode Exit fullscreen mode

One tool, one pass, both applied. File small for the download, textures small on the GPU for the whole session.

A footnote on meshopt: for a lot of projects now I reach for meshopt over Draco on geometry. The file is marginally larger but it decodes faster and the setup is simpler. Different tradeoff, same job as Draco. KTX2 is still the answer for textures either way.

You can see the difference on a texture-heavy model like the one at lampy3d.grodev.pl, where the finishes are all image maps.

I am Dominik Groński / GroDev, a studio in Poznan, Poland building custom 3D configurators and Laravel back-ends for manufacturers.

Top comments (0)