100% client-side — files never leave your device

How to Reduce a 3D Model’s Polygon Count

You export a part from CAD at fine tessellation, drop it into a web viewer, and the frame rate collapses. The model is 4 million triangles. Almost none of them are earning their place — a flat face needs two triangles no matter how finely it was tessellated.

Where the triangles came from

Before decimating anything, work out why the count is high, because the cheapest fix is often upstream.

  • Tessellation quality on export. Converting STEP or IGES to a mesh requires choosing how finely curved surfaces are approximated. Export at Fine and every fillet becomes hundreds of triangles. Re-exporting at a sensible setting beats decimating a bad mesh — see tessellation quality explained.
  • Scan data. Photogrammetry and 3D scans produce uniformly dense meshes with no regard for geometry, typically millions of triangles. These are the best candidates for decimation.
  • Sculpted models. Multi-million-triangle sculpts are meant to be baked down to a low-poly mesh plus a normal map, not shipped raw.
  • Detail nobody will see. Internal threads, hidden fasteners and the back of a part in a fixed camera view. Deleting geometry beats simplifying it.

What decimation actually does

A simplifier collapses edges, choosing at each step the collapse that changes the surface least — usually by a quadric error metric that measures deviation from the original surface. Flat regions lose triangles first, because merging them changes almost nothing. High-curvature regions keep theirs. That is why a well-implemented decimation to 25% can be visually indistinguishable while a naive one destroys every edge.

What it costs, in the order you will notice:

  • Sharp edges soften. The first visible failure. A crisp chamfer becomes slightly wavy.
  • Small features vanish. Text, knurling, a 1 mm hole — once their triangles are gone the feature is gone. Not recoverable.
  • UVs and vertex colours degrade. Textures stretch across merged triangles. If the model is textured, decimate before you unwrap, or accept re-baking.
  • Watertightness can break. Aggressive simplification opens holes and creates non-manifold edges. Fatal for 3D printing, where the slicer needs a closed solid.
  • Dimensions drift. Every collapsed edge moves the surface slightly. A decimated mesh is not a measurement reference.

How far to go

Target by purpose rather than by a favourite percentage:

  • Web viewer or configurator: aim for tens of thousands of triangles per object. 50–150k total keeps a mid-range phone comfortable.
  • Game asset: whatever the art budget says, with normal maps carrying the detail you removed.
  • 3D printing: decimate cautiously or not at all, and only after checking the mesh is still closed. Print resolution is finer than people assume.
  • Engineering exchange: do not decimate. Send STEP and let the recipient tessellate to their own needs.

Work in steps and look at the result each time. The mesh simplifier runs in the browser and shows the model as you reduce it, which matters because the point at which a specific model breaks is not predictable from the ratio — a scanned bust and a machined bracket fail at completely different reductions. Inspect the outcome in the 3D viewer with flat shading on, since smooth shading is very good at hiding exactly the faceting you are trying to judge.

Also worth doing

Reducing triangles is not the only way to make a model load faster. Choosing the right container helps — glTF/GLB versus OBJ is a large difference in parse time and size for the same geometry — and Draco compression shrinks the geometry stream substantially without removing a single triangle. Do the format work first; it costs nothing in fidelity.

More from the blog