A PRACTICAL START
How to optimize a GLB with gltfpack
Start with a conservative pass, then change one setting at a time. Keep the original model so you can compare and go back.
1. Bring a self-contained model
Choose one GLB with embedded geometry and textures, up to 50 MB. Separate .gltf, .bin and image files are not accepted here. Selecting a file opens a local browser preview; processing starts on the server only when you click Optimize model.
2. Choose a starting point
The Conservative preset keeps the original texture format without requesting triangle reduction or Meshopt compression. The Smaller file preset adds high Meshopt compression. Both preserve named nodes, named materials and extras by default. Neither preset is lossless.
The conservative preset currently produces this local command:
gltfpack -i input.glb -o output.glb -kn -km -keThe Smaller file preset adds -cc. Use a matching native gltfpack 1.3 binary to reproduce this service's output.
3. Adjust the biggest contributor
For geometry-heavy files, lower the triangle target gradually and inspect silhouettes and thin parts. The target is a simplification goal, not an exact final count. For texture-heavy files, choose KTX2 or WebP to enable texture quality and maximum dimensions. A smaller dimension can have more visible impact than a geometry change.
Check viewer compatibility before enabling compression or changing texture format.
Adjust geometry precision
In Advanced settings, choose 1–16 bits for positions, texture coordinates, normals and vertex colors. Higher values preserve finer detail but can increase file size. Start with the defaults and inspect silhouettes, UV seams and shading. Selecting Disable geometry quantization adds -noq and overrides these bit settings. Simplification, texture conversion and other optimization still apply.
Animation sampling rate
The sampling rate affects animations only. Lower rates may reduce file size but make motion less smooth. Select Do not resample to preserve source timing. Other animation optimization still applies.
4. Compare and download
Switch between Original and Optimized, inspect the model from several angles, and check size and triangle counts. Counts sum each mesh primitive once, rather than every scene instance. Also test animations, materials and application behavior in your destination viewer.
Download before the result expires, 60 minutes after upload. The result panel includes the equivalent command for your exact settings. Larger output can be a valid result; try a different setting or keep the original.
When to use the local engine
Run gltfpack locally when your asset exceeds this service's limits, needs options outside this interface, or must stay on your device. Native gltfpack accepts more input formats than this site's single-GLB workflow. Installation and all options: official gltfpack documentation
GLB polygon reduction with gltfpack →
GLB texture compression: KTX2 and WebP →
Animated GLB optimization: a CesiumMan case study →
Open the optimizer ↗