1. Home
  2. WP 3D CONFIGURATOR
  3. Create Your 3D Configurat...
  4. GLB File Optimization Guide

GLB File Optimization Guide

A step-by-step guide to reduce your 3D model file size for use in the web configurator.

Target size: Under 5MB
Ideal size: 1–3MB

Why File Size Matters

Large GLB files cause slow loading times, poor performance on mobile devices, and a bad customer experience. The most common causes of oversized files are:

  • High-resolution textures (4096×4096 or 2048×2048)
  • Uncompressed geometry
  • Unused data (animations, shape keys, armatures)

Step 1 – Clean Up in Blender

Before exporting, clean your scene to remove unnecessary data.

Remove unused objects
  • Delete any hidden objects, lights, or cameras that are not part of the product
  • Remove internal geometry that customers will never see
Resize textures

Large textures are the #1 cause of bloated GLB files. Resize them inside Blender before export.

  1. Open the UV Editor or Image Editor
  2. Select a texture
  3. Go to Image → Scale Image
  4. Set width and height to 512×512 (recommended) or 1024×1024 for hero detail textures
  5. Repeat for all textures in the scene
Remove unused data

In the Properties panel, disable or remove:

  • Shape Keys – only needed for facial animation or morphing
  • Armature / Skinning – only needed for rigged characters
  • Animations – not needed for product configurators

Step 2 – Export from Blender with Correct Settings

Go to File → Export → glTF 2.0 and configure the right panel as follows:

Format
SettingValue
FormatglTF Binary (.glb)
Include
SettingValue
Selected Objects✅ (recommended – export only your product)
Transform
SettingValue
+Y Up
Mesh
SettingValue
Apply Modifiers
UVs
Normals
Tangents
Loose Edges / Points
Material
SettingValue
ImagesJPEG Format (.jpg)
Image Quality75
Create WebP
WebP Fallback
Shape Keys
SettingValue
Shape Keys
Skinning / Armature / Animation
SettingValue
Skinning
Animation
Compression ⚠️ Most Important
SettingValue
CompressionEnable this

Draco compression alone can reduce geometry size by 30–50%.

Click Export glTF 2.0.

Step 3 – Further Optimize with gltf-transform (Recommended)

The gltf-transform CLI tool handles texture conversion and resizing after export, giving the best final results.

Install Node.js

Download and install from nodejs.org – choose the LTS version.

Install gltf-transform

Open Command Prompt (Win + R → type cmd → Enter) and run:

npm install -g @gltf-transform/cli
Open terminal in your GLB folder
  1. Open the folder containing your GLB file in Windows Explorer
  2. Click the address bar at the top
  3. Type cmd and press Enter
  4. The terminal opens already pointing to that folder
Run optimization

Inspect first – see what’s taking up space:

gltf-transform inspect yourfile.glb

Look at the resolution and size columns in the texture table. Any texture at 2048×2048 or 4096×4096 needs to be resized.

Resize and convert textures:

gltf-transform resize --width 512 --height 512 yourfile.glb resized.glb
gltf-transform webp resized.glb output.glb

Or do everything in one command:

gltf-transform optimize yourfile.glb output.glb --texture-compress webp --texture-size 512

Your optimized file will be saved as output.glb. The original file is not modified.

Expected Results

StageTypical Size
Original (unoptimized)50–100 MB
After Draco compression15–25 MB
After texture resize to 512 + WebP2–5 MB
Texture Resolution Reference
Texture TypeRecommended Size
Base Color (diffuse)512×512
Normal Map512×512
Roughness / Metallic512×512
Ambient Occlusion512×512
Emissive512×512

If your product has very fine surface detail that looks blurry at 512, use 1024×1024 only for that specific texture.

Troubleshooting

Model looks blurry after optimization
Textures may have been resized too aggressively. Re-export from Blender using 1024×1024 instead of 512 for the base color texture.

Compression option not visible in Blender export
Update Blender to version 3.3 or later. Draco compression requires a recent version.

File is still over 5MB after optimization
Run gltf-transform inspect output.glb and check for any remaining 1024+ textures. Also check if multiple texture sets (materials) are sharing the same high-res image – consider whether all materials need their own unique texture.

How can we help?