Skip to content
Creative3DP Tools

3D Print Dimensional Accuracy: What Your Printer Can Actually Hold (and How to Calibrate It)

Desktop FDM realistically holds ±0.2mm after calibration — vendors only promise ±0.5%. Where the error comes from, the 20-minute calibration that fixes most of it, and when to use slicer XY compensation vs CAD compensation.

By Creative3DP Team
engineering tolerance calibration guide

Print a 20mm calibration cube and measure it. If you got 20.00mm on all three axes, put the calipers down and buy a lottery ticket — that’s not skill, that’s two errors canceling.

Real FDM parts miss their modeled dimensions, always, in ways that are mostly systematic — which is the good news, because systematic errors can be calibrated away. Here’s what accuracy desktop printers actually deliver, where the error comes from, and the short calibration routine that turns “±whatever” into “±0.1mm and I know which way.”

What the industry actually promises

The published numbers are humbler than forum confidence suggests:

SourceClaimed FDM accuracy
Hubs (print service)Desktop FDM: ±0.5% (floor ±0.5mm). Industrial FDM: ±0.15% (floor ±0.2mm)
Xometry (print service)FDM: ±0.3% (floor ±0.3mm)
Prusa knowledge base”An Original Prusa will be accurate to at least ±0.2mm
Peer-reviewed calibration study (Processes, 2023)Calibrated desktop PLA: IT9–IT14 ISO grades (IT11–13 on all axes simultaneously)

Notice the gap: services covering uncalibrated fleets promise ±0.5mm; a single well-tuned machine holds ±0.2mm or better. The difference between those two numbers is calibration — nothing else.

For scale: an ISO H7/g6 machinist’s sliding fit at 25mm allows +0.007 to +0.029mm of clearance. That’s 10× tighter than FDM’s best day. You will not print machinist fits; you will print plastic fits, which work differently and work fine.

The four error sources (and their signatures)

1. Flow / extrusion width error — the big one. Over-extrusion at 105% flow makes every external dimension ~0.1–0.15mm fat and every hole the same amount tight. Signature: outsides big AND insides small by a similar amount. This is a printer problem, not a model problem — fix it at the source with flow calibration, not by resizing CAD.

2. Material shrinkage — proportional to size. Plastic contracts as it cools: PLA ~0.3%, PETG ~0.4%, ABS ~0.7%, Nylon a dramatic 1.5%. Invisible on a 10mm boss (0.03mm in PLA), decisive on a 200mm bracket (0.6mm) or anything Nylon. Signature: error grows with feature size; big parts short in X/Y. Carbon-fiber blends cut shrinkage roughly in half — one reason PA-CF is so much easier to hit dimensions with than plain PA.

3. Inside-curve overshoot — the hole killer. The extruder can’t decelerate instantly on tight inside curves, so it over-deposits there: holes lose 0.1–0.25mm of diameter while flat surfaces stay accurate. Signature: rectangles fine, holes tight — the exact pattern behind 3D printed holes coming out too small. External curves get the mirror effect, ~0.1mm of swell on pins and bosses.

4. First-layer squish (elephant’s foot). The first layer is deliberately squashed for adhesion and flares outward 0.1–0.4mm. Signature: part measures fat only at the bottom edge. Fix with a 0.3–0.5mm chamfer on bottom edges in CAD, or the slicer’s elephant-foot compensation — don’t chase it with global scaling.

The 20-minute calibration ladder

Do these in order — each depends on the one before.

Step 1: Flow (10 min). Print a single-wall cube or your slicer’s flow test, measure the wall with calipers, set flow so measured = intended line width. Modern Bambu/Prusa machines auto-calibrate flow decently; older machines are routinely 3–8% off, which is 0.1mm+ of error on every surface. This single step fixes more dimensional error than everything else combined.

Step 2: Shrinkage / XY scale (10 min). Print a 100×100mm hollow square (one wall thick, 5mm tall — fast). Measure both axes. If you get 99.6mm in PETG, your real-world shrinkage is 0.4% — either scale parts by 100.4% in the slicer for dimension-critical prints, or store the number and let a calculator apply it per-feature. Do this per material brand, not per material type; pigments shift shrinkage measurably.

Step 3: Holes (already solved). With flow and scale correct, the remaining hole error is the inside-curve overshoot — stable and predictable. Print one 5mm test hole, measure it, and feed the result into the Hole Tolerance Calculator’s calibration override; every recommendation it makes scales to your machine from then on.

Slicer compensation vs CAD compensation

Modern slicers can apply corrections at slice time, and it’s worth knowing which knob is which:

  • XY size compensation (PrusaSlicer) / X-Y contour compensation (Bambu Studio): inflates or deflates all external contours. Use it only to fix a measured, uniform flow-type error you can’t fix at the source.
  • XY hole compensation (Bambu Studio) / hole horizontal expansion (Cura): enlarges interior contours only. Community values cluster around +0.2 to +0.25mm — no coincidence, that’s the inside-curve overshoot. Great for STLs you didn’t model and can’t edit.
  • CAD compensation: for parts you design, put the intent in the model — a hole sized for its fastener, a pin sized for its fit. The Press-Fit Calculator and Hole Tolerance Calculator give you the exact numbers, and the design carries its correctness to any calibrated printer.

Rule of thumb: fix printer-wide errors in the printer (flow), material-wide errors in the slicer profile (shrinkage scale), and feature-specific errors in CAD (fits, holes). Compensating the same error twice is how you get the mystery +0.4mm hole.

One more escape hatch from the pros: when a hole’s diameter is truly critical (bearing seats, dowel locations), Hubs’ own FDM design guide recommends printing it undersize on purpose and drilling to final dimension. A $2 drill bit outperforms every compensation strategy above; there’s no shame in it.

What accuracy budget to design with

After the calibration ladder, on a healthy desktop machine:

  • Flat external dimensions: ±0.1mm up to ~100mm, plus your material’s shrinkage beyond that
  • Holes (compensated): ±0.05–0.1mm
  • Vertical-axis holes: add +0.1mm of uncertainty (they sag)
  • Z heights: ±half a layer height — design mating surfaces to land on layer boundaries when you can
  • Anything TPU: double everything and test

Design fits around those budgets — with the fit ladder — and reprints become the exception instead of the workflow.