100% local processing — your files never leave your computer

STL Repair

Repair an STL file's holes, inconsistent winding, inverted normals, duplicate faces and safely-fixable non-manifold edges — locally in your browser, with every repair verified against its own output.

Your STL stays on this device. MeshWrench repairs it locally in your browser.

Binary or ASCII STL, up to 150 MB. This limit protects your browser from freezing — it isn't a Pro restriction.

Waiting for a file

Interactive 3D preview of the original and repaired model, with issue overlays. Drag to rotate, scroll to zoom.

Issue overlays
Repair mode
Custom operations

How to repair an STL file

  1. Select an STL file using the picker above (or drag one in once you're on the page).
  2. MeshWrench analyzes the file locally and shows the detected problems.
  3. Choose a repair mode — Safe (default), Standard, or Custom — and review the exact planned operations.
  4. Run the repair. MeshWrench re-parses and re-verifies its own output before showing a result.
  5. Compare before and after, then download the repaired STL and/or a JSON repair report.

Repair operations explained

Exact vertex canonicalization
Always applied — identical vertex positions (bit-exact float32) are treated as one vertex, consistent with how every MeshWrench tool reads topology.
Tolerance-based welding (opt-in)
Merges vertices within an explicit, displayed distance in model units. Never labelled millimeters — STL has no declared unit.
Degenerate/duplicate removal
Removes triangles with a repeated vertex, zero/near-zero area, or exact duplicate geometry.
Winding correction
Flips only the specific triangles a shell's own orientation analysis says are inconsistent — never a guess.
Outward orientation
Reverses a closed, consistently-wound shell whose signed volume says it's inward-facing.
Hole filling
Triangulates only simple closed boundary loops that pass size, planarity and self-intersection safety checks.
Small-shell removal (opt-in)
Never on by default — you choose the threshold, and MeshWrench never assumes the largest shell is the "real" one.

What "watertight" means here

This tool uses the exact same strict watertight policy as MeshWrench's own STL Checker: zero boundary edges, zero non-manifold edges, zero winding conflicts, zero duplicate faces, and a completed self-intersection check that finds none. "Fully repaired" is only ever reported when the ACTUAL repaired output file, re-parsed with the production STL parser, verifies clean against this exact policy.

Common slicer errors this tool can fix

What automatic repair cannot safely do

Related tools

Already know what's wrong? STL Checker and STL Validator run the exact same diagnostics this repair tool starts from, without modifying anything. STL Viewer lets you inspect a file with no analysis at all.

Frequently asked questions

Is my STL file uploaded when I repair it here?

No. Repair runs entirely inside your browser, in a background Web Worker. Your file's bytes never cross the network — check your browser's network tab while a file loads to confirm this yourself.

Can every STL file be repaired automatically?

No, and this tool never claims otherwise. Some problems — like a genuinely non-manifold edge with no safe deterministic fix, or an existing self-intersection — are detected and reported honestly, never forced closed by deleting geometry arbitrarily.

What's the difference between Safe and Standard mode?

Safe mode never changes vertex positions — it only removes exact degenerates/duplicates, corrects winding, orients closed shells outward, and fills simple holes. Standard mode adds tolerance-based vertex welding (with a clearly displayed tolerance) to close small seams and gaps.

How do I know a repair actually worked?

Every repair re-parses its own output file with the same production STL parser and re-runs the full diagnostics pipeline on it — a "fully repaired" result is never claimed from the repair operations alone, only from verifying the actual output bytes.

Does this tool weld vertices by default?

No. Exact vertex matching (never a distance tolerance) is always used in Safe mode. Tolerance-based welding is opt-in — part of Standard mode, or a Custom-mode toggle — and the exact tolerance in model units is always shown before you run it.

What happens to problems this tool can't fix?

They're listed explicitly as unresolved, with a reason. The repaired file may legitimately still have some issues — this is disclosed in both the on-page result and the downloadable JSON report.