← Fit Calculator Home / Guides / Shrinkage

FIT-CALC · ISO 286 · FDM PROCESS · MM · REV 2026.09

Shrinkage compensation for FDM, material by material

If both halves of a joint are printed in the same filament, do not compensate for shrinkage at all — it cancels. Compensate only when one member is bought: a steel rod, a bearing, a bolt. That single distinction matters more than which shrinkage figure you pick.

Updated 2026-09-05

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.

FREE LINEAR SHRINKAGE, PER MATERIAL
MaterialShrink %At Ø20 mmNote
PLA0.300.060Brittle
PLA-CF / PLA-GF0.150.030Brittle, fibre-stabilised
PETG0.500.100
PETG-CF0.250.050Fibre-stabilised
ABS0.800.160
ASA0.800.160
PC0.700.140
TPU 95A0.700.140Elastic, deflects rather than binds
PA / Nylon1.200.240Hygroscopic
PA-CF0.400.080Hygroscopic, fibre-stabilised
PP1.500.300Hygroscopic

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:

WHO SHRINKS, AND WHAT IT COSTS YOU
AssemblyShrinkage behaviourError at Ø20 mm, PETG
Both members printed, same filamentCancels between parts0.003
Printed bore, purchased shaft or bearingBore ends up undersize0.100
Printed peg, purchased bushing or bracketPeg ends up undersize0.100
Worth knowing

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.

ABS SHRINK 0.160 MM vs FIT CLEARANCE, Ø20 MM
Fit classClearance mmShrink / clearanceOutcome if uncompensated
Free running0.500.32Still turns, gap tighter than intended
Sliding0.200.80Binds or needs force to assemble
Press (interference)-0.062.67Fit 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.

This will bite

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.

Related