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.
Processed locally — nothing was uploaded.
Planned operations
Operations
Unresolved problems
None — every targeted problem was resolved.
Hole-fill details
Repairing many files? Batch repair is planned for Pro.
Before / after
| Measure | Before | After |
|---|---|---|
| Watertight verdict | ||
| Triangles | ||
| Unique vertices | ||
| Shells | ||
| Boundary edges | ||
| Non-manifold edges | ||
| Winding conflicts | ||
| Self-intersections |
Batch processing is a Pro capability.
Pro batch tools are being prepared. Purchasing is not available yet.
Drag files here, or click to browse
STL files only, same limits as single-file repair.
Manage presets
Review the plan before anything is changed
- Detected issues
- Planned operations
- Skipped operations
- Eligibility
- Warnings
How to repair an STL file
- Select an STL file using the picker above (or drag one in once you're on the page).
- MeshWrench analyzes the file locally and shows the detected problems.
- Choose a repair mode — Safe (default), Standard, or Custom — and review the exact planned operations.
- Run the repair. MeshWrench re-parses and re-verifies its own output before showing a result.
- 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
- "Mesh is not manifold" / "not watertight": hole filling and winding correction target exactly this.
- Inverted normals / model renders inside-out: outward orientation and winding correction.
- Duplicate or overlapping faces: duplicate-face removal.
- Small gaps or seams: Standard mode's tolerance-based welding.
- Stray tiny fragments: optional small-shell removal.
What automatic repair cannot safely do
- It cannot resolve arbitrary non-manifold topology — only the deterministic cases already covered by duplicate/degenerate cleanup elsewhere in the pipeline. Genuinely ambiguous non-manifold edges are reported, never forced closed by deleting geometry.
- It cannot resolve self-intersecting geometry — self-intersections are detected and disclosed, never claimed as fixed.
- It cannot guarantee printability, wall thickness, physical scale or fitness for any specific printer.
- It never promises every STL can be repaired — some files are honestly reported "improved" or "unable to repair safely," never force-labelled as fixed.
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.
Explore free tools