STL file won't print? How to fix it before you upload
If a 3D printing service rejects your STL or your slicer chokes on it, the file usually has one of five common problems. Here's how to spot them and fix them yourself in 10 minutes with free tools — no CAD experience needed.
An STL file that "won't print" is rarely a printer problem — it's almost always a file problem. The good news: the five common causes are all fixable for free in under 10 minutes, even if you've never opened a CAD tool. Here's the workshop checklist.
Symptom: where you've hit the wall
You're trying to print an STL and one of these is happening:
- A print service's instant-price tool rejects the file
- Your own slicer (Cura, OrcaSlicer, PrusaSlicer, Bambu Studio) shows missing surfaces or weird shading
- The print actually starts but comes out wrong — holes in walls, missing top layers, parts that should be solid that aren't
- The file is "too big" to upload (over 50 MB)
These all trace back to one of the five issues below. Work through them in order.
1. Non-manifold geometry (the most common cause)
A 3D printable model has to be watertight — every surface must be a closed shell with a clear inside and outside. A non-manifold mesh has gaps, T-junctions, or duplicated faces, and the slicer can't decide which side is "in".
How to tell: open the STL in your slicer. If parts of the model are see-through, two-toned, or shaded weirdly, that's non-manifold geometry being highlighted.
How to fix it (free):
- MeshMixer (free download from Autodesk) — Analysis → Inspector. Click "Auto Repair All". Done in 30 seconds for most files.
- Blender (also free) — import the STL, select all in edit mode, Mesh → Clean Up → Merge by Distance then Mesh → Clean Up → Make Watertight (in newer versions).
- Microsoft 3D Builder (Windows, free) — opens an STL and offers a "Repair" prompt automatically if it spots problems.
Save the repaired file under a new name so you don't lose the original.
2. Wrong scale (often invisible until too late)
STL files don't carry units. If your CAD tool exports in inches and the slicer assumes millimetres, your "100 mm" part arrives at 2540 mm. Or you slice a part that should be a coin and it's a fingernail.
How to tell: open the STL and look at the bounding box reported by the slicer. Does the size look right?
How to fix it:
- In your slicer: select the model, right-click → Scale, enter the correct dimensions or scale by 25.4 (for inch-to-mm) or 0.0394 (for mm-to-inch).
- Better: re-export from your CAD tool and explicitly choose millimetres as the export unit. Most printers and pricing tools assume mm.
3. Hollow models that should be solid (or vice versa)
A common slip: a model from a CAD tool exports with surfaces only, no enclosed volumes. The slicer treats every surface as paper-thin, so what looks like a 50g cube prints as a 5g shell.
How to tell: the print weight estimate from your slicer or pricing tool is far smaller than you'd expect for the size. A 100 mm cube in PLA at 20% infill should be roughly 250-300g. If it's quoting 30g, the model isn't sealed.
How to fix it:
- Re-export from CAD with "Export as solid" or "Export with closed shell" enabled.
- Or run the file through MeshMixer's "Make Solid" tool, which fills enclosed regions automatically.
4. File too large (over 50 MB)
Print services typically cap uploads at 25-100 MB. STL files exported with very high triangle counts (often the default for sculpted models from ZBrush or Blender) can run into the hundreds of MB.
How to fix it:
- Decimate the mesh. In Blender: Modifiers → Decimate, set ratio to 0.5 (or lower if needed), apply. Halves the triangle count with usually no visible quality loss.
- MeshMixer: Edit → Reduce. Set target triangle count to 200,000 or so. Way smaller, still prints fine.
- Convert STL to binary if you're using ASCII STL — binary is roughly 6× smaller for the same geometry. Most slicers can re-export.
For 3D printing, anything above about 200,000 triangles is overkill — the printer can't resolve detail finer than its layer height anyway. Decimate aggressively and you'll see no difference in the printed part.
5. Multi-part assemblies that should be one file
If your model has six pieces (lid, body, hinge pin, screw, etc.) you can either upload one STL with all six laid out flat, or six separate STL files. Don't upload a single STL where the parts are floating in 3D space at their assembled positions — most slicers will try to print them mid-air.
How to fix it:
- In MeshMixer: Edit → Separate Shells splits a multi-part STL into individual pieces.
- Re-arrange them on a flat plane in your slicer (or in MeshMixer), with sensible spacing.
- Save each part as its own STL, or save the laid-out arrangement as one combined STL.
Quick check before you upload
Three-second sanity check before sending any STL to a print service:
1. Open it in your slicer. Does it sit flat? No floating bits? No see-through walls? 2. What's the volume? Does it match what you expect? 3. What's the bounding box? Does it match real-world size?
If any of those look wrong, fix the file before uploading — it'll save the back-and-forth.
When to give up and ask
If you've tried the above and the file still won't behave, two paths:
- Pay a freelance CAD designer on Fiverr or Upwork £10-£40 to fix it. Cheap and fast.
- Send the file via the contact form with a note about what's going wrong. We'll look at it and either fix it or tell you exactly what's broken so you can rework the model.
Once the file's clean, the Hark Tech instant printing tool will quote it in seconds and you're off.