At our shop, customers send STL files over Zalo and ask “can you print this right away?” every day. Most files print fine. But every few files, one opens up looking odd: the slicer shows yellow warnings, a layer is missing a chunk, or a 20 cm model suddenly shrinks to the size of a bean. These problems almost never come from the printer. They come from the file itself.
This post collects the STL file errors 3D printing technicians run into most, explains why they happen, and shows how to fix them with free or already-installed software. At the end there is a short checklist you can use to check your file before sending it for printing. If you are not sure how STL differs from a CAD file, read how STL files and CAD files differ first, because once you understand the triangle mesh, fixing errors gets much easier.

Why do STL files break so often?
An STL file does not store curves. It only stores a pile of small triangles joined into a surface. When you export from SolidWorks, Fusion 360 or Rhino, the software has to “chop” smooth curved faces into triangles. Formlabs uses a comparison that is easy to remember: converting to a mesh is like smashing a flat mirror and gluing the pieces back to look like the original. Glue it carefully and nobody notices. Glue it badly and you get gaps, overlapping pieces and pieces flipped upside down.
There are three main sources of errors that I see most:
The first is files downloaded from the internet. Prusa Research states plainly in its documentation that many 3D models online are broken in one way or another. Someone modeling for a nice render does not need a closed file, but a printer does.
The second is 3D scan files. Scan data always has spots the scanner cannot see, such as deep slots, the bottom face or shadowed areas. The result is a mesh full of small holes. You can read more about handling this data in 3D scanning and scan data processing.
The third is files built in graphics software such as Blender, ZBrush or SketchUp. Modelers often stack several bodies together without merging them (Boolean), or use zero-thickness planes for leaves and thin wings.
Error 1: Non-manifold, the file is not watertight
This is the most common error and also the most annoying. A printable mesh must be “watertight”, closed like a water balloon with no leaks anywhere.
The Blender documentation explains the rule simply: each edge must connect to exactly 2 faces. If an edge connects to only 1 face, there is a hole. If it connects to 3 or more, it is also invalid. Both cases are called non-manifold edges.
When a file is non-manifold, the slicer cannot tell inside from outside. On the print you see missing layers, stray extrusion paths crossing empty space, or the slicer silently skipping a whole region.
How to fix it: in Blender, enable the 3D Print Toolbox add-on (it ships with Blender, you just turn it on in Preferences). Open the Sidebar, go to the 3D-Print tab and click Check All. The Solid result counts the non-manifold edges. In Edit Mode, click the result to select the problem area, then click Make Manifold under Clean Up. This command tries to fix bad normals, fill holes and remove loose edges and faces.
In Meshmixer, go to Analysis and choose Inspector. The software places colored flags on each problem spot. You can click each flag to fix it individually or click Auto Repair All.

Error 2: Holes in the surface
A hole is really a type of non-manifold error, but I list it separately because the fix depends on the size of the hole.
Small holes on flat or gently curved surfaces can be filled automatically. Almost any software handles this well.
Large holes in complex curved areas, like a statue’s cheek or a mascot’s shoulder, need care. Automatic filling often produces a flat patch that looks obviously “fake”. In Meshmixer, following the Formlabs guide, select the area around the hole and use Edit, Erase and Fill, then set the type to Smooth MVC for a more seamless patch. Then lightly brush the area with RobustSmooth so the patch blends into its surroundings.
A more “heavy-handed” option is Make Solid in Meshmixer. It rebuilds the whole model as one solid, closed body. Prusa says this almost always works, but you lose resolution. For assembly parts that need accurate dimensions, I do not recommend Make Solid because sharp edges get rounded.
Error 3: Flipped normals
Each triangle has a direction called a normal, which shows which side faces outward. When some triangles are flipped, the software mistakes them for inside faces. Blender calls this Bad Contiguous edges: when the normal of one face points the opposite way from its neighbors.
An easy sign: open the file in the slicer and you see odd dark or red patches, or when slicing, that area is treated as empty.
The fastest fix in Blender: go to Edit Mode, select all (A), then Mesh, Normals, Recalculate Outside (Shift + N). For small files, Microsoft 3D Builder also fixes normals automatically when you click the error message as the file opens.

