3D Printing Tolerances & Clearances: Making Parts That Actually Fit

The first time you print a lid for a printed box, it will not fit. Not because you did anything wrong — because you designed two parts that are the same size and expected one to slide into the other. Physical objects need gaps. This guide covers the practical accuracy you can expect from a desktop FDM printer, why holes always come out smaller than designed, and the clearance numbers that make printed parts slide, snap, or press together the way you intended.

How accurate is a desktop 3D printer, really?

A well-tuned desktop FDM printer typically lands within about ±0.1 to ±0.3 mm of the designed dimension on small and medium parts. That number is the sum of several small errors: belt and motion accuracy, how much the molten plastic spreads when pressed onto the layer below, cooling shrinkage, and how precisely the slicer converts your mesh into toolpaths. Resin (SLA/MSLA) printers do noticeably better — often within ±0.05 mm — which is one of the trade-offs covered in our resin vs FDM comparison.

Two consequences follow. First, dimensions on a single print are not all equally wrong: outside dimensions tend to run slightly large and inside dimensions slightly small, because extruded plastic squishes outward from the toolpath. Second, your printer's error is consistent. Once you measure it, you can design for it — which is the whole game.

Why holes always print undersized

Ask any experienced maker: a 5 mm hole never measures 5 mm. Three effects gang up on interior dimensions:

The practical fixes, in order of preference: design holes 0.2–0.4 mm larger than the pin or screw they must accept; print a quick test piece and measure; or drill/ream the hole to final size afterwards — a printed hole makes an excellent pilot.

Clearance: the gap that makes fits work

Tolerance is how far a printed dimension strays from the design; clearance is the gap you deliberately design between two parts so they fit despite those strays. The right clearance depends on the fit you want:

FitClearance per sideFeels likeUse for
Press / interference fit0.0–0.1 mmNeeds a mallet or firm push; stays putBearings, pins, permanent joins
Snug fit0.1–0.2 mmSlides with friction, no wobbleLids, caps, snap covers
Sliding fit0.2–0.3 mmMoves freely, minimal playDrawers, sliders, hinges
Loose fit0.4–0.5 mmObvious play, never bindsBolt holes, parts printed pre-assembled

These numbers assume a reasonably tuned FDM printer at 0.2 mm layers with a 0.4 mm nozzle — the most common setup. Resin printers can roughly halve them. And remember they are per side: a 10 mm peg in a sliding fit needs a 10.4–10.6 mm hole.

Calibrate once, reuse forever: print a small test — a peg and a plate of holes from 10.0 to 10.6 mm in 0.1 mm steps takes twenty minutes. Whichever hole gives the fit you want tells you your printer's personal clearance number. Write it down; it will hold until you change nozzle, material, or slicer settings.

The usual suspects that ruin a fit

Elephant's foot

The first layer is pressed hard against the bed for adhesion, so it bulges outward, making the bottom 1–2 layers of every part slightly oversized. A peg flares at its base; a hole tightens at its mouth. Fixes: add a small chamfer (0.3–0.5 mm) to bottom edges in the design, or use the slicer's elephant-foot compensation setting, which shrinks the first layer's outline to cancel the bulge.

Orientation

Accuracy is not the same in every direction. Dimensions in the XY plane depend on nozzle squish; dimensions along Z quantise to whole layers (a 5.1 mm feature at 0.2 mm layers becomes 5.0 or 5.2 mm). Vertical holes print rounder and more accurate than horizontal ones, whose top arcs sag slightly as small unsupported overhangs. When a fit matters, orient the critical feature vertically if you can.

First-layer and flow tuning

If everything you print runs consistently fat or thin, the printer itself wants tuning: flow rate (extrusion multiplier) a few percent high is the classic cause. Slicers also offer a horizontal expansion / XY size compensation setting that grows or shrinks every outline by a fixed amount — a blunt but effective instrument for dialling in fits without editing the model.

Designing shapes with fit in mind

The clearance rules apply directly to parametric shapes from the Free STL Shapes generator. Printing a pipe that a 10 mm dowel must slide through? Set the inner diameter to 10.4–10.6 mm, and keep the wall difference above your nozzle width (see wall thickness). Making a ring that should press onto a 30 mm tube? Set the inner diameter to 30.0–30.1 mm and let friction do the rest. Because the tool exports exactly the millimeter dimensions you type, the only arithmetic you need is adding the clearance — there is no hidden scale factor (STLs from this tool are 1 unit = 1 mm, as covered in our units and scaling guide).

Print a fit test tonight

Generate a pipe, ring, or cylinder at the exact millimeter dimensions you need — inner diameter, outer diameter, height — and export a water-tight STL in one click. Free, no sign-up, nothing uploaded.

Open the STL generator →

Frequently asked questions

What tolerance should I design for FDM printing?

Assume the printer is accurate to about ±0.2 mm unless you have measured otherwise. For mating parts, that means at least 0.2 mm of clearance per side for a fit that moves, and 0.1 mm or less where you want friction to hold parts together.

Why is my 5 mm hole only 4.7 mm?

Because three effects all shrink interior dimensions: the polygon approximation of the circle sits inside the true circle, extruded plastic squishes into the opening, and the surrounding material contracts as it cools. Design holes 0.2–0.4 mm oversized, or drill them to final size after printing.

Can I fix a bad fit without redesigning the model?

Often, yes. The slicer's horizontal expansion (Cura) or XY size compensation (PrusaSlicer) setting adjusts every printed outline by a fixed offset, and elephant-foot compensation fixes tight fits near the bed. For one stubborn hole, a drill bit is faster than another 3-hour print.

About the author: Amir is a long-time 3D-printing hobbyist who has spent years designing parametric models and tuning both FDM and resin printers. He writes and maintains all the guides on Free STL Shapes and revises them as slicers, printers, and best practices evolve. Spotted something out of date? Let him know.