Repair BenchNew

STL Repair Tool

Drop in a broken STL, OBJ or 3MF – even a large architectural export: see what is wrong, fix holes and flipped normals, merge overlapping parts into one solid, scale it to 1:100 and download a watertight STL for your slicer.

  • Free
  • Large files
  • Files never uploaded

Your file is repaired on this device and never uploaded.

Units & scale

Repair

Only runs when a part crosses itself (common in AI-generated and scanned models). Rounds off detail smaller than about one cell – 120 cells on a 100 mm model ≈ 0.8 mm. More cells = finer but slower.

For architectural exports (SketchUp, Revit…) where walls, floors and windows are single faces: every flat surface becomes a slab this thick, so the building prints instead of falling apart. Ticking it turns “Merge” off – slicers fill the overlapping slabs in seconds; merging a whole building into one solid can take minutes and over 2 GB of memory.

Removes parts smaller than this share of the biggest part’s volume.

Simplify

Sharp edges and corners are kept. The result size in MB is shown under the preview.

Walls

Report only – the model isn’t changed. 1.2 mm ≈ three lines of a 0.4 mm nozzle.

Needs a merged solid. No drain holes are cut.

Split for printing

For models bigger than a bed: cut into pieces, add pins or pegs so they only go together one way, label every piece, and share the pieces out so all printers finish at about the same time.

Printers

Bed X × Y × Z in mm and how many of that machine you have.

Tolerance is added to every hole radius and depth. Joints stay this far inside the cut face, so none breaks through to the outside.

Only on the bottom or on cut faces – never on the outside of the model.

Split: each piece in its own colour, red = cut planes. Before: red = open edges, orange = non-manifold, magenta = flipped, purple = duplicate faces. After: red = walls thinner than the limit. Drag to rotate, scroll to zoom.

The report appears here once you open a file: what is wrong with the mesh before the repair, and what is left after it.

How the STL repair works

  1. Open the file. STL (binary or ASCII), OBJ or 3MF. Large files are read in chunks in a background thread, with a progress bar and a Cancel button, so the page stays responsive even with millions of triangles. You see the triangle count, the number of separate parts and how much memory the model takes.
  2. Read the report. Every check is green, amber or red: watertight or not, open edges and holes, non-manifold edges, flipped normals, inside-out parts, degenerate and duplicate triangles, separate parts, size and volume. Problems are coloured on the model.
  3. Set units and scale. The unit is guessed from the size of the model; pick 1:50 to 1:500, any custom scale, or fit the longest side to a size. Every tolerance is in printed millimetres.
  4. Repair and merge. Corners closer than the weld tolerance are joined, zero-area, duplicate and internal faces removed, faces turned to agree with their neighbours, inside-out parts turned outwards and holes closed. With “Merge overlapping parts” on, every closed part becomes a solid in the manifold geometry engine and they are unioned in batches into one watertight solid.
  5. Simplify, check, download. Optionally reduce the triangle count, see thin walls in red, then download a binary STL named after the scale and size – or every loose part as its own STL in a ZIP.

What it fixes

ProblemWhat you see in the slicerThe fix
Holes / open edgesMissing walls, “open edges” warnings, layers with gapsEach hole is closed with a flat patch of triangles that follows its outline
Hundreds of overlapping partsSlow slicing, walls inside walls, odd infill where parts overlapClosed parts are unioned into one solid; internal faces disappear
Flipped or inconsistent normalsMissing or extra solid areasFaces are re-oriented so neighbours agree, then each part is turned outwards
Inside-out partsA part that slices as empty, or cuts a hole in its neighbourTurned the right way out – real internal cavities are kept
Coincident and duplicate facesNon-manifold edge warnings where two boxes touchDoubles removed; faces shared by two touching solids removed
Wrong unitsA building 1000× too big, a part 25.4× too smallUnits detected; scaled to printed millimetres at 1:50–1:500 or any scale
Too many trianglesA 400 MB file that slices for minutesSimplified to a percentage or count, keeping sharp edges
Walls too thin to printMissing mullions and railingsReported in red, with the thinnest wall found
Too big for the bed“Object outside the plate” – or one printer busy for daysSplit into pinned, labelled pieces that fit your printers, shared out so they finish together

Split big models across several printers