Error 4: Overlapping faces, intersecting bodies, floating pieces
This error is common in files built from several bodies. For example, the designer makes a robot body, then places the arms and head on it, but never merges them. The result is several shells passing through each other. Some files also have triangles floating outside the object, or duplicate faces stacked exactly on top of each other.
Blender has an Intersections check for intersecting faces, and its documentation admits that some slicers handle this on their own, so fixing it is not always required. Still, for SLA resin printers or MJF powder printers, I recommend merging everything cleanly, because industrial print preparation software is usually stricter.
In Meshmixer, the workflow Formlabs describes is: Edit, Separate Shells to split the bodies, open the Object Browser, select each pair and click Boolean Union. If the Boolean shows red, it failed. Try increasing Search Depth, lowering Target Edge Scale, or moving one body a few hundredths of a millimeter and merging again. The small-nudge trick sounds silly but it often works.
Floating pieces are simple: Meshmixer’s Auto Repair All removes them. MeshLab has a Split in Connected Components command to separate them so you can inspect and delete the extras.
Degenerate faces, meaning triangles with zero area or zero-length edges, are detected by Blender under Degenerate and fixed with Merge, By Distance.
Error 5: Walls that are too thin
This error does not make the slicer show red, but it ruins more prints than any other. The model is fully closed, the normals are all correct, but somewhere the wall is 0.3 mm thick. An FDM printer with a 0.4 mm nozzle cannot extrude a line thinner than the nozzle. The slicer skips that area, and you get a leaf with holes or a ridge that disappears.
Blender has a Thickness check that marks faces forming shapes too thin for the slicer to pick up, and an Edge Sharp check for sharp edges that cause the same thinness.
How thick is thick enough depends on the printing technology. I will not repeat the details here, since the post designing for 3D printing with DfAM principles covers them for FDM, SLA, MJF and SLM. The key point when fixing a file: thin walls must be thickened in software (Meshmixer has Edit, Offset or Extrude; Blender has the Solidify modifier). No “auto repair” button can do this for you. For zero-thickness surfaces like leaves, flags and hair, Solidify is the quickest route.
To learn more about the tolerances each technology actually achieves, see 3D printing accuracy and tolerances at CT3D Group.

Error 6: Wrong units, the model is 25 times too big or as small as a grain of rice
STL does not store units. It only stores numbers. Software reading the file assumes millimeters. If the designer worked in inches, a 4 inch part (about 101.6 mm) opens as 4 mm. The other way around, someone working in meters in architecture software exports 1.2, which becomes 1.2 mm instead of 1.2 m.
The sign is a size that is off by a round factor: 25.4 times (inches to mm), 10 times (cm), 1000 times (m). When you see a ratio like that, it is almost certainly a unit error and not a design mistake.
How to fix it: in PrusaSlicer or Bambu Studio, when you open a file that is too small, the software usually asks whether to read it as inches. Click yes and you are done. If there is no prompt, scale it manually by the correct factor. In Blender, the Transform section of 3D Print Toolbox has Scale To Bounds, which lets you set the largest axis to exactly the size you need.
A small tip: when you send a file for printing, include one overall dimension (for example “180 mm tall”). The technician can tell at a glance whether the units are off.

Error 7: Mesh too dense, a file of several hundred MB
3D scan files or sculpts from ZBrush can contain millions of triangles. They look smooth, but the file weighs 300 to 500 MB, opens slowly, freezes the slicer and takes all morning to send. Meanwhile the printer, especially FDM, cannot reproduce detail finer than its own resolution.
The fix is to reduce the triangle count (decimate) while keeping the shape. Formlabs recommends the Quadratic Edge Collapse Decimation command in MeshLab, which has a Planar Simplification option to preserve flat faces well. Blender has the Decimate modifier. Meshmixer has Reduce.
Formlabs also recommends saving STL as Binary instead of ASCII because the file is much smaller. This option is available on export in most CAD software, and many people overlook it.
Which software should you use to fix STL files?
No single program fixes every file. Prusa admits it too: sometimes one method works, sometimes another, depending on the model. Here is how I choose at the shop.
Microsoft 3D Builder is the easiest choice if you use Windows. Open the file, and if there is an error the software shows a message. Click it and it repairs the file. Good for non-experts and simple files. Prusa calls it a very easy tool, but it only runs on Windows.
PrusaSlicer repairs models at a basic level on import. On Windows it also offers “Fix by Netfabb” when you right-click the warning icon next to the model name. For FDM users, this is usually the first thing to try.
Meshmixer ranks first in Formlabs’ comparison, because it is easy to use yet has enough commands for complex errors: Inspector, Make Solid, Bridge, Remesh, Boolean. It is free and suits people making art pieces, figures and statues.
Blender with 3D Print Toolbox is powerful and free, but the interface is hard for beginners. It suits anyone already comfortable modeling in Blender.
Netfabb and Materialise Magics are tools for engineers, with wall thickness analysis, hollowing and part nesting in the build chamber. Magics is paid software used widely in industrial 3D printing. Formlabs also notes that its PreForm software includes Netfabb’s automatic repair.
MeshLab is lightweight and strong at processing scan data and reducing meshes, but its repair tools are limited and it has no Undo button. Formlabs reminds users to save after every important step, or a mistake means importing again from scratch.

