Skip to main content
Vecaria

GLB Optimizer

Local

Lossless GLB optimizer — dedup, weld, resample and prune, plus a validation report. Optional Meshopt, quantization, simplification. No upload; Pro feature.

Drag files here, or click to browse

Supports GLB

Choose file

Textures are only replaced when re-encoding yields a smaller file; otherwise the original is kept.

Options take effect each time you click the button — change them and click again to regenerate with current settings.

Per-file cap: see the dropzone validation; very large models are bounded by browser memory.

Quantization and texture decoding are memory-heavy — try a small model first. Self-contained .glb only; use the batch queue below for multiple files (batch applies the current options to every file).

Preview first: conversion and download happen only after you click the button above. Files are not uploaded.

The model preview appears here after you drop a file — nothing is downloaded until you click the convert button.

Batch queue

Drag files here, or click to browse

Supports GLB

Choose file

Up to 10 files per run — each file is isolated: one failure doesn't affect the rest; a single success downloads directly. Runs locally in your browser.

What is it? GLB Optimizer performs lossless clean-up on a GLB — dedup, weld, resample, prune — with optional lossy extras: Meshopt compression (EXT_meshopt_compression, includes vertex quantization), vertex quantization (KHR_mesh_quantization), in-pipeline mesh simplification (meshoptimizer, keep-ratio presets) and texture re-encoding.

TL;DR: Trim a GLB without changing how it looks — lossless dedup, weld, resample and prune plus a validation report; Meshopt, quantization, simplification optional.

How to use

  1. Drop or select a .glb file — it is validated and previewed on the page.
  2. Toggle Meshopt compression, vertex quantization, mesh simplification (keep-ratio) or texture re-encoding as needed, then click Convert & download to regenerate with the current settings and save name-optimized.glb.
  3. Review the on-page validation report and export it as JSON or Markdown if needed.

FAQ

Is it truly lossless?

It removes duplicate/unused data and welds coincident vertices; visual geometry is preserved. Meshopt compression, vertex quantization, mesh simplification and texture re-encoding are lossy and off by default.

What does Meshopt compression do here?

It quantizes and reorders vertices, then compresses buffer views (EXT_meshopt_compression) — comparable size to Draco with much faster decode. It absorbs the separate quantization toggle (Meshopt already quantizes), and the output requires a meshopt-capable viewer; the in-page preview decodes it with the bundled decoder.

How does mesh simplification work?

When enabled, every mesh is reduced towards the chosen keep-ratio (75% / 50% / 25% / 5% of triangles) with the meshoptimizer simplifier after weld — lossy: detail and topology are lost, and the success note reports the result. Check the 3D preview before downloading.

Does it change textures?

Not by default. Textures are only re-encoded (WebP/JPEG/PNG with a size cap) if you enable "Optimize embedded textures" — and the original is kept whenever re-encoding would not shrink the file.

Optimize vs Compress vs Simplify?

GLB Optimize = lossless clean-up with optional lossy extras (Meshopt / quantize / simplify / textures); GLB Draco Compress = Draco or Meshopt geometry compression (smallest files, extension support required); Mesh Simplify = standalone triangle reduction.

Is it free?

No — GLB Optimize is a Pro feature; on the Free plan this page shows an upgrade prompt.

Can I optimize a .gltf file?

No — GLB Optimizer takes self-contained .glb only. If you have a .gltf, drop it together with every referenced .bin and texture in GLB Compress: it assembles the set into a self-contained GLB first, and the compression options there cover Meshopt as well.

How much smaller will my file get?

The default pipeline only removes redundancy — duplicate accessors, unwelded vertices, unused resources, resampled keyframes — so the saving depends on how the file was authored. A model that is already clean may barely change, and that is the honest answer: lossless is a guarantee about appearance, not a size target. For a size target, enable Meshopt, quantization or simplification and check the result in the preview.

Will the optimized GLB still open in my viewer?

Yes with the defaults — output stays a plain GLB that requires no extensions. If you enable Meshopt compression the output needs a viewer supporting EXT_meshopt_compression (three.js, model-viewer and Babylon.js do); WebP texture output needs EXT_texture_webp. The in-page preview decodes every option with the bundled decoder so you can check before downloading.

What is in the validation report?

Every run reports PASS or FAIL with an issue list for the GLB, exportable as JSON or Markdown — useful as an acceptance record when you hand a model to a client or a web team. Validation runs on the optimized output, so you see the state you actually ship.

Is my model uploaded anywhere?

No — dedup, weld, resample and every compression option run inside your browser tab; nothing is sent to a server and you can confirm it in your browser's network panel. Models stay on your device and are released when you close the page.

Examples

  • Drop in a .glb — validation and preview run automatically
  • Click Convert & download to optimize with the current settings
  • Export the validation report as JSON/Markdown

Supported formats

GLB

Limitations

  • Lossless by default: dedup, weld, resample and prune never change the visual result.
  • Meshopt compression (EXT_meshopt_compression, includes its own quantization), vertex quantization (KHR_mesh_quantization), mesh simplification and embedded-texture re-encoding are optional, off by default, and lossy.
  • Mesh simplification reduces every mesh towards the keep-ratio (not a guaranteed exact count); results depend on topology.
  • Textures are replaced only when re-encoding is smaller; WebP output requires EXT_texture_webp support.
  • Self-contained .glb only; interactive preview handles one file, the batch queue up to 10 per run (the current options apply to every file).
  • Models that are already clean may see little change.
  • Runs locally in your browser — nothing is uploaded.

Privacy

Privacy first: this tool runs entirely in your browser — your input and files never leave your device, and everything is cleared when you close the page.