A print shop with a few mid-size printers can still print a large model – a building at 1:50, a sign, a cosplay prop – in one go: split it into pieces that fit, print them at the same time on every machine, and glue them up. Turn on Split for printing:

  1. List your printers. Pick presets (Bambu A1 mini, A1 / P1S / X1C, Ender 3, K1, K1 Max, Prusa MK4, MINI, CORE One, XL …) or type the bed size, and say how many you have. The clearance (5 mm by default) is kept free around every piece.
  2. Check the cuts. The cut planes are drawn on the model. Automatic cuts use the fewest pieces that keep every printer busy and move to thinner sections; or set the number of cuts per axis and drag them.
  3. Pick a joint. Pin holes with printed pins, 1.75 mm filament pins, peg and socket, or magnet pockets – with your tolerance. Labels and matching marks are added on the bottom and cut faces.
  4. Look it over. Toggle Exploded to see every piece with its ID, or pick one piece to look at its joints up close. The table shows which printer prints what, and how long each printer runs.
  5. Download the ZIP. Every piece as an STL named like A1_Ender-3-2.stl, the pins, the parts list and a printable assembly sheet.

Large architectural STL files

Exports from SketchUp, Revit, ArchiCAD and Rhino are rarely printable as they are: they are built from separate objects that overlap, faces are often flipped or missing, and coplanar faces sit on top of each other where two boxes meet. A building at 1:100 also has walls well under a millimetre thick. This tool is made for that: it streams binary STL files of hundreds of megabytes, merges the overlapping objects into one solid, and shows which walls will be too thin at the chosen scale. Practical limits depend on your computer’s memory – see the FAQ.

Private by design

Many online STL fixers upload your model to a server. This one doesn’t: the repair runs in JavaScript and WebAssembly inside your browser, so client buildings, unreleased designs and paid models never leave your computer. There is no account, and no copy is kept anywhere.

Alternatives

Microsoft’s free 3D Builder app has been retired and removed from the Microsoft Store. Your slicer’s built-in repair (Bambu Studio, OrcaSlicer, PrusaSlicer) handles small problems when it imports a file, but it doesn’t merge overlapping parts or scale buildings to an architectural scale. For heavy mesh surgery – re-sculpting scans, thickening surfaces – use Blender’s free 3D-Print Toolbox add-on or Meshmixer.

Fixed the model? Find out what it will cost to print with the print cost calculator.

Frequently asked questions

Is the STL repair tool free?

Yes. Repairing, merging, scaling, simplifying and downloading are free, with no sign-up, no watermark and no limit on how many files you fix. The only limits are your computer’s memory and the file size (see below).

Is my file uploaded anywhere?

No. Your file is read and repaired by your own browser, on your own device, in a background thread. Nothing is sent to a server – the tool keeps working if you go offline after the page has loaded. We only count that a download happened, never the file or its name.

How big a file can it handle?

Binary STL files up to 600 MB (about 12 million triangles), ASCII STL up to 600 MB, and OBJ or 3MF up to 150 MB. The file is read in chunks, so it isn’t held in memory twice. As a guide, on a desktop computer: a 100 MB STL (2 million triangles) opens in about 1–2 seconds and is repaired, merged and thickness-checked in about 8 seconds; a 400 MB STL (8 million triangles) is repaired and checked in about 20 seconds using over 1 GB of memory. The geometry engine that merges parts and verifies the result handles up to 4 million triangles – above that, turn on Simplify and the model is reduced first, then merged (8 million → 1 million triangles takes over a minute). Phones and tablets have far less memory: expect a few hundred thousand to about a million triangles there. If the browser runs out of memory you get a message, not a crash – export with less detail, or in parts.

Can it fix architectural models from SketchUp, Revit or Rhino?

That is what the merge option is for. Architectural exports are usually hundreds of separate boxes and surfaces – walls, slabs, columns, mullions – that overlap each other, with some faces flipped, some missing and some doubled. The tool welds and closes every part it can, turns inside-out parts the right way, removes coincident and internal faces, then unions all the closed parts into one solid with the manifold geometry engine, so the slicer sees one clean shell instead of a pile of overlapping ones. Surfaces with no thickness at all (a glass pane drawn as a single face, terrain as an open sheet) can’t become solid: they are listed, and you choose whether to keep them as separate surfaces or drop them.

What scale should I print a building at?

Pick the unit it was modelled in (the tool guesses metres, centimetres, millimetres or inches from the size) and a scale: 1:100 is typical for a single building on a normal printer bed, 1:200 or 1:500 for a block or a site, 1:50 for details. “Fit the longest side” scales it to a size you type. The final printed size is always shown in millimetres, and the filename says which scale you chose.

Why does it say my walls are too thin?

At 1:100 a 120 mm brick wall becomes 1.2 mm, a 50 mm mullion half a millimetre and a glass balustrade almost nothing. The thickness check casts rays through a sample of the faces and marks in red every place that is thinner than the limit (1.2 mm by default – about three lines of a 0.4 mm nozzle). It only reports: thicken those parts in the CAD model, print at a bigger scale, or accept that they won’t print.