Step-by-step STL repair workflow
The order matters more than you might think. Doing things in the wrong order can make one fix create another error. I based this on the workflow Formlabs describes and trimmed it down shop-floor style:
- Run auto repair first to clear up the minor errors.
- Separate and merge shells: delete floating pieces, merge intersecting bodies with Boolean.
- Fill holes and close gaps. Fill large holes in curved areas by hand.
- Fix overlapping faces, intersecting faces, duplicate faces, duplicate vertices and flipped normals.
- Check wall thickness and thicken thin spots.
- Reduce the mesh if the file is too heavy.
- Check dimensions and units again.
- Export STL as Binary, or 3MF if you want to keep extra information.
After step 8, open the file again in a different program (for example, if you repaired it in Meshmixer, check it in the slicer). Two sets of “eyes” catch errors that one program misses.

5-minute checklist before sending a file for printing
If you do not want to learn file repair, just do these five things before sending your file to a print shop:
- Open the file in a slicer or 3D Builder and see if there are any error warnings.
- Measure the overall size and compare it with the size you want.
- Rotate the model and look for any spot as thin as paper.
- If there are several mating parts, export each part as a separate file with a clear name.
- Note the technology you want (FDM, resin, nylon) and the purpose (display, test fit, master pattern for a mold).
The last point sounds simple but it matters a lot. With the same file, small holes can be ignored for a display piece. But for a master pattern for a silicone mold, every pinhole will be copied onto every part cast from it. If you need to choose a technology, the post comparing SLA, FDM, SLS and SLM 3D printing will help you decide quickly.
When should you ask someone else to fix it?
Some files just will not get fixed. Usually these are scans with hundreds of holes, sculpts with tangled intersections, or files that need precise fit dimensions adjusted. In that case, instead of patching the mesh, the right approach is to rebuild the CAD model from the old data. This is reverse engineering. If the original part is broken or worn, read reverse engineering broken and worn parts in Chuyen Tao Mau’s new series.
For people ordering prints, many shops check files for free before quoting. CT3D’s technical team does this too: we take the file, check it, report any errors and, if needed, offer custom 3D design or rebuild the file from a physical sample. You can see the full list of printing technologies at CT3D Group’s 3D printing services, or read custom 3D printing in Ho Chi Minh City.

After printing, a part still needs sanding, priming and painting to look good. I cover this in a separate post, post-processing 3D prints. For large resin parts, see our large-format SLA 3D printing service.
Frequently asked questions
If the slicer shows no errors, is the file definitely fine?
Not necessarily. Today’s slicers are fairly “forgiving” and quietly fix many errors. But they do not warn you about thin walls or wrong units. Always look at the layer preview before printing, and drag the layer slider up and down to find missing areas.
Should I use Make Solid in Meshmixer?
It works for statues, figures and display models because it almost always produces a closed body. Do not use it for mechanical parts, because the command rebuilds the mesh, which softens sharp edges and slightly shifts dimensions.
My file is 400 MB. Do I need to reduce it?
Yes. For most prints, reducing it to a few tens of MB loses no visible detail. Remember to keep a copy of the original before decimating, in case you need it later.
Should I send STL or STEP to the print shop?
If you only need a print, STL or 3MF is enough. If you might need to adjust dimensions, drill holes or change the structure, send a STEP file too. The shop can edit a STEP file far more accurately and quickly than patching a mesh.
Can a 3D scan file be printed directly?
Yes, if the file has been processed to be closed and clean. Raw scans almost always have holes, so they need a data processing step first. If you scan shiny or transparent objects, there are even more errors. See 3D scanning shiny, transparent and black objects.
If you need a file checked before printing, a broken file repaired, or a model rebuilt from a physical sample, contact CT3D via hotline/Zalo 0975 008 728. Send your file with the target size and intended use for a quick quote.
References
- Blender Foundation, 3D Print Toolbox, Blender 4.1 Manual: https://docs.blender.org/manual/en/4.1/addons/mesh/3d_print_toolbox.html
- Formlabs, How to Repair STL Files for 3D Printing With the 5 Best (Free) STL Repair Tools (2023): https://formlabs.com/blog/best-stl-file-repair-software-tools/
- Prusa Research, Corrupted 3D models for printing, Prusa Knowledge Base: https://help.prusa3d.com/article/corrupted-3d-models-for-printing_2205