You can use meshopt and/or gtlf-transform to compress and optimize glbs including ktx2 texture compression.
@phil_crowther it supports alpha as well.
GitHub - donmccurdy/glTF-Transform: glTF 2.0 SDK for JavaScript and TypeScript, on Web and Node.js. · GitHub
and:
Mesh optimization library that makes meshes smaller and faster to render
and then attach:
to your gltfloader to load the optimized models. With good settings, I’ve seen multi gigabyte models shrink down to like 2 megs.
It does vertex quantization, texture compression, vertex channel packing, hierarchy optimization… etc. etc.
I haven’t found any platforms that haven’t supported it.. and yeah the variant I’ve used is ktx2 basis iirc.
I just discovered that the 2024 MS Flight Simulator uses ktx2 textures. That makes sense because flight simulators are typically very texture-intensive.
Tibi
June 14, 2026, 8:37pm
23
Simon Dev has a section on how to correctly steup ktx2 texture I recomend it https://simondev.io/
Oops, looks like I have to pay $150 to get the answer. Does he have a tutorial that is free?
Tibi
June 15, 2026, 6:11am
25
Nope but the course is top-noch I recomend it!
Someone documented how to do it here on the forum btw. I can’t remember where
Btw, the universal basis format comes in two flavours, uastc gives you way better quality, etc1 is begging to somehow be used for your lower level mips. You get banding and his cousins. But far smaller memory footprint I believe.
meshopt does it out of the box for a glb.
Maybe this too: 3dpea.com/en/convert/JPG-to-KTX2
I get a “bad gateway” error with that link.
Hehe I had an old comment in the chat buffer, and I hit send on it 4 hours ago.. I guess the original .com evaporated since then. Sorry about that…
I guess the canonical tool is something called toktx.exe which is supposedly in the Khronos repo:
KTX (Khronos Texture) Library and Tools
But of course, not as a binary, because that is what 99% of the people need, but instead you probably have to compile it yourself like a weenie.
meshopt is the better/easiest way imo. GitHub - zeux/meshoptimizer: Mesh optimization library that makes meshes smaller and faster to render · GitHub