Most shrinkage advice stops at a percentage and a multiplication: scale the model up by 0.5 %, print, done. That works for a standalone part measured against a drawing. It breaks for fits, because a fit is a difference between two dimensions and shrinkage acts on both.
The short answer
Two printed parts, same filament, same profile: hole and peg both contract by the same fraction, so the gap between them contracts by that fraction too. At 20 mm with a 0.20 mm sliding clearance, PLA at 0.30 % shrinks the gap by 0.0006 mm — three orders of magnitude below what the machine can resolve. Ignore it.
One printed part against a purchased one: the bought member does not shrink, so the full contraction of the printed member lands on the joint. A 20 mm ABS bore printed against a 20 mm ground shaft comes out 0.160 mm undersize from shrinkage alone, before any process allowance. That is most of a sliding fit consumed by an effect people were told to round away.
The calculator encodes this: shrinkage and process allowance apply only to members you tell it you are printing. Set the scope to hole-only or shaft-only and it flags that shrinkage has stopped cancelling.
Linear shrinkage by material
These are free linear mould shrinkage figures: unconstrained contraction from nozzle to room temperature, in percent of length. The absolute column restates each one as millimetres at a 20 mm diameter.
| Material | Shrink % | At Ø20 mm | Note |
|---|---|---|---|
| PLA | 0.30 | 0.060 | Brittle |
| PLA-CF / PLA-GF | 0.15 | 0.030 | Brittle, fibre-stabilised |
| PETG | 0.50 | 0.100 | — |
| PETG-CF | 0.25 | 0.050 | Fibre-stabilised |
| ABS | 0.80 | 0.160 | — |
| ASA | 0.80 | 0.160 | — |
| PC | 0.70 | 0.140 | — |
| TPU 95A | 0.70 | 0.140 | Elastic, deflects rather than binds |
| PA / Nylon | 1.20 | 0.240 | Hygroscopic |
| PA-CF | 0.40 | 0.080 | Hygroscopic, fibre-stabilised |
| PP | 1.50 | 0.300 | Hygroscopic |
The spread is a factor of ten, PLA-CF to PP. Two patterns matter. Chopped fibre roughly halves shrinkage — PLA-CF 0.15 % against PLA 0.30 %, PA-CF 0.40 % against unfilled nylon 1.20 %. And the materials people reach for when PLA is too weak — ABS, ASA, PC, nylon — are the ones that move most, so fixing a strength problem creates a dimensional one.
When shrinkage cancels and when it does not
The mechanism is arithmetic. A printed feature comes out at modelled
× (1 - s). If the bore and the peg are both printed in the same
filament, both get multiplied by the same (1 - s), and so does the
difference between them. A 0.20 mm design gap in PETG at 0.50 % arrives
as 0.199 mm. Nothing to correct.
Break the symmetry and the cancellation goes with it. The purchased member is fixed at its catalogue size, so the printed member's contraction lands in full on the gap:
| Assembly | Shrinkage behaviour | Error at Ø20 mm, PETG |
|---|---|---|
| Both members printed, same filament | Cancels between parts | 0.003 |
| Printed bore, purchased shaft or bearing | Bore ends up undersize | 0.100 |
| Printed peg, purchased bushing or bracket | Peg ends up undersize | 0.100 |
Cancellation assumes the same profile, not just the same spool label. Print the bore hot and fast and the peg cold and slow, or one in a heated chamber and one on an open bed, and the two effective shrinkage rates diverge.
This is why a design that assembled perfectly as a printed pair fails the moment you swap in a metal dowel. The model did not change. The error term that had been cancelling itself out simply stopped.
Shrinkage against the size of the fit itself
A millimetre figure means nothing until you compare it with the gap it has to fit inside. At 20 mm the ISO 286 fundamental tolerance unit is 1.24 µm, which sets the three reference clearances below. Against ABS shrinkage of 0.160 mm, the same number is either irrelevant or fatal depending on the fit class alone.
| Fit class | Clearance mm | Shrink / clearance | Outcome if uncompensated |
|---|---|---|---|
| Free running | 0.50 | 0.32 | Still turns, gap tighter than intended |
| Sliding | 0.20 | 0.80 | Binds or needs force to assemble |
| Press (interference) | -0.06 | 2.67 | Fit class inverts entirely |
The press-fit row is the one to sit with. The interference is 0.06 mm and shrinkage on a printed ABS bore is 0.160 mm — 2.7 times the interference, in the direction that closes the bore. Model that bore at 20.00 mm expecting to squeeze a 20.06 mm boss into it and you get a bore that will not accept the shaft, or splits taking it. The fit class you specified is not the one you built.
The calculator flags a dominance condition: when shrinkage exceeds the larger of the requested clearance and 0.05 mm, shrinkage — not the fit — is your primary error. Every hygroscopic material in the table crosses that line at 20 mm for anything tighter than a free running fit. Do not commit a press fit in ABS, ASA, PC, nylon or PP against a purchased part without a calibration coupon first.
Hygroscopic materials drift
PA / nylon at 1.20 %, PA-CF at 0.40 % and PP at 1.50 % are marked hygroscopic, so for those three the table entry is a dry-filament baseline rather than a property you can lean on. Moisture changes how the material extrudes and how it settles, so the effective rate drifts with the state of the spool, and keeps drifting after the print as the part equilibrates with room humidity.
There is no honest correction factor to offer, and any guide quoting one is guessing. The procedure is what holds up: dry the filament, calibrate dried, and treat the result as valid for that spool under those conditions. If a nylon part must hold a fit for months in a humid room, design the joint so a few tenths of drift is survivable instead of chasing a tighter class.
Shrinkage is not your largest error
Shrinkage gets the attention because it has a tidy number attached, but it is usually the smaller of the two process errors. The bigger one is extrusion width.
Default extrusion width is nozzle diameter × 1.125, so a 0.4 mm nozzle lays a 0.45 mm bead. Bead placement pulls a bore inward and pushes a peg outward: hole undersize is 0.50 × W × curvature + 0.15 × layer height, shaft oversize is 0.20 × W + 0.10 × layer height. Curvature enters as 1 + min(2/D, 0.6), so a small bore loses proportionally more material, capped at 1.6 below roughly 3 mm.
Run that at 20 mm with a 0.2 mm layer: hole undersize is about 0.50 × 0.45 × 1.1 + 0.15 × 0.2 = 0.278 mm. PLA shrinkage at the same diameter is 0.060 mm. Extrusion width is over four times larger, and unlike shrinkage it does not cancel between two printed parts — it pushes the hole and the peg in opposite directions, so it accumulates instead. Compensating shrinkage alone is directionally right and an order of magnitude short. See the tolerance chart for how the combined allowance lands across diameters.
Run your own numbers Enter the nominal size, pick the fit class and the material, and the calculator returns the dimensions to model.Measuring your own filament
Table values are a starting point; calibration replaces them with numbers from your machine, profile and spool.
Print a coupon carrying a Ø20.00 mm through hole and a Ø20.00 mm peg, both modelled at exactly 20.00 with your normal profile — no scaling, no compensation. Measure both. The bore wants pin gauges or a bore gauge; caliper knife edges read a hole low. Feed both measurements back in and the model inverts itself, solving for the hole and shaft coefficients that explain what you got. Those then replace the defaults of 0.50 and 0.20 everywhere.
Two sanity checks fall out. A bore measuring larger than the shrink-corrected model points at measurement method or under-extrusion, not shrinkage. A peg measuring smaller points at under-extrusion or an optimistic shrinkage figure for that filament. Fix the input before trusting the output.
Frequently asked
Should I just scale my model by the shrinkage percentage?
Only if the part is measured against a fixed external dimension. Uniform scaling touches every feature, including the ones whose fit was already self-correcting, and it does nothing about extrusion width. Compensate per feature, not per model.
Why is PLA-CF listed at half the shrinkage of plain PLA?
Chopped fibre restrains the polymer as it cools, so contraction along the bead drops — 0.15 % against 0.30 % for PLA, 0.40 % against 1.20 % for nylon. When stability matters more than finish, a filled grade of the same base polymer is the cheapest improvement available.
Does shrinkage matter for a bolt clearance hole?
Rarely. A loose fit at 20 mm carries 0.64 mm of clearance, so even PP at 0.300 mm stays inside it. Shrinkage becomes a problem as the class tightens, which is why the same 0.160 mm of ABS contraction is noise in a free running fit and fatal in a press fit.
How much does a wet nylon spool change the number?
Not something to quote a figure for. Moisture shifts the effective rate and keeps shifting it as the part equilibrates after printing, so the useful answer is to dry the filament, calibrate dried, and leave the joint enough margin to absorb later drift.
My printed pair fit perfectly but the metal shaft will not go in. Why?
Shrinkage was cancelling between the two printed parts and has stopped now that one member is purchased — 0.060 mm in PLA at 20 mm, 0.240 mm in nylon. Tell the calculator only the bore is printed, then check which fit class the joint needs.