I built MeshCrunch after repeatedly dealing with large 3D assets that were too heavy to ship efficiently in web viewers.
It can simplify meshes, generate LODs, convert formats, and process 3D assets before they reach the browser. The heavier operations run server-side, and the same workflows are also available through a REST API and MCP
You can try the core tools without creating an account: https://meshcrunch.com
I’d especially appreciate feedback from Three.js developers working with large scenes or GLBs particularly around what parts of the asset-optimization workflow are still painful or require custom scripts.
I’d be curious to know how this differs from something like https://gltf-optimizer.simondev.io/ for example?
Also, if this is proprietary, and I assume you don’t just use meshoptimizer under the hood. What does it do? I.e. how does the optimizer work, you allude to retopologizing on your website, but not the method.
You mentioned LODs and triangle counts, what about textures? Are UVs, normals and tangents handled?
Looks like an interesting tool potentially!
Is this an optimizer that permanently makes meshes smaller?
Or does it compress meshes so that they can be loaded quickly?
If so, is the mesh decompressed when the reach the user?
Hello,
Thank you for the questions, apologies for the delay in response I was down with the flu for weeks.
MeshCrunch does use meshoptimizer, the service is proprietary, but the underlying geometry algorithms are not secret. The differentiation is in the surrounding pipeline: fidelity measurement, appearance preservation, LOD generation, watertight rebuilding, reporting and API workflows.
Normal simplification is attribute aware triangle decimation, performed separately per material primitive. UVs, vertex colours and material boundaries are preserved through a source-vertex map. Normals are recomputed for the simplified topology, while tangents are currently dropped with a warning and can be regenerated by the renderer. Textures are preserved but not resized or recompressed.
“Retopology” is probably too broad a term, and I’ll clarify the site. The separate watertight operation uses CGAL Alpha Wrap to construct a new closed surface, optionally followed by decimation. That operation cannot retain materials, textures or UVs, although vertex colours can be resampled.
Auto mode tests progressively smaller meshes and keeps the smallest result within a measured deviation tolerance. Each LOD is generated directly from the original, so errors do not accumulate between levels.
SimonDev’s tool is complementary: it focuses on client-side glTF delivery, particularly KTX2 texture compression and GPU memory. MeshCrunch focuses on geometry reduction, LODs, repair, inspection, conversion and reusable server/API workflows.
Texture optimization is the main current gap in MeshCrunch.I will implement it next now that I am recovered.
Thanks again.
It can do both.
Simplification permanently removes triangles, so the result remains smaller and cheaper to render. LODs are multiple permanently simplified versions.
Optional Meshopt compression then reduces the GLB’s download size. That data is decoded during loading, but the reduced triangle count remains.
In short: simplification reduces runtime geometry and compression reduces transfer size.
Apologies for the delay in response, I was ill.

