mesh-optimization

Reduce polygon count and compress 3D meshes for the web — GLB, glTF, or STL — with everything running locally in your browser.

On-device glTF Transform meshoptimizer

WebAssembly

1. Upload

GLB, glTF (embedded), or STL. Drag & drop or browse. Nothing is uploaded to a server.

What this tool does

It takes a 3D model, runs a mesh simplification pass (fewer triangles within a surface error you control), then packs the result as a compressed glTF binary (.glb) suitable for websites and WebGL viewers. STL uploads are converted through the same pipeline. Nothing is uploaded to a server — decoding and optimization use WebAssembly on your machine.

How the pipeline works (browser)

  1. Input is read as glTF or converted from STL into a minimal glTF document (positions, indices, default material).
  2. glTF Transform runs dedup, weld, MeshoptSimplifier simplify, then meshopt buffer compression, and prunes unused data.
  3. Preset web-fast targets a moderate reduction with medium meshopt; web-small pushes stronger simplification and high meshopt. (Smallest possible transfers with KHR_draco_mesh_compression require the Node CLI — Draco encoding is not available in this web build.)

Also in the repo

The mesh-optimize command-line tool adds OBJ simplification (Fast Quadric) and optional Draco for glTF. See the project on GitHub for install and presets.