Shrinkage Compensation Calculator
Print a calibration part, measure it, and get the scale percentage to enter per axis in your slicer or filament profile — plus the hole compensation offset that makes bolts and bearings actually fit.
The formulas
shrinkage % = (designed − measured) ÷ designed × 100
hole compensation (per side) = (designed hole − measured hole) ÷ 2
Scale and shrinkage look like the same number but aren't quite: 1% shrinkage needs a 1.0101 scale to undo it. The calculator uses the exact ratio so it's right for any amount.
Worked example
A 100 mm ASA calibration square measures 99.4 mm in X and 99.5 mm in Y. Its 10 mm hole measures 9.6 mm.
- X scale: 100 ÷ 99.4 = 100.60%; Y scale: 100 ÷ 99.5 = 100.50%; use 100.55% for both
- Hole: (10 − 9.6) ÷ 2 = 0.2 mm per side of XY hole compensation
After applying both, reprint and measure again. Second-pass results are typically within 0.05 mm on a 100 mm part.
Printing a useful test part
Bigger is better, because the error you're measuring is a percentage and calipers are absolute. A 20 mm cube shrinking 0.5% is 0.1 mm — within caliper noise. A 100 mm part makes it 0.5 mm, which is unmistakable. Good test parts:
- A 100 × 100 × 10 mm square with a 10 mm and a 20 mm hole, or Orca's built-in tolerance test.
- A 150 mm bar if your bed allows it — the longer, the more precise.
- For Z, a 50 mm tower measured with the calipers' depth rod, not the jaws.
Print it in the material and profile you'll use for real parts, let it cool fully (ABS keeps shrinking for an hour), and measure each dimension in two places. Take the outer dimensions at mid-height to avoid elephant's foot at the base.
Shrinkage by material
| Material | Typical shrinkage | Starting scale | Notes |
|---|---|---|---|
| PLA | 0.2 – 0.5% | 100.3% | Often small enough to ignore for non-fitting parts. |
| PETG | 0.3 – 0.8% | 100.5% | Varies noticeably between brands. |
| ABS | 0.8 – 1.5% | 101.0% | Depends heavily on chamber temperature — measure in your enclosure. |
| ASA | 0.5 – 0.8% | 100.6% | Slightly more stable than ABS. |
| Nylon (PA6 / PA12) | 1.0 – 2.0% | 101.5% | Also absorbs water and grows afterwards; measure dry. |
| Polycarbonate | 0.6 – 1.0% | 100.8% | |
| PLA-CF / PETG-CF / PA-CF | 0.1 – 0.4% | 100.2% | Fibers restrain shrinkage — one reason CF filaments hold tolerances. |
| Polypropylene | 1.5 – 2.5% | 102.0% | Warps badly; compensation is only meaningful if the part stays flat. |
These are starting points. Your printer's chamber temperature, part geometry, infill and cooling all move the real figure, which is why the calculator exists.
Where to enter it
OrcaSlicer and Bambu Studio
Filament profile → Advanced → Shrinkage compensation (XY, and Z on recent versions). This is the right place: it travels with the material, so every print in that filament gets it automatically and the model's own scale stays at 100%.
PrusaSlicer
There's no per-filament shrinkage field, so scale the object (right sidebar, scale %) or set it in a print profile you keep for that material. XY size compensation under Print Settings → Advanced offsets every contour, holes included, by the value in mm.
Cura
Scale in the object panel. Horizontal Expansion offsets all contours; Hole Horizontal Expansion grows only the holes and is the one to use for the hole value from this page.
Why holes are a separate problem
Scaling fixes shrinkage, which is uniform. Holes come out small for non-uniform reasons: on a concave curve the extruded bead bulges toward the centre, the slicer's polygon approximation of a circle sits inside the true circle, and the first layer's squish spreads inward. Those errors are roughly constant in millimeters, not a percentage — a 3 mm and a 30 mm hole lose about the same 0.2–0.4 mm of diameter. That's why slicers offer a per-side offset applied to holes only, and why you should measure the hole after the XY scale is in place, so you're not correcting the same error twice.
If you design your own parts, the alternative is to simply draw holes 0.2–0.4 mm oversize in CAD. Many designers do both: compensate in the slicer for models they download, and design fits in for their own.
Frequently asked questions
How much do 3D prints shrink?
It depends on the material. PLA shrinks about 0.2–0.5%, PETG 0.3–0.8%, ABS 0.8–1.5%, ASA 0.5–0.8%, nylon 1–2% and polypropylene 1.5–2.5%. Carbon-fiber filled versions shrink much less. A 100 mm ABS part therefore comes out roughly 99 mm, and the fix is to scale the model up by about 1%.
How do I calculate the shrinkage compensation scale?
Scale factor = designed size ÷ measured size. If a 100 mm test cube measures 99.2 mm, the scale is 100 ÷ 99.2 = 1.0081, or 100.81%. Enter that as the scale in the slicer (or as filament shrinkage compensation in OrcaSlicer and Bambu Studio) and the next print lands at 100 mm.
Why are holes too small even after scaling?
Holes come out small for a different reason than shrinkage: the extruded line bulges inward on a concave curve and the slicer approximates arcs as polygons. Scaling the whole part doesn't fix it. Slicers have a separate hole compensation (XY hole compensation in Orca/Bambu, XY size compensation in PrusaSlicer, Hole Horizontal Expansion in Cura) that grows only the holes.
Is hole compensation per side or per diameter?
Per side, in every mainstream slicer: the value is how far the hole's contour is pushed outward, so the diameter grows by twice that. If a 10 mm hole measures 9.6 mm, the diameter is 0.4 mm short and the compensation is 0.2 mm. The calculator gives both numbers.
Should I scale X, Y and Z differently?
Usually X and Y together and Z on its own. XY shrinkage is a material property; Z is affected by the first-layer squish and layer height rounding, and often needs no correction at all. Measure all three, but only apply a Z scale if the error is consistent across different heights.
Last reviewed September 7, 2026. Spotted an error or want another calculator? Tell us.