Skip to content

Resin & Filament Shrinkage Compensation Calculator

Another tool I built because I needed it myself

When 3D printing engineering components or tight-tolerance miniatures, material cooling and UV curing cause physical parts to shrink. This interactive 3D math tool calculates your exact dimensional compensation percentage to counteract volumetric shrinkage in your slicer. Thirteen material presets, separate XY and Z shrink rates, and a measured-coupon mode that back-solves your real shrink factor from caliper readings. Runs entirely in your browser — no uploads, no accounts, no cookies.

Features

13 resin and filament shrink presets
Separate XY and Z compensation
Measured test coupon back-solve mode
Exact 1÷k inverse, not the naive 1+s
Fit clearance for press and slide fits
Copy the scale percentage to clipboard

Calculator

Shrinkage from:

Typical shrinkage: 0.30% in XY, 0.90% in Z

%

Widths, hole diameters, pin fits

%

Height, stacked parts, base tabs

mm

The size you want the finished part to be — a pin diameter, a slot width, a base tab

mm

Extra room for a sliding or press fit. 0.10mm reads as a snug slide, 0.20mm as a hand-assembled fit

Type this in the slicer — XY

100.3%

+0.30% on top of 100%

Type this in the slicer — Z

100.9%

+0.91% on top of 100%

Model XY

25.08

mm to model

Model Z

25.23

mm to model

Naive 1 + s

100.30%

under-compensates

Slot to Model

25.08

pin Ø + clearance

The math

k = 1 − 0.003 = 0.99700 · compensation = 1 ÷ 0.99700 = 100.30%

Print your own coupon before trusting any of this

Shrinkage is not a constant. It moves with the brand and batch of resin, the wall thickness, the number of perimeters, the cure time, your ambient temperature, and how long the part sat before you measured it. The presets here are typical starting points, not specifications. Print a 20mm cube, measure it with calipers, and switch to the Measured tab — that number is worth more than any table, and it is the number you should scale against.

Direct answer

How to calculate shrinkage compensation

Compensation = 1 ÷ (1 − shrink). For a 2% shrinkage the shrink factor is k = 0.98, so the compensation is 1 ÷ 0.98 = 1.0204 — type 102.04% into your slicer and a 25mm slot comes off the build plate at 25.00mm instead of 24.50mm. You can also work it the other way: divide the target dimension by the shrink factor to get the dimension to model, so 25 ÷ 0.98 = 25.51mm.

Most guides shortcut this to 1 + the shrink percentage, which gives you 102.00% for the same 2% case. The gap is 0.04% — irrelevant for a miniature standing on a base, and the whole reason a 0.5mm pin no longer slides into its socket. The calculator shows both so you can see where the naive figure leaves you.

Typical Shrinkage by Material

MaterialShrink XYShrink ZNotes
Resin — Low Shrink0.2%0.4%Low-shrink formulated photopolymer for tight tolerance work
Resin — Standard0.3%0.9%General purpose grey/clear — the default resin preset
Resin — Tough0.4%1%Impact-resistant resin for functional parts and snap fits
Resin — ABS-Like0.4%1%The most common upgrade resin for miniatures
Resin — Flexible0.7%1.8%Rubber-like photopolymer — shrinks the most of any resin
Resin — Cast / Pattern0.5%1.2%Castable resins for resin-casting masters
PLA0.3%0.1%Stable in XY; Z barely moves because layers fuse together
PETG0.4%0.2%Slightly more than PLA — stringy and higher tension
ABS / ASA0.6%0.3%Warping and enclosure heat push the contraction up
PLA-CF0.4%0.2%Carbon-fiber filled PLA — stiffer, marginally tighter
Polycarbonate (PC)0.6%0.3%High-temperature engineering filament
Nylon (PA12)0.8%0.4%Hygroscopic — absorbs moisture and contracts noticeably
TPU (95A)0.7%0.3%Rubber-like filament for tires, gaskets, and flex parts

