Documentation

How to compress GLB/GLTF files with OptimizeGLB

Free and browser-only — selected model files stay on this device during compression.

1. Quick start

Compress a model in three steps

1.Open the compressor and add a .glb, or a .gltf together with its referenced .bin and texture files. Choose the containing folder to preserve nested paths.
2.Pick your texture format/size and advanced options, then click Run. Everything runs locally in your browser via WebAssembly.
3.For GLB inputs, use Compare to inspect the original and optimized model. Download one optimized GLB or use Allto create a ZIP after the queue finishes.

Working with a large GLB or glTF file?

Large-file workflows, Draco, browser memory, and practical limits

OptimizeGLB supports files measured in hundreds of megabytes, including Draco compression for oversized mesh geometry. Because processing is local, the practical limit depends on your browser, available device memory, model structure, and settings.

Read the large GLB compression guide

2. Compression options

What each setting does, and when to use it

Texture format & size

The Compatible preset keeps the source texture format and resolution for a safe first run. WebP, JPEG, AVIF, PNG, KTX2, and resizing are explicit choices with quality and loader-compatibility tradeoffs. Preview the result in the target viewer.

Remove duplicates (dedup)

Merges selected identical resources. The Compatible preset leaves texture deduplication off.

Remove unused (prune)

Drops data nothing references. Named locator nodes and custom metadata are kept.

Draco compression

Compresses geometry heavily. Your engine needs a Draco-capable loader (e.g. DRACOLoader in three.js). Disable it if your pipeline cannot decode Draco — when disabled, the output contains no Draco data even if the input did.

Weld vertices

Merges identical vertices so geometry can compress better. It is opt-in because it changes geometry data.

Simplify geometry
Lossy

Reduces triangle count by the chosen ratio. Always preview the result with Compare before shipping it — aggressive ratios can open small gaps at seams of multi-part meshes.

Join meshes / Flatten nodes
Opt-in

Reduce draw calls by merging meshes and flattening the node tree. These change your model's structure, so they are off by default. Validate names, animations, materials, and application references after enabling them.

Animations

Animations are preserved. Keyframes are losslessly resampled to remove redundant frames, which often shrinks animated models further.

3. Need an API or bulk processing?

There are no API keys — the tool is fully client-side

OptimizeGLB no longer offers a hosted API, so there is nothing to authenticate against and no API keys to request. The compressor runs entirely in your browser.

If you need automated/high-volume processing, a custom optimization pipeline, or a local license to run the optimizer inside your own infrastructure, contact us — we build custom setups. For one-off scripting needs, the open-source gltf-transform CLI (which powers this tool) is a great option.

Questions? Reach out at support@optimizeglb.com