How to Test and Improve 3D Printing Tolerances
FDM and resin printers rarely hold the numbers on the drawing. This guide shows a repeatable way to measure the error, separate machine error from material shrink, and improve 3D printing tolerances until the part fits. Written for engineers and buyers who need to decide whether to keep printing or move the part to CNC.

In this article
- 1
- 2
- 3
- 4
- 5
- 6
- 7
Key takeaways
What 3D printing tolerance actually means on the shop floor
Tolerance is the band of deviation you accept around a nominal dimension. On a 3D printer that band comes from three places: the motion system, the extrusion or cure, and the material itself. A 20 mm cube that prints at 19.85 mm is not a broken machine. It is a machine telling you where its error sits.
Two numbers matter when you improve 3D printing tolerances. The first is dimensional accuracy, meaning how close the average part is to nominal. The second is repeatability, meaning how much part-to-part variation you see across the build plate. A printer can be accurate and still fail, because the part in the back-left corner is 0.15 mm off while the center is dead on.
Resolution is not tolerance. A 0.1 mm layer height describes the vertical step, not the accuracy of a Ø6 mm bore. Engineers often confuse the two and then wonder why a fine layer height did not fix a loose fit. Layer height affects surface finish and print time. Belt tension, steps per mm, flow rate and shrink affect tolerance.
Before you change anything, write down the target. A snap-fit housing might need ±0.2 mm. A bearing seat or a dowel pin hole needs much less, and that is where printing stops being the right process. Decide the target first so the test coupon can prove pass or fail in one print.
How to test 3D printing tolerances with one coupon
Build a single coupon that carries every feature you care about. A 40 × 40 × 10 mm block with a 20 mm cube on top, a Ø5 mm hole, a Ø5 mm pin, a 0.4 mm slot, and a 10 mm bridge covers most fit problems. Keep the walls at 2 mm and print it with the same profile you will use for the real part.
Print it three times: center, front-left, and back-right of the plate. Label each part. Let them cool to room temperature for at least 30 minutes before measuring. PLA and PETG move as they cool, and measuring warm parts adds a false error that you will then try to fix with the wrong setting.
Measure with a caliper that reads to 0.01 mm, and use a pin gauge or a gauge pin set for the holes. Calipers squeeze soft plastic and read high. For holes, insert the largest pin that enters without force and note the size. For the pin, measure across three points and average, because a printed pin is rarely round.
Log the data in a small table: nominal, measured X, measured Y, measured Z, and the deviation for each. Do this before touching any slicer setting. Most people skip the log and then cannot tell whether a change helped or the second print just landed in a better spot on the plate.
- 1Same profileTest coupon must use the production profile, not a slow cosmetic one.
- 2Three positionsCenter and two corners expose bed level and belt issues.
- 3Cool firstMeasure at room temperature, never off a warm plate.
- 4Pin gaugesCalipers over-measure soft holes; pins give a true reading.
Why material choice changes the numbers you measure
Every polymer shrinks as it cools, and the amount depends on the material and the part geometry. A thin wall cools fast and shrinks less. A thick boss cools slow, pulls the surrounding material, and can move a hole by 0.2 mm or more. This is why a test coupon with uniform walls can look good while the real part still misses.
Moisture is the quieter problem. Nylon and TPU absorb water from the air within hours. Wet filament produces steam at the nozzle, which causes random over-extrusion, poor layer bonding and a dimensional scatter that no slicer setting can fix. Dry the spool and store it in a sealed container with desiccant between prints.
Resin behaves differently again. Shrink happens during the wash and the UV cure, not at the printer. A part measured right after printing can be 0.1–0.2 mm larger than the same part after a full cure. If you measure before curing, you will tune the printer to compensate for a chemical change that has not happened yet.
For parts that must fit metal hardware, the material is often the wrong choice regardless of tuning. A printed bearing seat will creep under load and lose its interference in weeks. That is a design limit, not a calibration problem. Move the interface to a machined insert and print around it.
- 1Thick sections moveBosses and ribs pull holes; add a coupon with the same wall thickness.
- 2Cure after measureFor resin, always measure after full post-cure, not before.
- 3Dry storageNylon and TPU need a sealed box with desiccant, not an open spool holder.
When printing is the wrong process for the tolerance
There is a point where more tuning returns nothing. If you have calibrated steps, flow and shrink, dried the material, and the part still varies by more than ±0.15 mm across the plate, the machine has reached its limit. Chasing the last 0.05 mm with a printer costs more time than machining the part.
Three signs say move to CNC. The fit needs less than 0.05 mm clearance. The feature is a sealing surface, a bearing bore or a thread that carries load. Or the part must be identical across a run of 50 or more pieces. Printing can make one good part; it struggles to make fifty identical ones without a fixture and a measurement loop.
A hybrid approach often wins. Print the housing for its light weight and complex internal channels, then machine the critical interface as a separate insert and bond or bolt it in. This keeps the print simple and puts the tight tolerance where a machined surface can actually hold it.
At GreatLight we run both processes under one roof, so we can tell you early which features should stay printed and which should be cut. The quote includes a free DFM review, and we flag tolerance risks before the first chip or the first layer.
Seven steps to improve 3D printing tolerances
- 11. Level the bed and set the first layerRun the paper or feeler gauge routine at all four corners and the center. A 0.1 mm nozzle gap is the target for a 0.4 mm nozzle. A first layer that is squashed on one side and thin on the other shifts every feature above it, so this step comes first, always.
- 22. Calibrate steps per mm on X, Y and ZPrint a 100 mm single-wall bar, measure it, and correct the steps value by the measured-to-nominal ratio. Repeat once. If X and Y disagree by more than 0.1 mm, check belt tension and pulley set screws before changing firmware numbers.
- 33. Tune flow and check wall thicknessPrint a two-wall cube and measure the wall with a caliper. Adjust flow in 2 percent steps until a 0.8 mm double wall reads 0.78–0.82 mm. Over-extrusion adds 0.05–0.15 mm to every outside dimension and is the most common hidden cause of tight fits.
- 44. Measure shrink and compensatePrint a 100 mm bar in the actual material and measure after cooling. ABS and ASA shrink roughly 0.5–0.8 percent, PETG around 0.2–0.4 percent, PLA under 0.3 percent. Enter the scale factor in the slicer, not in the CAD model, so the drawing stays clean.
- 55. Fix hole shrinkage with a known offsetMeasure the Ø5 mm test hole. If it reads 4.8 mm, apply a +0.2 mm hole compensation in the slicer. Re-print and confirm. Never change the CAD hole size for a printer quirk unless the model is a one-off print and will never be machined.
- 66. Cut backlash and ringingReduce acceleration to 500–800 mm/s² and jerk to 8–10 mm/s on older machines. Tighten belts so they twang at a similar pitch. Backlash shows up as a different X reading when you approach the same feature from the left versus the right.
- 77. Dry the filament and re-run the couponDry PETG, TPU and nylon at the supplier's recommended temperature for 4–6 hours. Print the coupon again and compare the log. If the deviation is now stable across three positions and repeatable across three prints, the process is under control.
Which process holds the tolerance you need
Use this as a screening guide before you commit a design to printing.
| Feature | Tuned FDM | Resin (SLA/DLP) | CNC machining |
|---|---|---|---|
| Overall dimension | ±0.1–0.3 mm | ±0.05–0.15 mm | ±0.005 mm |
| Ø5 mm bore | often 0.1–0.3 mm undersize | ±0.05 mm with offset | H7 reamed fit |
| Pin-to-hole fit | 0.2–0.4 mm clearance | 0.1–0.2 mm clearance | 0.01–0.03 mm clearance |
| Flatness over 100 mm | 0.1–0.5 mm warp | 0.05–0.2 mm | 0.01–0.02 mm |
| Repeatability, same plate | ±0.05 mm center only | ±0.03 mm | ±0.005 mm |
| Surface finish | Ra 8–20 μm | Ra 1.6–3.2 μm | Ra 0.2–1.6 μm |
| Best for | Brackets, covers, jigs | Fine detail, small parts | Fits, seals, load paths |
Frequently asked questions
What tolerance can a well-tuned FDM printer hold?
On small features, roughly ±0.1 mm in X and Y at the center of the plate, and ±0.2 mm near the edges. Z is usually better, around ±0.05 mm, because layer height is set mechanically.
These numbers assume dry filament, a calibrated flow rate and a shrink factor entered in the slicer. Without those three, ±0.3 mm is more realistic.
Why do printed holes always come out undersize?
The slicer approximates a circle with short straight segments, and the extrusion path sits inside the nominal radius. The plastic then pulls inward as it cools.
A 0.1–0.3 mm undersize is normal on FDM. Apply a hole compensation in the slicer and verify with pin gauges instead of calipers.
Does a smaller layer height improve dimensional tolerance?
No. Layer height changes the vertical surface finish and the print time, not the X and Y accuracy of a bore or a boss.
Use layer height to control finish and strength. Use steps calibration, flow and shrink compensation to control tolerance.
How often should I re-run the tolerance coupon?
After any hardware change: new nozzle, new belt, new filament brand, or a moved machine. Also re-run it when you switch materials, because shrink changes with the polymer.
For a stable production setup, once a month is enough to catch drift before it reaches a customer part.
Can I print a part and then machine the critical features?
Yes, and it is often the cheapest path. Print near-net, leave 0.3–0.5 mm on the surfaces that need tolerance, and machine only those faces.
The machined face holds ±0.005 mm while the printed body keeps the complex geometry. Bonding or bolted inserts work well for housings and brackets.
What should I send for a tolerance review?
Send the 3D model, the 2D drawing with the tolerance callouts, the material, and the quantity. Mark the features that must fit other parts.
We return a DFM note within 12 hours that flags which features should be printed, which should be machined, and where the print process will not hold the callout.
Send us the features you cannot print to tolerance
Upload your model and drawing. We review the tolerance callouts, tell you which features should stay printed and which should be machined, and quote both routes.
12-hour quote and DFM±0.005 mm CNC toleranceNo minimum order quantityNDA on request