Tolerance and Fit in 3D Printing - Getting Parts to Fit Together

Guide to understanding dimensional tolerances and designing parts that fit together reliably after 3D printing

3D printing doesn’t make perfect dimensions. Parts vary by ±0.5-1.0mm. Designing parts that fit together despite this variation is critical skill.

This guide covers tolerance basics and practical design rules for assemblies.

Why Tolerance Matters

Real scenario: You print a bracket with 10mm bolt hole. Your printed hole measures 10.3mm (slightly large). Bolt is 9.8mm (slightly small). Parts fit fine.

Next person prints same design. Their hole measures 9.7mm. Bolt is 10.2mm. Parts don’t fit.

Both prints are “correct” (within tolerance). But assembly fails for one user.

Solution: Design with tolerance bands. Ensure all prints fit even with variation.

Standard Tolerances for 3D Printing

Dimensional accuracy (how close to design specification):

DimensionFDM TypicalResin TypicalRecommendation
Up to 10mm±0.5mm±0.2mmDesign for ±0.5mm
10-50mm±0.8mm±0.3mmDesign for ±1.0mm
50mm+±1.0-2.0mm±0.5mmDesign for ±1.5mm

Key insight: Design tolerances are ±0.5-1.0mm looser than you think.

Practical Tolerance Rules

Rule 1: Clearance is Better Than Tight Fit

Tight fit (bolt hole sized exactly to bolt diameter):

  • Design: 10mm hole for 10mm bolt
  • Actual: 9.8-10.3mm variation
  • Result: Sometimes fits, sometimes doesn’t (50% failure rate)

Clearance fit (bolt hole 0.5mm larger):

  • Design: 10.5mm hole for 10mm bolt
  • Actual: 10.0-10.8mm variation
  • Result: Always fits (95% success rate)

Practical approach: Add 0.3-0.5mm clearance to any press fit.

Rule 2: Snap Fits Need Precise Tolerances

Snap fit (plastic tab clicks into groove):

  • Tab thickness: 1.5mm
  • Groove width: Design for 1.5mm, actual is 1.3-1.7mm
  • Problem: Tight tolerance, often fails

Solution: Make groove slightly wider (1.8mm) to compensate for variation.

Rule 3: Threads Are Impractical Without Special Nozzles

Standard approach (print bolt threads):

  • Design: M5 bolt hole with 0.8mm pitch
  • Actual: Tolerance on pitch ~0.3-0.5mm
  • Result: Threads don’t grip reliably

Better approach: Use metal inserts

  • Print hole for 6mm insert (larger tolerance band)
  • Glue metal insert in place
  • Thread into metal insert
  • Result: Reliable threads

Or use M3+ screws minimum (5mm+ diameter = easier to print).

Design Rules for Fits

For parts that must fit together:

TypeDesign Tolerance
Snap fits±0.5-1.0mm
Press fits±0.3-0.5mm
Bolted assembly±1.0mm (generous clearance)
Sliding parts±1.5-2.0mm (loose)
Threads (metal insert)±1.0mm
Threads (printed)Don’t use (problematic)

Real Example: Phone Case Design

Goal: Print case that holds phone securely (iPhone ~77×160mm)

Bad design:

  • Interior dimensions: 77.5×160.5mm (designed for exact fit)
  • Actual tolerance: ±1.0mm
  • Result: Interior becomes 76.5-78.5×159.5-161.5mm
  • Impact: Some phones slip, some phones wedge too tight

Good design:

  • Interior dimensions: 79×162mm (designed 1.5mm oversized)
  • Actual tolerance: ±1.0mm
  • Result: Interior becomes 78-80×161-163mm
  • Impact: All phones fit with small clearance

Design strategy: Add 1.5-2.0mm clearance for “comfortable fit” applications.

Tolerance Stack-Up (Complex Assemblies)

Problem: Multiple parts, each with ±0.5mm tolerance, accumulate error.

Example: 3-part assembly

  • Part A length: 50mm ±0.5mm
  • Part B length: 50mm ±0.5mm
  • Part C length: 50mm ±0.5mm
  • Total designed: 150mm
  • Actual minimum: 148.5mm (all parts small)
  • Actual maximum: 151.5mm (all parts large)
  • Tolerance stack-up: ±1.5mm total

