Optimization guide
How to reduce GLB file size without ruining the model.
A smaller GLB usually loads faster, previews more smoothly and is easier to share. The goal is not to make the file as small as possible; the goal is to remove weight users will not notice.
Start by checking what is heavy
File size usually comes from three places: textures, geometry and animation data. A model with a modest polygon count can still be huge if it includes several 4K textures. A simple untextured scan can also be huge if it contains millions of triangles.
Before optimizing, open the model and check triangle count, material count, texture dimensions and animation clips. Reducing the wrong part of a model wastes time and can damage quality without producing a smaller file.
1. Reduce texture weight
Textures are often the largest part of a GLB. Resize textures to the display size users actually need. A small product preview usually does not need multiple 4096 pixel maps. Try 2048 or 1024 pixels first, then compare the result in a viewer.
Use modern texture compression when your target platform supports it. Also remove unused texture maps from exported materials instead of carrying roughness, normal or ambient occlusion maps that are not visible.
2. Simplify geometry carefully
Geometry optimization is about reducing vertices and triangles while keeping the silhouette. Flat product surfaces, hidden backsides and dense scanned areas often tolerate reduction. Logos, thin edges and close-up details need more care.
After simplification, inspect the model from the camera angles users will actually see. A reduction that looks fine from far away may create artifacts in a configurator or AR preview.
3. Remove unused scene data
Exported files often contain extra cameras, lights, hidden meshes, empty nodes, duplicate materials or unused animation clips. Removing those items makes the file smaller and easier for a browser viewer to parse.
This step is especially useful when a model comes from a DCC scene rather than a clean export pipeline. A web viewer usually needs the model, materials and animations, not every helper object from the original scene.
4. Choose compression based on support
Mesh compression can significantly reduce transfer size, but the viewer must support the decoder. Draco is common for compressed geometry. Meshopt is often faster to decode in real-time web workflows. The best option depends on the target viewer and how quickly the model must become interactive.
Always test compressed output in the actual viewer, not only in the export tool. A model that validates but takes too long to decode can still feel slow to users.
A safe optimization workflow
- Keep a copy of the original model before optimization.
- Resize large textures first, because that often gives the biggest size reduction.
- Remove unused nodes, materials, images, cameras and lights.
- Simplify geometry only after checking where triangle count is concentrated.
- Apply mesh compression if the target viewer supports it.
- Open the final GLB in a viewer and compare it with the original.
Use the 3D model viewer to inspect the optimized file before publishing it.