Shrinkage compensation calculator for OrcaSlicer, PrusaSlicer and plain scaling
What it calculates
Measure a long feature after the part cools. OrcaSlicer's Shrinkage (XY) wants the size you got as a percentage of the size you designed (94% if 100 mm came out 94 mm) [1]. PrusaSlicer's Shrinkage compensation XY wants the shrinkage itself (1% if 100 mm came out 99 mm) [2]. A plain object scale is designed ÷ measured × 100%.
Two slicers, opposite conventions
Plastics shrink as they cool, so a part can come out slightly smaller than the model. Both major open-source slicers can scale the part to compensate, per filament, but they ask for the number in different ways:
| Slicer | Setting | What to enter | 100 mm printed as 99.5 mm |
|---|---|---|---|
| OrcaSlicer | Shrinkage (XY), Shrinkage (Z) | measured ÷ designed × 100% | 99.5% |
| PrusaSlicer | Shrinkage compensation XY, Z | (designed − measured) ÷ designed × 100% | 0.5% |
| Any slicer | Object scale | designed ÷ measured × 100% | 100.5025% |
OrcaSlicer’s documentation gives the example of entering 94% if you measure 94 mm instead of 100 mm [1]. PrusaSlicer’s setting tooltip gives the example of entering 1% if you measure 99 mm instead of 100 mm, and limits the field to −10% to 10% [2]. Entering an OrcaSlicer-style 99.5% into PrusaSlicer, or a PrusaSlicer-style 0.5% into OrcaSlicer, produces a wildly wrong part, which is why the calculator gives both.
The plain scale factor is what you would type into a slicer’s object scale box if it has no shrinkage setting. Note that it is not simply 100% + shrinkage: restoring 99.5 mm to 100 mm needs 100 ÷ 99.5 = 100.5025%, slightly more than 100.5%.
How to measure
- Print a test piece with at least one long straight feature along X and Y, ideally 100 mm or longer. Short features make measurement error look like shrinkage.
- Let it cool to room temperature before measuring. Shrinkage happens during cooling.
- Measure each axis in the middle of the part, away from the first layers, where elephant’s foot adds width.
- Enter designed and measured sizes for X and Y. The calculator averages them by total length. If X and Y differ a lot, the cause is probably mechanical (belt tension or skew) rather than material shrinkage; see dimensional accuracy.
- Optionally measure Z the same way. Both slicers have a separate Z field [1, 2].
What shrinkage compensation does not fix
Shrinkage compensation scales the whole part uniformly. It cannot fix:
- Holes that are too small and outlines that are too large by a fixed amount. Those come from how extrusions bulge at curves, not from material shrinkage. OrcaSlicer lists X-Y hole compensation and X-Y contour compensation for that, and ships a tolerance test model with hexagonal holes from 0.0 to 0.4 mm clearance to tune them [3].
- Warping. A part that curls has uneven shrinkage; scaling does not flatten it. See warping.
- A wide first layer. Use elephant foot compensation instead.
OrcaSlicer also notes two practical limits: only the filament used for the perimeter is taken into account for XY shrinkage, and the compensation is applied after the slicer’s spacing checks, so leave room between objects on a crowded plate [1].
When it is worth doing
Most hobby parts do not need it: the error over a 20 mm part is a fraction of a millimetre. It pays off for long parts, assemblies of several printed pieces, and materials that shrink more as they cool, such as ABS and other high-temperature plastics printed in an enclosure. Calibrate flow ratio first, since over-extrusion also changes outer dimensions.
Questions
Should I fix holes that are too small with shrinkage compensation?
Usually not. Shrinkage scales the whole part. OrcaSlicer lists separate process settings, X-Y hole compensation and X-Y contour compensation, for holes and outlines that are off by a fixed amount, and its tolerance test model helps tune them [3].
Does OrcaSlicer apply the shrinkage of every filament in a multi-material print?
OrcaSlicer's documentation says only the filament used for the perimeter is taken into account for the XY shrinkage, and warns that the compensation is applied after the slicer's spacing checks, so leave room between objects [1].
Sources
- Material basic information: Shrinkage (XY), Shrinkage (Z). OrcaSlicer Wiki. Slicer documentation. filament_shrink and filament_shrinkage_compensation_z: measured size as a percentage of the designed size. Accessed October 12, 2026.
- ConfigDefsFDM.cpp: filament_shrinkage_compensation_xy / _z. PrusaSlicer source code, Prusa Research (GitHub). Source code. Setting tooltips: enter the shrinkage percentage (1% for 99 mm measured instead of 100 mm); allowed range −10% to 10%. Accessed October 12, 2026.
- Filament Tolerance Calibration. OrcaSlicer Wiki. Slicer documentation. Shrinkage vs. X-Y hole and contour compensation; tolerance test model. Accessed October 12, 2026.