Complete Guide to 3D Printing Tolerances and Fit: Clearance for Moving Parts
Getting moving parts to work reliably on a 3D printer comes down to one thing: understanding tolerances. Whether you are printing a hinged box, a gear assembly, or a camera mount with adjustable screws, the gap between mating surfaces determines whether parts slide smoothly, lock together, or refuse to fit at all. Most failed prints of multi-part assemblies are not caused by bad geometry or weak material. They fail because the designer did not account for how FDM printing adds material to every wall.
This guide covers the tolerance values that work across common FDM printers, explains why layer height and nozzle size matter, and gives you tested clearance numbers for press-fit, slip-fit, snap-fit, and threaded connections. You will also learn how to compensate for different materials like PLA, PETG, ABS, and nylon, each of which shrinks and deforms differently as it cools.
Why 3D Printing Tolerances Matter
FDM printers extrude thermoplastic through a nozzle and deposit it layer by layer. The extruded line is never exactly the width of the nozzle. A 0.4 mm nozzle might produce a line between 0.42 and 0.48 mm wide depending on flow rate, temperature, and slicer settings. These small variations stack up, especially on internal features like holes and slots. A hole modeled at exactly 5 mm diameter will almost always print smaller than 5 mm because the printer deposits material inward from the nominal edge.
The result is predictable: cylindrical holes shrink by roughly 0.2 to 0.5 mm depending on printer calibration and size. Square holes and slots behave slightly differently because they only accumulate error on two sides instead of all around. Understanding this fundamental behavior lets you add the right amount of compensation before you print, instead of sanding and re-printing after each failed fit test.
The Two Rules of FDM Tolerances
External Dimensions Grow, Internal Dimensions Shrink
On a well-calibrated printer, external dimensions like the overall length of a printed block are usually within 0.1 to 0.2 mm of the model. The printer deposits the outermost perimeter close to the intended edge because the nozzle path follows the outline directly. Internal features like holes, slots, and pockets are a different story. The perimeter is traced on the inside of the nominal boundary, which means the hole ends up smaller. The difference can be 0.3 to 0.5 mm for holes under 10 mm, and 0.1 to 0.3 mm for larger holes.
Layer Height Affects Vertical Tolerances
Horizontal clearances (in the XY plane) are determined by nozzle diameter, flow, and extrusion width. Vertical clearances (along the Z axis) are determined by layer height. At 0.2 mm layer height, each layer adds a discrete step. Two parts stacked vertically will have a gap measured in whole layer counts, so a 0.3 mm vertical gap at 0.2 mm layers effectively becomes either 0.2 mm or 0.4 mm depending on where the slicer rounds. For tight vertical fits, use smaller layer heights like 0.1 mm or 0.12 mm.
Tested Clearance Values by Fit Type
The values below are starting points based on common FDM printers using 0.4 mm nozzles. Your results will vary based on printer calibration, material, and slicer settings, so always print a small test piece before committing to a full assembly.
| Fit Type | Clearance per Side | Total Gap (hole vs shaft) | Common Use |
|---|---|---|---|
| Press-fit (light) | 0.05 – 0.10 mm | 0.10 – 0.20 mm | Bearings, dowel pins |
| Press-fit (tight) | 0.00 – 0.05 mm | 0.00 – 0.10 mm | Permanent joins |
| Slip-fit (smooth) | 0.15 – 0.20 mm | 0.30 – 0.40 mm | Sliding shafts, drawer guides |
| Loose slip-fit | 0.20 – 0.30 mm | 0.40 – 0.60 mm | Hinges, rotating joints |
| Snap-fit | 0.00 mm (interference) | 0.50 – 1.00 mm deflection | Enclosure clips, battery doors |
| Self-tapping screw | Shaft = 0.85x nominal | Core hole sized for thread | Assembly screws |
Press-Fit Connections
A press-fit holds two parts together through friction and slight interference. The most common application is mounting bearings into printed housings. For a standard 608 skateboard bearing (22 mm outer diameter), model the pocket at 21.8 to 21.9 mm. This gives about 0.05 to 0.10 mm interference per side, which is enough for a firm hold without cracking the surrounding plastic.
The material matters significantly here. PLA is relatively brittle and will crack if the interference is too aggressive. PETG has more flex and tolerates slightly tighter fits. For PLA housings, stay closer to 0.05 mm per side. For PETG, you can push toward 0.10 mm. Nylon and ABS fall in between.
Tips for Reliable Press-Fits
- Use at least three perimeter walls around the press-fit pocket for structural strength.
- Infill at 40% or higher near the bearing seat to prevent deformation under load.
- Print the outer part with the hole oriented vertically (Z-axis) when possible. Vertical holes have better roundness than horizontal holes printed over a gap.
- Warm the bearing with a heat gun before pressing it in. A 608 bearing expands enough at 80 degrees Celsius to drop into a 21.8 mm pocket easily.
- Avoid press-fits near thin walls. The outward force can crack features thinner than 2 mm.
Slip-Fit and Sliding Connections
Slip-fit joints allow two parts to move relative to each other with minimal friction. Hinges, drawer slides, and piston-like mechanisms all rely on slip-fit clearances. The goal is enough gap for free movement but not so much that the joint feels sloppy.
For a shaft-and-hole slip-fit with a 0.4 mm nozzle, add 0.15 to 0.20 mm clearance per side. A 6 mm shaft needs a 6.3 to 6.4 mm hole. This works well for PLA and PETG. For ABS, which has more thermal shrinkage, you may need 0.20 to 0.25 mm per side.
Reducing Friction in Slip-Fits
- Add a chamfer or fillet to the leading edge of the shaft. A sharp edge catches on layer lines and causes binding.
- Orient the shaft vertically in the print so the sliding surface is smooth perimeters rather than stepped layer lines.
- Consider printing the moving part in a low-friction material like PETG or nylon while the stationary part stays in PLA.
- For high-wear applications, insert a short length of PTFE tube into the printed bore. The PTFE acts as a self-lubricating bushing.
- Sand the internal bore with a round file or drill bit wrapped in sandpaper to smooth out the inner surface.
Snap-Fit Joints
Snap-fit joints use a flexible cantilever beam with a small lip that deflects during assembly and locks behind a catch feature. They are ideal for enclosures, battery compartments, and any case that needs to open and close without hardware. Designing a good snap-fit requires balancing three factors: beam stiffness, deflection distance, and retention force.
The cantilever beam should be long enough to flex without exceeding the material’s yield strain. For PLA, keep the strain under 2%. For PETG and ABS, you can push toward 3%. A beam that is too short will either not flex enough for assembly or will break on first use. A beam that is too long will not provide enough retention force to keep the joint closed.
Snap-Fit Design Guidelines
- Beam length: 3 to 5 times the beam thickness for PLA, 2 to 4 times for PETG.
- Beam thickness: 1.2 to 2.0 mm works well for most enclosures.
- Lip height: 0.5 to 0.8 mm. The lip should be small enough to flex over the catch but tall enough to retain.
- Add a small undercut (0.3 mm) behind the lip so it locks positively.
- Orient the snap beam so it flexes along the layer lines, not across them. Flexing across layers causes delamination.
- Print at 100% infill near the snap beam for maximum strength.
Threaded Connections and Self-Tapping Screws
Using self-tapping screws in 3D printed parts is one of the strongest assembly methods available. Unlike glued joints or friction fits, threaded connections can be disassembled and reassembled many times without losing strength. The key is sizing the pilot hole correctly for the screw you plan to use.
Common Self-Tapping Screw Hole Sizes
| Screw Size | Pilot Hole (PLA) | Pilot Hole (PETG) | Pilot Hole (ABS) |
|---|---|---|---|
| M2 | 1.6 mm | 1.7 mm | 1.5 mm |
| M2.5 | 2.0 mm | 2.1 mm | 1.9 mm |
| M3 | 2.4 mm | 2.5 mm | 2.3 mm |
| M4 | 3.2 mm | 3.3 mm | 3.1 mm |
| #6 (3.5 mm) | 2.8 mm | 2.9 mm | 2.7 mm |
| #8 (4.2 mm) | 3.4 mm | 3.5 mm | 3.2 mm |
PLA strips threads more easily than PETG or ABS because it is harder and more brittle. If you notice the material crumbling when you drive the screw, enlarge the pilot hole by 0.1 mm. For parts that will be disassembled frequently, consider using a heat-set threaded insert instead of a self-tapping screw. Heat-set inserts create a brass thread inside the plastic that is far more durable than cut threads.
Material-Specific Tolerance Adjustments
PLA
PLA is the most predictable material for tolerances because it has low thermal shrinkage (under 0.5%) and holds its shape well during cooling. Internal holes in PLA typically shrink by 0.2 to 0.4 mm. PLA is brittle, so avoid tight interference fits that could crack the part. Use clearance values at the lower end of the recommended ranges for slip-fits and at the minimum for press-fits.
PETG
PETG shrinks more than PLA, typically 0.5 to 1.5% depending on cooling conditions. Internal holes may shrink by 0.3 to 0.5 mm. PETG is more flexible than PLA, which makes it better for snap-fit joints and living hinges. Add slightly more clearance (0.05 mm extra per side) compared to PLA for slip-fits. PETG also tends to string more, which can fill small clearances during printing. Use a higher retraction distance and lower printing temperature to minimize stringing in clearance areas.
ABS
ABS has the highest thermal shrinkage of the common FDM materials, typically 1.0 to 2.0%. Holes in ABS parts can shrink by 0.4 to 0.8 mm, and the shrinkage is often uneven because different parts of the print cool at different rates. Compensate by adding 0.1 to 0.2 mm more clearance than you would for PLA. An enclosed printer with a heated chamber helps reduce uneven shrinkage in ABS.
TPU (Flexible Filament)
TPU behaves differently from rigid materials because it deforms under load. Press-fit clearances are largely irrelevant since the material will conform to the inserted part. For slip-fits in TPU, add 0.3 to 0.5 mm per side because the flexible walls close inward under compression. TPU snap-fits work well because the material has high strain capacity, but the retention force will be lower than with rigid materials.
Printer Calibration Effects on Tolerances
Even with perfect clearance values in your CAD model, a poorly calibrated printer will produce bad fits. Two settings have the biggest impact on dimensional accuracy: extrusion multiplier (flow rate) and e-steps calibration.
If your printer over-extrudes (flow rate above 100%), every wall will be thicker than intended. External dimensions grow, and internal holes shrink further. A 5% over-extrusion can add 0.1 mm to each wall, which doubles the clearance error on both sides of a hole. Calibrate your e-steps by extruding 100 mm of filament and measuring the actual output. Adjust the e-steps value in your firmware until the measured length matches the commanded length.
Bed leveling and first-layer quality also affect fits. If the first layer is squished too much, it widens the base of walls and can close up clearances on parts printed flat on the bed. Use a standard first-layer height (around 0.2 mm for a 0.2 mm layer height profile) rather than an exaggerated first layer.
Slicer Settings That Affect Clearances
- Perimeters: More perimeters mean thicker walls and smaller internal holes. Three perimeters with a 0.4 mm nozzle add about 1.2 mm of wall thickness. If your clearance was calculated for two perimeters, adding a third will shrink the hole by roughly 0.4 mm.
- Print order (infill before perimeters): Some slicers offer an option to print perimeters last. This can improve hole accuracy because the perimeter is laid down on top of solid infill rather than over air gaps, reducing sagging on the top of horizontal holes.
- XY hole compensation: Many slicers include a setting to automatically enlarge holes by a fixed amount. Cura calls this “XY Hole Size Compensation.” A value of 0.2 to 0.4 mm works well for most printers.
- Horizontal expansion: This setting scales all XY dimensions. Use it cautiously because it affects both internal and external features equally. It is better to use hole-specific compensation.
Testing Your Printer’s Actual Tolerances
Before designing an assembly with tight tolerances, print a calibration test to determine your printer’s real-world behavior. Search for a tolerance calibration test on Thingiverse or Printables. These models typically include a row of holes or slots with incremental clearance values (0.1 mm, 0.2 mm, 0.3 mm, etc.) alongside a matching set of pins or tabs.
Print the test in the same material, at the same layer height, and with the same slicer settings you plan to use for your final part. Then test each clearance value to find which one gives the fit you want. Record the results for future reference. Most experienced designers maintain a small table of tested clearance values for each printer and material combination they use regularly.
Common Mistakes When Designing for Fit
- Forgetting to account for elephant foot: The first layer spreads outward, which makes the bottom of vertical features wider. If your mating surfaces are at the base of the print, add 0.2 to 0.3 mm of extra clearance or use a chamfer on the bottom edge.
- Designing holes in the XY plane: Horizontal holes (printed as an arch over empty space) are less accurate than vertical holes. The top of the arch sags inward, creating an oval instead of a circle. Design vertical holes whenever possible, or use bridge settings to minimize sag.
- Using the same clearance for all materials: PLA, PETG, and ABS all behave differently. A slip-fit that works perfectly in PLA may bind in ABS due to higher shrinkage. Always re-test when switching materials.
- Ignoring layer height on vertical fits: Vertical clearances round to the nearest layer height. A 0.25 mm gap at 0.2 mm layer height becomes 0.2 mm or 0.4 mm, not 0.25 mm. Plan vertical fits in multiples of your layer height.
- Over-tightening screws: Self-tapping screws in plastic strip easily. Drive screws slowly and stop as soon as you feel resistance. If you need to remove and reinsert a screw, the threads will be weaker the second time.
Tools and Accessories for Better Fits
Having the right tools on hand makes tolerance work much easier. A set of precision drill bits lets you fine-tune holes after printing. A set of digital calipers is essential for measuring both your prints and the real-world parts they need to fit around. For threaded inserts, a soldering iron with a heat-set insert tip makes installation fast and consistent.
If you find yourself frequently adjusting hole sizes, consider using parametric design tools like OpenSCAD or Fusion 360, where you can define clearance as a single variable and update all mating surfaces at once. This is far less error-prone than manually editing each dimension in a static model.
FAQ
What clearance should I use for a standard 608 bearing?
For a 608 bearing (22 mm OD), use a pocket diameter of 21.8 mm in PLA and 21.7 mm in PETG. This gives a light press-fit that holds the bearing firmly without cracking the surrounding plastic.
Why do my printed holes always come out smaller than modeled?
FDM printers trace the inner perimeter inside the nominal hole boundary. The extrusion width adds material inward, reducing the effective hole diameter by roughly 0.2 to 0.5 mm depending on nozzle size and flow rate.
Can I use a drill bit to enlarge a printed hole?
Yes. Twisting a drill bit by hand through a printed hole is an effective way to fine-tune clearance. Go up in 0.1 mm increments and test fit after each step. This works especially well for press-fit applications where you need precise control.
Does layer height affect horizontal clearances?
Indirectly. A lower layer height produces smoother surfaces with less stair-stepping, which can reduce friction in slip-fit joints. However, the actual dimensional clearance in the XY plane is determined by nozzle diameter and flow rate, not layer height.
How do I print a living hinge that actually works?
Print the hinge with thin walls (0.6 to 0.8 mm), orient it so the flex direction follows the layer lines, and use a flexible material like PETG or TPU. Flex the hinge back and forth 50 to 100 times immediately after printing while it is still warm. This aligns the polymer chains and prevents cracking. PLA living hinges work for a limited number of cycles but will eventually fail due to brittleness.
Should I use heat-set inserts or self-tapping screws?
Use heat-set inserts for parts that will be assembled and disassembled repeatedly. Inserts create a durable brass thread that withstands many cycles. Self-tapping screws are fine for permanent or rarely disassembled joints and require no special installation tool beyond the screw itself.
Conclusion
Designing 3D printed parts that fit together reliably is not guesswork. It starts with understanding that internal dimensions shrink, external dimensions stay close to nominal, and every material behaves slightly differently. Start with the clearance values in this guide, print a calibration test for your specific printer and material, and adjust from there. Once you know your printer’s real tolerances, you can design multi-part assemblies with confidence instead of iteration cycles.