Solution: Account for worst-case scenario.

  • If 150mm assembly needs to fit in 150.5mm space: RISKY
  • If 150mm assembly needs to fit in 152mm space: SAFE (1.5mm clearance)

For complex assemblies: Add clearance equal to (number of parts × 0.5mm)

Measurement Best Practices

How to verify your design works:

  1. Print one part at standard settings
  2. Measure actual dimensions (digital caliper, ±0.1mm accuracy)
  3. Compare to design (note variation)
  4. Adjust design if variation is larger than expected
  5. Print assembly test (make sure parts fit)
  6. Document tolerance (save settings that produced good fit)

Real workflow:

  • Print phone case
  • Measure interior: 79.2mm actual (vs 79mm designed)
  • Phone fits: Good
  • Print next version with confidence

Material Considerations

Tolerance changes with material:

MaterialShrinkageDimensional Variation
PLAMinimal±0.5mm
PETGModerate±0.7mm
ABSHigh±1.0mm
NylonExtreme±1.5mm

Impact: Design ABS tolerance looser than PLA (ABS shrinks more during cooling).

Common Tolerance Mistakes

Mistake 1: Designing to perfect dimensions

  • “This bolt is 10mm, so I’ll design 10mm hole”
  • Reality: Printing variance makes fit 50/50
  • Fix: Add 0.5mm clearance (10.5mm hole)

Mistake 2: Assuming resin tolerances apply to FDM

  • Resin is ±0.2mm, FDM is ±0.5mm
  • Designing resin-tight tolerances for FDM fails
  • Fix: Add ±1.0mm buffer for FDM designs

Mistake 3: Forgetting material shrinkage

  • ABS shrinks 0.5-1.0% during cooling
  • Designed dimension is wrong before print even starts
  • Fix: Add 1-1.5% to ABS dimensions (100mm design becomes 101-101.5mm)

Mistake 4: Not testing assembly

  • Design looks good in CAD
  • Actual print doesn’t fit
  • Fix: Always print test assembly with one part

Wall Thickness and Stress Concentration

Tolerance affects durability:

Thin wall (1.0mm):

  • Nominal: 1.0mm
  • Actual variation: 0.8-1.2mm
  • Where thin (0.8mm), stress concentrates, cracks

Thick wall (2.0mm):

  • Nominal: 2.0mm
  • Actual variation: 1.8-2.2mm
  • Minimum thickness is still 1.8mm, acceptable

Design rule: Critical dimensions need thicker walls to accommodate tolerance variation.

Snap Fit Design Formula

For snap fit to work across tolerance range:

Tab thickness: 1.5mm Groove width: 1.8-1.9mm (designed oversized by 0.3-0.4mm) Snap force: Designed for 1.6mm actual tab thickness

Why: If you design groove for 1.5mm tab exactly:

  • If tab is 1.3mm: Gaps, won’t snap
  • If tab is 1.7mm: Wedges too tight, breaks

Design groove for 0.2mm larger than nominal → works across tolerance range.

Tolerance for Different Print Speeds

Speed affects tolerance:

SpeedAccuracyTolerance to Design
40mm/sBest±0.3mm
80mm/sGood±0.5mm
120mm/sAcceptable±0.8mm
150mm/sLoose±1.0mm

Insight: If designing tight tolerance, print at slower speed.

The Honest Approach

Rule of thumb for assemblies:

  • Add 0.5mm clearance for every 10mm dimension
  • So 50mm bolt hole → design 50.25-50.5mm (extra large)
  • Err on the side of loose, not tight

Test before committing:

  • Print one part
  • Measure and verify fit
  • Document what works
  • Use that as baseline for production

Most important: Tolerance is material property of FDM, not design flaw. Accept it, design around it, succeed.


3D printing’s tolerance isn’t a problem if you design expecting it. Tight tolerance designs fail. Loose tolerance designs succeed across all printers and settings.

Design with +0.5-1.0mm clearance and stop fighting printer limitations. Your parts will fit reliably.