Repair a 3D model

Weld split vertices, drop degenerate faces and stray islands, fill holes, flip inverted normals.

What actually breaks

A model that renders fine can still be broken in ways that only surface later — when you try to unwrap it, boolean it, 3D-print it, or bake light into it. The usual suspects are all here: vertices split into duplicates at every UV seam, triangles with zero area, disconnected specks of geometry floating inside the mesh, holes where surfaces failed to close, and normals pointing inward on a handful of faces so the model looks inside-out from one angle.

AI generators produce all five, routinely, and none of them are visible in the preview render they hand you.

What each fix does

Weld duplicate vertices collapses vertices that sit at the same position, so the mesh becomes connected topology instead of a pile of loose triangles. Nearly every downstream operation depends on this.

Drop degenerate faces removes triangles with no area — they contribute nothing and make solvers divide by zero.

Remove stray islands deletes disconnected components under 50 triangles: the specks, shards and interior fragments that AI generators leave behind.

Fill holes finds open boundary loops and closes them with a fan. Essential if the model is headed for a 3D printer.

Flip inverted normals detects meshes whose faces are wound the wrong way and turns them around.

It works on rigged models

Most repair tools refuse to touch a skinned mesh, and for a good reason: welding vertices that carry different bone weights averages them, and a rig deformed subtly wrong is worse than a rig with a few stray triangles. That matters here more than usual, because a model out of Meshy or Tripo is typically one rigged mesh — skip it and you have skipped the whole file.

So the weld is keyed on every attribute a vertex carries, bone indices and weights included. Two vertices are merged only when they are interchangeable in all of them. And no pass here ever moves or deletes a vertex — each one rewrites the index buffer, so anything addressed by vertex index (skin weights, morph targets) stays exactly where it was.

How to use it

  1. Drop your .glb, .gltf or .fbx into the box above.
  2. Leave every fix on for a first pass — all of them are safe on a rigged mesh.
  3. Press Repair. The report tells you exactly what was found and changed.
  4. Download the cleaned GLB.

Questions

It says nothing was fixed. Is that a bug?

No — it means the model was already clean. The tool reports honestly rather than inventing work, and the file you download is unchanged.

Can it repair a model for 3D printing?

It will weld the mesh and close its holes, which is most of what a printer needs. For the print-specific checks (watertightness, wall thickness), open the model in the editor and use the STL export, which reports on those directly.

Is it safe on a rigged character?

Yes. Vertices are only welded when they match in every attribute including their bone indices and weights, so two vertices rigged to different bones are never merged. No pass deletes or moves a vertex either — they all rewrite the index buffer, which leaves skin weights and morph targets addressable exactly as they were.

Does it fix non-manifold edges?

The welding pass fixes the common cases. For the aggressive repair — splitting edges shared by three or more faces — run the model through the UV re-unwrap tool, which rebuilds a manifold topology as part of its job.

The other tools