3dtoolkit.app

GLB compressor

…or drop it anywhere in this box. Works offline after loading.

Drop a GLB and shrink it with Draco or Meshopt encoding, optional mesh decimation and WebP textures. 3D model compression that never leaves your device.

What survives

What compression keeps and shrinks

Geometry

Positions, normals, UVs, vertex colors

Quantized to compact integers; visually lossless at defaults

Animations & skins

Keyframe clips, skeletons, blend shapes

Kept intact by both codecs

Materials

PBR assignments and material slots

Texture files may be re-encoded to WebP if enabled

Extras & custom data

Where possible

Unused resources are pruned; exotic extensions may be dropped

Mesh decimation

Reduce triangle count, not just bytes

File size and render cost are two different problems. Encoding (Draco/Meshopt) shrinks the download; mesh decimation lowers the triangle count so the model also draws faster — the usual fix for photogrammetry scans and CAD exports that run millions of triangles.

The strength slider runs the Meshopt simplifier on your model: small steps collapse triangles that barely change the silhouette, aggressive settings rebuild it at a fraction of the density. Borders are locked so seams and hard edges stay watertight.

Typical uses: LODs for game engines, web delivery under a 1 MB budget, and previews for marketplaces that cap upload size. Keep the slider at 0 for archival work; push it up for runtime assets.

Questions people ask

How much can I reduce a GLB file size?
Geometry usually shrinks 2–10× with Draco or Meshopt encoding plus quantization. Texture-heavy models shrink even more when you enable WebP recompression. Models that are already compressed and texture-light will see smaller gains — the before/after numbers are shown honestly, every time.
Does compression reduce quality?
Geometry encoding quantizes vertex data within tight tolerances — visually lossless at default settings. Mesh decimation is lossy by design: the strength slider trades triangles for size, so keep it at 0 if fidelity matters more than file size.
Should I pick Draco or Meshopt?
Draco (KHR_draco_mesh_compression) has the widest support — three.js, Babylon.js, Unity and most viewers decode it out of the box. Meshopt (EXT_meshopt_compression) often reaches a smaller size and decodes faster, and is supported by recent three.js and Babylon.js versions. When unsure, Draco.
Is my model uploaded anywhere?
No. Parsing, compression and export run entirely in your browser tab using WASM codecs. You can disconnect from the internet after loading the page and the tool still works.
Why only GLB input?
GLB packs geometry, materials, textures and animations into one binary file, which is what compression operates on. If you have OBJ, STL, PLY or FBX, run it through the free 3D converter first to get a GLB.

Shrinking a file? Sometimes you need one instead.

Make a 3D logo — free