What does Simplify do?

It reduces the number of triangles (to a percentage or an exact count) by collapsing edges where that changes the shape least, and keeps sharp edges and corners. Dense meshes – terrain, scanned facades, smooth curves exported finely – often have far more triangles than a printer can show; halving them makes a smaller file that slices faster. Very strong reductions round off small details, so compare Before / After.

Can it hollow a model?

Yes, as an experimental option: the solid is turned into a fine grid, the inside is offset by the wall thickness you choose and carved out, and the result is checked by the geometry engine. It needs a merged, closed solid, uses a grid of at most 150 cells across, so walls come out within about one cell of the chosen thickness, and it does not cut drain holes – add those yourself for resin printing. For FDM printing, your slicer’s infill setting is usually the better way to save material.

My SketchUp / Revit building falls apart when I repair it. Why?

Architectural exports draw many walls, floors and windows as single faces with no thickness. A repair can close holes, but a face with no thickness can’t become solid – so “Drop open parts” leaves a skeleton. Tick “Thicken surfaces that have no thickness”: every flat surface becomes a slab of the wall thickness you set (1.2 mm prints well with a 0.4 mm nozzle), and the building stays whole. Leave Merge off for big models: the slabs overlap and every slicer fills overlapping parts; merging them into one solid is possible but slow.

What can’t it fix?

It doesn’t rebuild missing detail – a filled hole is closed with a flat patch – and on its own it can’t give thickness to surfaces that have none – “Thicken surfaces” turns those into slabs of the wall thickness you choose. Badly torn 3D scans, or parts that are open on many sides, may not close; the report says exactly what is left. Self-intersections between closed parts are resolved by the merge. A part that crosses itself is found and shown in amber (models up to 1.5 million triangles); “Rebuild parts whose surface crosses itself” rebuilds just that part as one clean solid on a grid sized to it, rounding off detail smaller than one grid cell; a part too thin for its grid is left as it is and named in the report. For heavy mesh surgery, use Blender’s 3D-Print Toolbox or Meshmixer.

Which files can I open?

Binary and ASCII STL, OBJ (polygons are split into triangles) and 3MF, including 3MF files from Bambu Studio, PrusaSlicer and Windows. You download a binary STL in millimetres that every slicer opens – Bambu Studio, PrusaSlicer, OrcaSlicer, Cura.

Why did my model get split into pieces?

Only if you turned on “Split for printing”. Otherwise the repaired STL keeps everything in one file. “Split into separate STLs” is different again: it saves each loose part that is already separate as its own file, for example to print parts in different colours.

Can it split a model that is bigger than my printer?

Yes. Turn on “Split for printing” and list your printers – bed size and how many of each, for example three Ender 3 (220 × 220 × 250) and one K1 Max (300 × 300 × 300). The tool finds the grid of straight cuts with the fewest pieces that still keeps every printer busy, turns pieces 90° (or onto their side, if you allow it) so they fit, moves each cut within a search window to a thinner section so there is less to glue, and shares the pieces out by estimated print time so the printers finish at about the same time. You can also set the number of cuts yourself and drag each cut plane. Every piece is checked watertight, and each one is checked to fit the bed of the printer it is assigned to, with the clearance you set.

How do the pieces line up when I put them together?

Every cut face gets two to four alignment joints, laid out unevenly so the pieces only go together one way. Choose pin holes on both sides with separately printed pins (4 × 16 mm by default; spares included), holes for 1.75 mm filament offcuts, a peg on one piece with a socket in the other, or pockets for 6 × 3 mm, 8 × 3 mm or other magnets. The tolerance (0.2 mm by default) is added to every hole. Joints are kept inside the solid part of the cut face, with a wall all round, so none breaks through to the outside. On thin architectural walls, where a 4 mm pin has no room, that face falls back to 1.75 mm filament pins. A face too small for any joint is listed so you can glue it flat.

How are the pieces labelled?

Each piece gets an ID – row letter from the front, column number from the left and a level number when stacked, such as A1, B2 or A1.2. It is engraved (or raised) on the bottom that sits on the bed, or on a cut face, never on a visible outside face. Next to the joints, both faces carry a matching mark such as A1|A2. The files in the ZIP are named the same way, with the printer: A1_Ender-3-2.stl. You can switch labels off.

What is in the ZIP and the assembly sheet?

One STL per piece, named with its ID and printer, a pins STL when you use printed pins, a parts list (CSV) and the assembly sheet. The sheet is a printable page with a top view of every level and a front view, coloured by printer, the cut positions, which printer prints which piece, the joint type and how many pins you need, and the size, volume and a rough print time of each piece. Print it, or save it as a PDF from the browser.