3D Print Shrinkage & Scale Compensation
To cancel shrinkage, scale the model by designed ÷ measured × 100%: a 100 mm part that prints at 99.4 mm needs 100.60%. Measure a test print in X, Y and Z and this tool gives the value for each slicer, checks whether the error is shrinkage or a fixed offset, and shows the steps-per-mm fix if the error is the machine.
Published October 30, 2026
Scale to Enter in the Slicer
| Axis | Error | Scale % | PrusaSlicer | OrcaSlicer |
|---|
- Scale %: object scale in any slicer (scale lock off for per-axis), and Cura's material setting Scaling Factor Shrinkage Compensation (XY and Z in recent versions).
- PrusaSlicer: Filament Settings → Advanced → Shrinkage compensation XY and Z, entered as the shrinkage (99 mm measured on 100 mm = 1%).
- OrcaSlicer: Filament → Shrinkage, entered as measured ÷ designed (99 mm on 100 mm = 99%). Check the tooltip in your version. If your slicer has no filament shrinkage setting, use the object scale %.
Machine Fix: Steps or rotation_distance
Typical Shrinkage by Material
Typical linear shrinkage in the X-Y plane of FDM parts, from filament makers' data and common practice. Brands, colours, part shape, enclosure temperature and print direction all change it, so measure your own. "Scale %" cancels the typical value: 100 ÷ (1 − shrinkage).
| Material | Typical range | Typical | Scale % | Notes |
|---|
How Shrinkage and Scale Compensation Works
Plastic shrinks as it cools, so a printed part comes out a fraction of a percent smaller than the model, more in ABS and nylon than in PLA. Scaling the model up by designed ÷ measured cancels it.
Shrinkage grows with size: 0.6% is 0.06 mm on a 10 mm feature but 1.2 mm on a 200 mm part. That is why it matters most on long parts and on parts that must line up with holes far apart.
The Formulas
M92 sets steps per mm, M500 saves to EEPROM (needs EEPROM enabled in the firmware).RESTART. On a CoreXY or Hybrid machine, stepper_x and stepper_y drive both axes together; use one shared value, never different X and Y corrections.Material Shrinkage or Machine Error?
Both make a part the wrong size by a percentage, so a single measurement cannot tell them apart. These checks can:
- Change the material. Print the same part in PLA, which barely shrinks. If PLA is also 0.6% small, it is the machine. If only ABS or nylon is small, it is shrinkage.
- Measure a move, not a print. Clamp a dial indicator or mark the bed, command a 100 mm move, and measure it. If the move is right, leave steps alone.
- Compare X and Y. Material shrinks about the same in X and Y. A big difference between them points to a belt, pulley or steps on one axis.
- Use standard hardware values first. A GT2 belt on a 20-tooth pulley moves 40 mm per turn: 80 steps/mm at 1/16 microstepping, rotation_distance 40. A value far from the calculated one is a setting error, not something to tune with a print.
- Two sizes. A fixed offset (the same at 20 mm and 100 mm) is extrusion, not shrinkage and not steps.
For extruder steps (e-steps), see Printer Steps per mm.
Worked Example
- Measured X 99.40 mm, Y 99.45 mm, Z 49.90 mm (the tool's example).
- X: 100 ÷ 99.40 × 100 = 100.604%, shrinkage 0.60%. Y: 100.553% (0.55%). Z: 50 ÷ 49.90 = 100.200% (0.20%).
- PrusaSlicer filament shrinkage: XY 0.6% (or 0.58%, the X-Y average), Z 0.2%. OrcaSlicer filament shrinkage: 99.4%. Cura scaling factor: 100.6% XY, 100.2% Z.
- A 20 mm feature on the same axis measured 19.88 mm. Fit: a = (99.40 − 19.88) ÷ 80 = 0.9940, b = 19.88 − 0.994 × 20 = 0.000 mm. The error is proportional with no offset, so it is shrinkage (or steps), not flow.
- X and Y differ by only 0.05%, typical of material shrinkage. A PLA print of the same bar at 99.95 mm would confirm it is the ABS, so scale in the slicer's ABS profile and leave M92 alone.
Tips for Accurate Calibration
- Measure big. Calipers read to about ±0.02 mm. On a 20 mm cube that is 0.1%, as large as the PLA shrinkage you are trying to find. Use a 100 to 150 mm bar or an L-shaped part.
- Measure clean edges away from the first layers (elephant's foot), the seam and corners that bulge.
- Let it cool to room temperature, and print with the enclosure and settings you will use for real parts.
- Holes are different. Hole undersize is mostly a fixed offset; use the Hole & Fit Compensation tool after scaling. For inserts, see Heat-Set Insert Hole Size.
- Infill and walls change shrinkage a little: thick solid parts pull in more. The Strength vs Infill Estimator helps choose settings. For metals, compare with the Metal Properties Finder and the Thermal Expansion calculator.
Frequently Asked Questions
Shrinkage figures are typical values, not measurements of your filament. Check firmware changes with a measured move before saving them.