STL Repair

Find out what is actually wrong with your STL, then fix it, in your browser.

Matúš Koleják

Built and maintained by Matúš Koleják, Co-Founder, TechDraw AI

Updated

Drop a file here. It never leaves your browser.

BrokentoPrintable

No sign-up · no upload · no watermark · no file size limit · you see what is wrong before anything is changed

Not an STL? 3MF to STL · OBJ to STL · ZIP to STL

How to repair an STL

1

Add your STL

Drop the STL onto the tool, or click to choose one. It is read in your browser and never uploaded.

2

Read the report

Holes, open edges, flipped faces, inside-out shells, duplicate and zero-area triangles, all counted before anything is changed. Hover a row to see what that fault does to a print.

3

Repair and download

Choose whether to fill holes, close hairline cracks and drop loose fragments, then repair. Compare before and after in the preview and download STL, 3MF or OBJ.

What the repair actually does

The STL is read in your browser and the first thing that happens is welding, because until then the file has no topology to examine: STL writes every corner out once per triangle and never says which triangles touch, so a mesh with a million corners might be a solid or might be a million loose triangles and nothing in the file distinguishes them. Once the corners are welded into shared vertices, every edge can be counted. An edge with one triangle on it is the rim of a hole. An edge with three or more is non-manifold. An edge with two triangles that both run along it the same way means those two disagree about which side is outside, which is what a slicer trips over. From there the repair is a sequence, and the order matters: junk triangles first, because a duplicate or a zero-area face makes a healthy edge look non-manifold; hairline cracks next, since welding a rim shut is better than patching over it; then winding, so the whole surface agrees which way is out; then the holes, so the patches inherit that agreement; and finally whole shells are flipped if their normals turned out to point into the solid, which can only be decided once the shell is closed.

Starting from a photo or a drawing instead of a mesh? That is the image to STL converter, and a 2D outline becomes a solid on the DXF to STL converter.

About formats

STL (from 'stereolithography', though the letters are also read as 'Standard Tessellation Language') was created by Chuck Hull at 3D Systems in 1987 for the first commercial stereolithography machine, and it has outlived nearly everything else from that era. The format describes a shape in the simplest way a shape can be described: as a list of triangles, each one given by three corner points and the direction its outward face points. There is no notion of a curve, so a cylinder is a fan of narrow flats and the smoothness depends entirely on how many triangles were spent on it. There is no colour, no units, no layers, no history and no way to say that two triangles belong to the same feature. That poverty is exactly why it survived: any program can write it and any program can read it, so it became the neutral handoff between modelling and printing. Files come in two flavours, a human readable ASCII form and a compact binary form that stores each triangle in fifty bytes, and the binary one is what practically everything writes today because the ASCII version runs several times larger. The one thing a printer genuinely needs from an STL is that the surface be closed, meaning every edge is shared by exactly two triangles so the solid has a well defined inside; a mesh with gaps leaves the slicer guessing where the material goes. Units are the standard trap, since the file carries none and every slicer simply assumes millimetres.

Developer:
3D Systems
Initial release:
1987

Frequently asked questions

How do I repair an STL file?

Drop the STL onto the tool on this page. It is read and checked in your browser, and you get a count of every fault before anything is changed: holes, open edges, flipped faces, inside-out shells, duplicate and zero-area triangles, non-manifold edges. Choose what to fix, click Repair mesh, then download the result as STL, 3MF or OBJ. Nothing is uploaded and no account is needed.

Is this STL repair tool free?

Yes. Free, no watermark, no file size limit, no account to repair or to download, and no paid tier of this tool to upsell you to.

Is my file uploaded anywhere?

No. The file is opened by code running in your browser tab and never sent to a server, so nothing is stored, logged or scanned. You can disconnect from the internet once the page has loaded and the tool keeps working. For a client's part under NDA that is the difference between usable and not.

What does my slicer mean by 'not manifold' or 'not watertight'?

It means the surface has an edge with a triangle on one side only, so there is a way to get from outside the model to inside it without crossing a wall. A slicer decides where to put plastic by asking whether a point is inside the solid, and that question has no answer across an open edge. The usual symptoms are a model that prints hollow, prints with missing walls, or is refused outright. The Holes and Open edges rows in the report are exactly this.

Why does my model look black or inside out in the slicer?

The normals are pointing the wrong way. Every triangle has a front and a back decided by the order of its corners, and there are two ways for that to go wrong: individual triangles disagreeing with their neighbours, which shows up as black patches, or a whole closed shell being consistently inward, which makes the slicer treat the air around the part as the solid. This tool fixes both, and reports them separately because they are different faults.

Will filling a hole spoil the shape?

It closes it, which is not the same as restoring what was meant to be there. Each rim is patched with a fan of triangles from the rim's own centre. On a small hole, a few triangles missing off a flat face, the patch is indistinguishable from the original. On a large opening it will look like a patch, because a tool has no way to know what the missing surface was curving towards. That is why the report shows how many holes there were and how big, and why very large rims are left open rather than covered over: a hole that big is usually a missing surface, and hiding it hides the real problem.

What is a hairline crack and why is that an option?

Two surfaces that should share an edge but whose vertices sit a fraction of a micron apart, usually from an export that rounded coordinates independently on each side. The mesh looks closed and is not. Merging those vertices closes it. It is optional and it is applied only to vertices already sitting on an open edge, never to the interior, so a legitimately dense mesh is never thinned and two genuinely separate surfaces that happen to pass close together are left alone.

Does it fix self-intersections?

No, and the page says so rather than quietly not doing it. Finding every pair of triangles that pass through each other needs a spatial index, and then resolving them needs a boolean re-mesh that can change the model in ways you did not ask for. Most slicers already cope with self-intersections through their own winding rules, so it is far less often the actual cause of a failed slice than an open edge is.

Will it reduce the triangle count or smooth the mesh?

No. Nothing is decimated, smoothed or remeshed. The triangles you brought are the triangles you get back, minus the ones that were provably junk and plus the ones added to close a hole you asked to close. The report shows the before and after count so you can see exactly what changed.

My model is 25.4 times too small. Can this fix it?

That is not a repair, it is a unit problem, and the mesh is almost certainly correct. STL carries no unit at all, so a file authored in inches is read as millimetres by every slicer. Scale it in the slicer, or keep the model as a 3MF, which does declare its unit.

Is there a file size limit?

None imposed by the tool. The practical limit is your own machine's memory, since the file is held in the browser tab. Half a million triangles is repaired in about a second on a desktop. Nothing is queued or throttled, because there is no server involved to queue it.

All 3D file tools

Need a flat outline instead?

Starting from a drawing or a photo?