GLTF Texture Compression

Optimize GLTF textures and download as an optimized GLB.

Loading...

Please wait

About This Tool

Upload the .gltf and the textures/.bin from the same directory. Textures are scaled and transcoded while geometry stays unchanged, and the result is packaged into an optimized single-file GLB. Everything is processed locally.

Tips

  • 1Include external textures
  • 2Texture resizing and transcoding
  • 3Output: optimized GLB

About Configuration Options

Texture / Image

Max Texture Size

Default1024px

Clamp all textures to this maximum dimension, reducing texture memory and file size.

256px
512px
1024pxRecommended
2048px
4096px
Keep Original Size

Texture Format

DefaultWebP

Convert textures to a more efficient format. WebP offers excellent compression and wide browser support.

WebPRecommended
JPEG
PNG
KTX2
Keep Original Format

Quality

Default0.75

Range0.1 – 1 · step 0.05

Sets the compression quality for WebP and JPEG formats.

KTX2 Encoding Mode

ETC1S produces smaller files, ideal for diffuse maps. UASTC preserves more detail, recommended for normal maps.

Format Information

Input format

Extension:
gltf, glb
Full Name:
GL Transmission Format (glTF 2.0)
Type:
3D Scene
Format:
GLTF
Description:
glTF is an open standard 3D format by Khronos, dubbed the JPEG of 3D. It uses JSON for scene structure, separate .bin for geometry, and independent textures, enabling incremental loading and streaming. glTF 2.0 is the mainstream format for exchanging 3D content across web, mobile, and game engines. Compared to GLB, glTF uses multiple files, ideal for CDN on-demand loading and resource reuse, but prone to reference loss. For single-file sharing, GLB is more reliable. For fine-grained loading or frequent partial updates, glTF offers flexibility.

Notes:

  • External resources (.bin, textures) need to be kept together
  • May require additional tooling for CAD workflows

Supported Features:

  • Common 3D format

Output format

Extension:
glb
Full Name:
GL Transmission Format Binary (Compressed)
Type:
3D Model
Format:
Binary (glTF 2.0) with Draco/Texture Compression
Description:
The compressed GLB output uses Draco geometry compression and/or texture optimization to significantly reduce file size while maintaining visual quality.

Notes:

  • Draco-encoded models require a Draco decoder to render
  • File size can be reduced by 50-90% depending on settings

Supported Features:

  • Draco geometry compression (up to 90% reduction)
  • WebP/JPEG texture format conversion
  • Mesh simplification with configurable strength
  • Original PBR materials and scene hierarchy preserved

How to Use

1

Upload Model

Drop .gltf and texture files

2

Review Textures

Check detected maps

3

Configure & Compress

Compress and download GLB

Frequently Asked Questions

View all FAQs
Q

Why GLB output?

A

After texture compression, a single-file GLB is the most practical delivery format: one file to host, one request to load, and no separate .bin or texture files to keep in sync. Everything is embedded automatically.

Q

Which files need to be uploaded?

A

Upload the .gltf together with the .bin and all textures it references from the same directory. The tool re-encodes those maps and packages everything into a single-file GLB: companion files are not required for the result.

Q

Will the geometry change?

A

No. Only the embedded texture images are resized and transcoded; the mesh, normals, UVs, and animation are preserved exactly. The GLB is a repackaged version of the same scene with lighter images.

Q

Can texture size be limited?

A

Yes. Pick a preset of 256, 512, 1024, 2048, or 4096 px, or keep the original size. 1024 or 2048 is enough for most web use; below 1024 fine detail can look soft.

Q

Will normal maps be affected?

A

Normal maps are resized and re-encoded like the other textures. For the best surface shading, choose PNG or keep the original encoding: lossy formats like JPEG can bake visible artifacts into normals.

Q

Does the output GLB work with every glTF viewer?

A

Yes, GLB is the standard binary glTF container, so the result loads in Three.js, Babylon.js, Blender, and most model viewers. One note: KTX2 textures need a loader with KTX2 support (Three.js KTX2Loader or Babylon.js), while WebP/JPEG/PNG work everywhere.

Support Us