Your CAD model says 20.00 mm and your calipers say 20.30 mm. That gap is normal, it is repeatable, and once you understand where it comes from you can largely design and calibrate it away. FDM is a warm process working with materials that shrink as they cool, so “dimensional accuracy” is not a single number but the sum of several predictable errors. This guide breaks those sources down, then shows how to measure and compensate for them.
Where dimensional error comes from
Three effects dominate. First, thermal shrinkage: plastic is extruded hot and contracts as it cools, so parts finish slightly smaller than modeled – typically a fraction of a percent for PLA and more for higher-temperature materials like ABS. Second, over-extrusion and flow error: if the extruder pushes even a few percent too much plastic, walls grow outward and outer dimensions come out large while holes come out small. Third, thermal expansion and warping during the print, where uneven cooling pulls corners and long spans out of true.
These stack differently on different axes. Understanding which effect is dominating a given error tells you whether to reach for a flow tweak, a temperature change, or a design compensation.
| Source | Typical direction | Rough magnitude | Primary lever |
|---|---|---|---|
| Thermal shrinkage | Parts smaller | PLA ~0.2–0.4%, PETG ~0.4–0.6%, ABS ~0.5–0.8% | Scale compensation, lower temp |
| Over-extrusion / flow | Outer walls larger, holes smaller | 0–5% of wall position | Flow / extrusion multiplier |
| Elephant foot | Base larger | 0.1–0.4 mm at bottom | Z offset, foot compensation |
| Warping | Corners lift, spans bow | Varies with size | Bed temp, enclosure, brim |
Diagnose before you calibrate. Measure outer dimensions and hole diameters separately: if walls are big AND holes are small, suspect flow; if everything is uniformly small, suspect shrinkage; if only the base is off, suspect elephant foot.
Why holes always come out too small
Round holes printed vertically are almost always undersized, and for two compounding reasons. A circle is approximated by short straight segments (chords) that cut inside the true arc, shaving the radius. On top of that, the inner wall is pulled slightly inward as each layer cools and the extruded line shrinks. The result is that a modeled 5 mm hole often measures 4.7–4.9 mm.
You can compensate in the slicer – several offer a hole horizontal expansion or X–Y hole compensation of roughly 0.1–0.2 mm – or you can design oversized. For press fits and clearance fits, plan the gap deliberately using our 3D printing tolerances guide rather than trusting the nominal number.
XY versus Z accuracy
The two are governed by completely different mechanisms. XY accuracy comes from belt-driven motion and the width of the extruded line; errors here are mostly flow and geometry, and are usually correctable in software. Z accuracy comes from a leadscrew and is inherently quantized to your layer height – a 5.05 mm feature printed at 0.2 mm layers rounds to a multiple of 0.2, so it lands at 5.0 or 5.2, never exactly 5.05. Design critical Z heights as multiples of your layer height, and expect the first layer and elephant foot to add their own small offset at the base.
Calibrating your machine
Calibrate in a fixed order so each step builds on a corrected foundation. Get extruder steps right first, then flow, then verify with a geometry test.
| Step | What to measure | Target |
|---|---|---|
| Extruder steps/e-steps | Mark 100 mm of filament, extrude 100 mm, measure what actually fed | Adjust steps until fed = commanded within ~0.5 mm |
| Flow / extrusion multiplier | Print a single-wall cube, measure wall thickness with calipers | Wall matches your line width (e.g. 0.42–0.45 mm for a 0.4 nozzle) |
| Dimensional test cube | Print a 20 mm calibration cube, measure X, Y, Z | All three within ~±0.1–0.2 mm; note the offset |
| Hole test | Print holes of known diameter, measure with pin gauges | Note undersize and set hole compensation |
Measure the single-wall cube, not the outer size of a solid cube, when tuning flow. A single wall isolates extrusion width from the wall-position and elephant-foot effects that pollute a solid-cube measurement.
A 20 mm calibration cube is the fastest overall health check, but do not chase it to zero by inflating flow – that just trades a small-part error for over-extrusion everywhere else. Fix flow with the single-wall test, then use the cube to confirm and to record a per-material scaling offset.
Designing with compensation – and when to machine
Once you know your machine’s tendencies you can bake corrections into the design: oversize holes, add a per-material scale factor for large parts, place seams away from critical faces, and orient tight-tolerance features in XY rather than Z. Keep walls at sensible multiples of line width so perimeters land cleanly – see our wall thickness guide.
There is a limit. Well-tuned FDM holds roughly ±0.1–0.3 mm on typical features, and better on small ones, but it cannot reliably hit a ±0.02 mm bearing bore or a flat, smooth sealing face. When a feature needs precision beyond that, print the part slightly oversized on the critical dimension and finish it conventionally: drill and ream bores, tap threads, or face a mating surface on a mill. Designing that machining allowance in from the start is faster and more repeatable than fighting the printer.
Ready to stop guessing and start measuring? Our courses cover calibration and tolerance-aware design end to end.
Take the FDM course See Pro pricingDimensional accuracy checklist
- Measure a part and separate the errors: outer walls, holes, base, and each axis on their own.
- Calibrate extruder steps first so the machine feeds the length it is told to.
- Tune flow using a single-wall cube until wall thickness matches your line width.
- Print a 20 mm cube, record the residual offset, and set a per-material scale factor.
- Add hole horizontal expansion of ~0.1–0.2 mm, or design holes oversized.
- Put tight-tolerance features in XY and make critical Z heights multiples of layer height.
- Design fits with intentional clearance from the tolerances guide, not the nominal size.
- For precision beyond ~±0.1 mm, add stock and machine, ream, or tap the feature after printing. New here? Begin with Foundations.