GLB Compressor

Shrink GLB models for the web: dedup and quantize geometry, optionally apply meshopt compression, and re-encode textures as WebP. The output is re-imported to verify it loads.

Quantization + WebP textures

Drag & drop your GLB file here

Shrink GLB models with mesh quantization and WebP texture compression. Processed locally in your browser.

Or click to browse

GLB (binary glTF)

How it works

1

Upload GLB

Binary glTF with embedded resources

2

Tune compression

Mesh quantization, texture quality & size

3

Download GLB

Smaller file, verified loadable

How It Works

1

Upload a GLB

Drop in a binary glTF file with embedded textures and buffers.

2

Pick your trade-offs

WebP texture quality and max size, quantization for compatibility, or meshopt for minimum size.

3

Download and ship

The compressed file is re-imported and verified before you download it.

Frequently Asked Questions

Three things: textures re-encoded as WebP and capped to a sensible resolution (usually the biggest win), vertex quantization that stores positions and normals in fewer bits, and optional meshopt compression on top. Duplicate and unused data is also stripped.

With the default settings, yes — quantization (KHR_mesh_quantization) and WebP textures (EXT_texture_webp) are supported by Three.js, Babylon.js, and modern engines. Meshopt compression needs a MeshoptDecoder wired into the loader, which is why it's off by default.

Quantization is visually lossless at default settings. Texture quality is the lever you control — the quality slider trades file size against texture sharpness, and normal maps automatically get extra quality since they show artifacts sooner.

Files that are already Draco-compressed can't currently be read — decompress them in your DCC tool or gltf-transform CLI first, then compress here.

As a rule of thumb: under ~2 MB loads comfortably on mobile connections, 2–5 MB is fine behind a loading state, and beyond 10 MB you should question whether the asset needs that fidelity. Textures usually dominate — check their share of the size before touching geometry settings.

Quantization alone is the compatibility-safe choice: standard extensions, loads everywhere. Meshopt stacks on top for the smallest files but requires wiring a MeshoptDecoder into your loader. Ship quantization by default; add meshopt when you control the loading code and need the extra savings.