These are the exact presets loaded into the calculator. Resin contracts hardest in Z, because each layer cures against a build platform that stays at a fixed distance while the rest of the part relaxes. FDM runs the other way — the Z axis barely moves at all, since every layer is bonded to the one below it and the whole part is already dimensionally locked.

How to compensate a print that has to fit

  1. 1

    Print a coupon in your actual material

    A 20mm cube costs almost nothing in resin and about four minutes on FDM. Print it with the same wall count, perimeters, and cure or cooling profile you use for the real part — shrinkage scales with how much mass is behind the outer wall.

  2. 2

    Measure it and switch to the Measured tab

    Enter 20 as the nominal size and your caliper reading as the measurement. The tool back-solves the shrink factor in both axes. Fully cured resin keeps creeping for a few hours, so measure again the next day before you commit to a number.

  3. 3

    Add clearance on top of the compensation

    Compensation makes the part hit its nominal size. It does not make a fit work. A 0.10mm gap reads as a snug slide fit, 0.20mm as a hand-assembled fit that survives handling, and a press fit wants negative clearance. Enter the gap you want in the clearance field and the tool gives you the exact hole to model.

  4. 4

    Scale the model, not the slicer profile

    Type the percentage into the model's scale field so only that object moves, and lock X, Y, and Z together. If the fit only needs correcting in one axis you can set them separately — the tool gives you an XY and a Z figure — but for a mating pin and socket, uniform is safer.

Shrinkage Compensation FAQ

How do I calculate shrinkage compensation for resin?

Compensation is 1 divided by the shrink factor, where the shrink factor is 1 minus your shrink percentage. For a 2% shrinkage that is 1 ÷ 0.98 = 102.04%, so you type 102.04% into the slicer. The same shrink rate applied to a 25mm slot means modelling it at 25 ÷ 0.98 = 25.51mm.

Why not just add the shrink percentage to 100%?

Because 1 + 2% = 1.02 assumes the shrink happens after scaling, which is not what happens — you scale a part that then shrinks by 2%, and those two operations do not commute. The exact answer is the reciprocal, 1.020408. The gap is 0.04% in scale, which is invisible on a display piece and exactly the amount that stops a 0.5mm pin sliding into its socket.

How much does resin actually shrink?

Standard photopolymer resin shrinks roughly 0.3% in XY and around 0.9% in Z, with tough and ABS-like resins slightly higher and flexible resins the worst at 0.7% in XY. FDM filaments sit lower — PLA around 0.3% in XY and almost nothing in Z, because every layer is bonded to the one below it. Treat all of these as starting points, not specifications.

Why does resin shrink more in Z than in XY?

Each layer cures against a build platform held at a fixed distance, so the fresh layer is pulled tight to the plate while the rest of the part is still relaxing. FDM inverts the pattern entirely: the Z axis is dimensionally locked by layer bonding, and the contraction shows up in XY from thermal stress and tension in the extrusion.

Should I compensate a miniature standing on a round base?

Usually not. On a 32mm figure, 0.3% is 0.1mm, which is well inside normal print variation and far below what you can see. Compensation earns its keep on mating parts — a pin and a socket, a cap that has to seat, a wall panel that has to meet a corner post at a tight tolerance. If the part has to fit something, measure it; if it just has to stand there, leave it alone.

What is the most accurate way to find my shrink rate?

Print a coupon and measure it. A 20mm cube costs almost nothing and takes four minutes on FDM. Measure with calipers, then enter the nominal size and your reading into the Measured tab — the tool back-solves the real shrink factor for your brand, batch, wall count, and cure time. Resin keeps creeping after it comes off the plate, so measure again the next day before trusting the number.

Does shrinkage compensation change the scale of the model?

Only in the sense that it changes the size — it does not change the proportion between features. Shrinkage is near-isotropic, so scaling up by 1.02 to hit a target diameter does not make your miniature's arms longer relative to its body. It is a dimensional fix, not a scale change. If you need a different tabletop scale as well, that is the scale engine's job and the two multiplications stack.