A printed part is smaller than the model it came from, because the plastic was deposited hot and contracted as it cooled. This calculator takes a nominal dimension and a material and gives you the size to model at so the finished part measures what you wanted.
The arithmetic
If a material shrinks by a fraction s, a printed feature comes out at (1 − s) times its modelled size. To land on a target dimension you scale up by 1 / (1 − s).
At PLA's 0.3%, a 100 mm feature comes out at 99.7 mm, and you would model it at 100.30 mm to compensate. At unfilled nylon's 1.5%, the same feature comes out at 98.5 mm and needs to be modelled at 101.52 mm. The correction is small on short features and grows in proportion to length, which is why a part can pass a 20 mm test cube and fail across a 200 mm span.
Shrinkage is not the same in every direction
This is the part most compensation advice leaves out, and it is why a single scale factor often makes things worse.
The build plate holds the first layer while everything above it contracts, so X and Y move more freely than Z does. Fibre-filled materials add a second asymmetry: chopped fibres align with the extrusion direction during deposition and restrain contraction along it, so a filled material can shrink noticeably less along a bead than across it.
Applying one uniform scale factor to a part with features in both orientations therefore over-corrects one and under-corrects the other. Compensating the axis that matters for the fit — usually the one carrying the tolerance — is more reliable than scaling everything.
When to compensate and when not to
Do not compensate PLA or PETG on small parts. At 0.2 to 0.6% over 30 mm, the correction is smaller than the variation you get from flow calibration and nozzle wear, and you will chase your own noise.
Do compensate on long features, on press fits, on parts that mate with something manufactured, and on any high-shrinkage material — ABS, ASA, polycarbonate, unfilled nylon or polypropylene, all of which move enough to matter at almost any size.
The alternative that is often better
Print a test coupon. Model a stepped set of holes or pins spanning the fit you need, print it in the actual material on the actual machine, and measure which one fits.
That single test folds in shrinkage, flow calibration, nozzle wear, hole-slicing error and your specific machine's dimensional bias — all of which push in the same direction as shrinkage and are frequently larger than it. A calculated compensation applied on top of an uncalibrated flow rate is compensation for the wrong thing.
What this does not cover
Semi-crystalline materials that keep moving after the print. Polypropylene, PET and nylon continue to crystallise for hours after they come off the plate, and their dimensions at the moment of removal are not their final ones. Measure those the next day, not the same evening.
Annealing also changes dimensions, usually by more than the original shrinkage. If you plan to anneal, calibrate against annealed parts.
A worked example
You need a 60 mm bore that a manufactured bearing has to press into, printed in ABS.
ABS shrinks 0.4 to 0.8%, so take the midpoint at 0.6%. The compensated dimension is 60 / (1 − 0.006), which is 60.36 mm — a 0.36 mm correction, comfortably larger than most press-fit tolerances and therefore worth applying.
But note the range. At the low end of ABS's spread the correction is 0.24 mm and at the high end it is 0.48 mm, a spread of a quarter of a millimetre that no calculator can resolve for your specific spool. That is exactly the situation where a printed test coupon beats arithmetic, and it is why the range is shown rather than hidden behind a midpoint.
Interaction with hole compensation
Holes come out undersized for a reason unrelated to shrinkage: a circle is approximated by straight segments laid on the inside of the curve. That error is roughly constant with hole size rather than proportional to it, so it does not scale the way shrinkage does.
Apply them separately. Hole compensation is a fixed offset in the slicer; shrinkage compensation is a percentage scale. Folding the two into one number works at exactly one hole diameter and is wrong at every other.