Understanding 3D Printing Tolerances: The Complete Engineering Guide to Dimensional Accuracy in FDM, SLA, SLS, and MJF

A comprehensive technical deep-dive into dimensional tolerances across FDM, SLA, SLS, and MJF processes — covering thermal contraction physics, stepper…

·

Understanding 3D Printing Tolerances: The Complete Engineering Guide to Dimensional Accuracy in FDM, SLA, SLS, and MJF

Dimensional accuracy is the single most critical quality metric in additive manufacturing — and the one that separates prototyping from production. When a customer asks "can you hold ±0.1 mm?", the answer depends on process physics, material behavior, machine calibration, and part geometry. This guide breaks down the engineering fundamentals behind tolerances in every major 3D printing process, with datasheet-backed specifications, thermal contraction models, and practical design rules.

Why Tolerances Matter: Beyond the Spec Sheet

A manufacturer's stated tolerance of "±0.2 mm" or "±0.5% (whichever is greater)" is a statistical claim about process capability — not a guarantee that every feature on every part will fall within that envelope. In CNC machining, tolerances are dominated by tool deflection, spindle runout, and thermal growth of the machine structure. In 3D printing, the error sources are fundamentally different: material shrinkage, layer discretization, and deposition- or fusion-resolution limits.

For a 100 mm part, ±0.2 mm is 0.2% — excellent by additive standards. For a 10 mm feature, that same ±0.2 mm is 2%, which may render a press-fit or snap joint non-functional. This is why most manufacturers quote tolerances as a percentage of nominal dimension above some threshold.

Process Capability at a Glance

Process · Typical Tolerance · Best Achievable · Dominant Error Source

FDM · ±0.3–0.5 mm (±0.5%) · ±0.1 mm · Thermal contraction, backlash

SLA/DLP · ±0.1–0.2 mm (±0.2%) · ±0.05 mm · Resin shrinkage, pixel size

SLS · ±0.2–0.3 mm (±0.3%) · ±0.1 mm · Thermal warping, powder particle size

MJF · ±0.2–0.3 mm (±0.3%) · ±0.1 mm · Fusing agent spread, cooling non-uniformity

Metal PBF (DMLS/SLM) · ±0.1–0.2 mm (±0.2%) · ±0.05 mm · Residual stress distortion, support anchoring

These numbers are for well-calibrated industrial machines. Desktop FDM printers can easily drift to ±0.5–1.0 mm without regular calibration.

FDM: The Physics of Extrusion Tolerance

Fused Deposition Modeling tolerances are governed by five interacting error sources. Understanding each one lets you tune them independently.

1. Extrusion Width and the Road Geometry Model

The fundamental FDM deposition unit is the extruded road — a flattened ellipse with width W and height H (the layer height). The slicer assumes a rectangular cross-section of W \times H, but the actual road is closer to a stadium shape. The extrusion width defines the minimum feature size in the XY plane:

Where E is the extrusion multiplier, d_f is filament diameter (nominally 1.75 mm), H is layer height, and D_n is nozzle diameter. For a standard 0.4 mm nozzle at 0.2 mm layer height with E=1.0:

This means the minimum printable external feature (wall, boss) is approximately 0.5 mm, and any dimension must be an integer multiple of the extrusion width to be accurate. A 2.0 mm wall printed with 0.49 mm roads requires 4 perimeters (1.96 mm) or 5 (2.45 mm) — neither hits 2.0 mm exactly. The slicer compensates with thin-wall overlap adjustments, but this introduces its own error.

2. Stepper Motor Resolution and Backlash

XY positioning in FDM is belt-driven with stepper motors. The theoretical minimum step (microstep) is:

Where D_p is the pulley pitch diameter (typically 10–12 mm for GT2 pulleys), N_s = 200 steps/rev (1.8° motor), and N_{\mu} is microstepping (usually 16×). For a 10 mm pulley:

This sub-10 μm resolution suggests FDM can hold ±0.01 mm — but microstep positioning torque is only ~10% of full-step holding torque. Under load (nozzle drag, belt tension), the actual positioning error is dominated by belt stretch and backlash in the pulley-to-belt interface, typically 20–50 μm each.

Backlash error in direction reversal follows:

Where F_{\text{load}} is the cutting/drag force (typically 1–5 N for FDM), L_{\text{belt}} is the free belt span (~300 mm), and k_{\text{belt}} is belt stiffness (GT2 belt ≈ 15–25 N/mm per mm width for a 6 mm belt). At 5 N load:

This is usually compensated in firmware (Marlin's M425 backlash compensation), but only for constant loads — the dynamic nozzle drag during direction changes creates uncompensated errors.

3. Thermal Contraction: The Dominant Error Source

Thermoplastic shrinkage during cooling is the single largest contributor to FDM dimensional error. The linear contraction is:

Where \alpha is the coefficient of thermal expansion (CTE), L_0 is the nominal dimension, and \Delta T is the temperature drop from glass transition to ambient.

Material · Extrusion Temp (°C) · T_g (°C) · CTE (×10⁻⁶/K) · \Delta L/L at 100 mm

PLA · 200–220 · 55–60 · 68–85 · 0.2–0.3% → 0.2–0.3 mm

ABS · 230–250 · 100–105 · 73–95 · 0.5–0.7% → 0.5–0.7 mm

PETG · 230–250 · 75–80 · 60–68 · 0.3–0.4% → 0.3–0.4 mm

Nylon (PA6) · 250–270 · 50–60 · 80–110 · 0.6–1.0% → 0.6–1.0 mm

PC · 270–300 · 145–150 · 65–70 · 0.6–0.8% → 0.6–0.8 mm

ASA · 240–260 · 100–110 · 80–95 · 0.5–0.7% → 0.5–0.7 mm

For a 100 mm ABS part cooling from T_g (105°C) to ambient (25°C) with CTE = 85 \times 10^{-6}/K:

Most slicers apply a uniform scaling factor (XY\ compensation) to pre-compensate for this. PrusaSlicer's default is 100% (no compensation); experienced users dial in 100.2–100.5% for PLA and 100.5–100.8% for ABS. But the contraction is anisotropic: parts shrink more in XY (constrained by previous layers) than in Z, and more in long unconstrained spans than in densely filled regions.

4. The Hole Problem: Why Internal Features Run Small

All FDM prints produce holes that are 0.1–0.3 mm undersized. This is because:

  1. The extruded road has rounded corners — the slicer's toolpath follows the hole's nominal perimeter, but the actual extruded plastic bulges inward, reducing the effective diameter
  2. The STL tessellation of a circle into polygons introduces chordal error: an n-facet polygon approximating a circle of radius R has maximum chordal deviation:

For a 5 mm hole with 64-facet tessellation: \delta_c \approx 5 \cdot (1 - \cos(2.81°)) \approx 5 \cdot 0.0012 \approx 6 \ \mu\text{m} — negligible at typical STL resolutions. The dominant hole error comes from the road geometry.

Design rule: Add 0.2–0.3 mm to hole diameters in CAD for FDM. For press-fit holes, drill or ream after printing — the as-printed surface roughness and ovality make consistent interference fits unreliable without post-processing.

5. Z-Axis: Layer Height Quantization

The Z-axis has a fundamentally different error model from XY because it's discretized into fixed layer increments. A dimension H_{\text{target}} is rounded to the nearest layer multiple:

Where h_{\text{layer}} is the layer height. The quantization error is:

At 0.2 mm layer height, the worst-case Z error is ±0.1 mm, independent of part size. At 0.1 mm, it drops to ±0.05 mm. This quantization is especially visible in top surfaces: the slicer rounds the part height to the nearest layer, potentially leaving the top 0.05–0.1 mm above or below nominal. For mating surfaces, always add 0.1 mm of sacrificial material and sand to final height.

Z-Axis Lead Screw Errors

Beyond layer quantization, the Z-axis lead screw introduces periodic error from:

Where \delta is the bend amplitude and p is the screw pitch (8 mm for T8×8). This creates a characteristic "Z-banding" pattern visible on vertical surfaces.

SLA/DLP: Photopolymerization Accuracy

Stereolithography achieves the tightest tolerances of any polymer AM process because it eliminates the mechanical positioning errors of FDM in XY — the laser or projector defines each voxel optically.

Pixel and Laser Spot Resolution

For DLP (mask projection) printers, the XY resolution is:

A 1920×1080 DMD (digital micromirror device) projecting onto a 120 mm build width gives:

For laser-based SLA, the laser spot diameter defines the minimum feature size. Industrial systems (3D Systems, Stratasys Origin One) use 75–140 μm spot sizes. Desktop units (Formlabs) use ~85 μm.

The achievable tolerance is typically 2–3× the pixel or spot size due to resin cure depth blooming and layer adhesion effects.

Resin Shrinkage

UV-curable resins shrink 1–3% linearly during polymerization — significantly more than FDM thermoplastics (0.2–0.7%). The volumetric shrinkage S_v converts to linear shrinkage via:

For a resin with 5% volumetric shrinkage: S_L = 1 - (0.95)^{1/3} \approx 1.7\%.

Unlike FDM where shrinkage is mostly uniform and can be compensated by XY scaling, SLA shrinkage is geometry-dependent. Thick sections cure more completely and shrink more than thin walls. This creates differential stress that warps unsupported overhangs and thin sections.

Compensation strategy: Most SLA slicers (PreForm, ChiTuBox) apply isotropic scaling factors. For critical dimensions, a test print of a calibration artifact and measurement-based compensation per axis is the only reliable approach.

Layer Cure Depth and the Working Curve

SLA tolerances in Z are driven by the working curve — the relationship between energy dose and cure depth:

Where C_d is cure depth, D_p is penetration depth (material constant, typically 0.1–0.2 mm), E is the energy dose (mJ/cm²), and E_c is the critical energy — the minimum dose to initiate polymerization (typically 5–10 mJ/cm²).

To achieve a 50 μm layer, the required dose is:

But the cure spreads beyond the intended layer boundary — cure-through into previous layers bonds them together, and lateral scatter widens features. This is why SLA part dimensions are always slightly larger than the CAD model, and why compensation scaling of 99.5–99.8% is standard practice.

Post-Curing Dimensional Change

Most SLA parts require post-curing (UV flood exposure) to reach full mechanical properties. This introduces an additional 0.2–0.5% shrinkage — parts are typically printed slightly oversized to account for this. Formlabs recommends measuring post-cure shrinkage per resin and applying a green-state offset in PreForm.

SLS: Powder Bed Fusion Accuracy

Selective Laser Sintering occupies a middle ground between SLA precision and FDM scalability. The dominant error sources are thermal — not optical.

Laser Spot Size and Sintering Zone Width

SLS uses a CO₂ laser (10.6 μm) or fiber laser (1.07 μm) with spot sizes of 200–500 μm. The sintering zone — the region raised above the melting/sintering temperature — is wider than the optical spot because heat conducts radially through the powder bed:

Where \alpha is thermal diffusivity of the powder bed (PA12 powder: ~0.1 mm²/s at typical bed temperatures) and t_{\text{dwell}} is the laser dwell time. For a 400 μm spot with 1 ms dwell:

The thermal spread is modest for polymers due to low diffusivity, but it does blur sharp corners by ~20 μm.

Thermal Warping: The SLS Achilles' Heel

SLS builds occur in a heated chamber held just below the powder's melting point (PA12: ~175°C in the bed vs. 186°C melting). Each new layer of powder is spread cold (or at ambient) and heated by the laser, creating a steep thermal gradient:

This gradient drives differential thermal expansion. As the layer cools toward bed temperature, it contracts, but is constrained by the already-solidified layers below. The resulting residual stress causes curl — the peeling of edges and corners away from the nominal plane.

Curl displacement in a cantilevered section of length L:

Where h is the part thickness. For a 50 mm overhang in PA12 (CTE ≈ 110×10⁻⁶/K) with \Delta T = 10°C and h = 3 mm:

This is large enough to cause recoater blade collisions and build failures. The fix is to anchor overhangs with support structures and keep wall thicknesses above 2–3 mm.

Powder Particle Size as a Resolution Limit

SLS accuracy is ultimately bounded by the powder particle diameter. PA12 powder for SLS has a D50 (median particle size) of 50–60 μm and D90 of 90–110 μm. Surface roughness (R_a) is approximately 0.5 \times D50 ≈ 25–30 μm, and this roughness floor also limits the minimum meaningfully measurable dimension. Features below ~0.2 mm are unreliable because they're comparable to a few particle diameters.

MJF: Multi Jet Fusion

HP's Multi Jet Fusion shares SLS's powder-bed architecture but replaces the laser with an inkjet-printed fusing agent and an infrared heating pass. This changes the tolerance profile in two important ways:

Fusing Agent Spread

The fusing agent is jetted at 1200 DPI (~21 μm droplet spacing), but capillary wicking into the powder bed spreads the agent laterally. The effective fusing resolution is:

Where d_{\text{wick}} is the capillary spread distance — typically 50–80 μm in PA12 powder. At 21 μm jet resolution: \Delta x_{\text{MJF}} \approx \sqrt{21^2 + 60^2} \approx 63.6 \ \mu\text{m}.

In practice, HP quotes ±0.2 mm or ±0.3% (whichever is greater) for dimensional accuracy on the Jet Fusion 5420W — comparable to SLS for most geometries, but with better isotropy because the entire layer is heated simultaneously (no scan-path-dependent thermal history).

Detailing Agent and Edge Definition

MJF uses a detailing agent around part perimeters to improve edge sharpness by locally cooling the powder and preventing fusing agent spread. This reduces the thermal transition zone at edges from ~100 μm (without detailing) to ~50 μm. The tradeoff: detailing agent can cause edge delamination if too aggressive — the perimeter of the part is under-fused relative to the interior, creating a weak skin that can peel under load.

Tolerance Stack-Up in Multi-Part Assemblies

When multiple 3D printed parts must fit together, individual tolerances accumulate via the root-sum-square (RSS) method for statistically independent errors:

Where T_i are the individual part tolerances. For a 3-part assembly where each part holds ±0.2 mm:

This is the statistical worst case — actual stack-up is usually less because errors are randomly distributed. But for critical fits (bearings, alignment pins), use the worst-case method:

For the same assembly: 0.2 + 0.2 + 0.2 = 0.6 mm. The gap or interference must accommodate this full range.

Practical Fit Clearances

Fit Type · Clearance (FDM) · Clearance (SLA) · Clearance (SLS/MJF)

Sliding fit (shaft-in-hole) · 0.3–0.5 mm diametral · 0.1–0.2 mm · 0.2–0.3 mm

Press fit · 0.0–0.1 mm interference · 0.0–0.05 mm · 0.0–0.1 mm

Snap fit (cantilever) · 0.2–0.4 mm engagement · 0.1–0.2 mm · 0.15–0.3 mm

Threaded insert boss · H7 tolerance (~0.02 mm) via post-print drilling · Same · Same

Why you should never rely on as-printed press fits in FDM: The as-printed hole is oval (typically 0.05–0.1 mm out-of-round from the staircase effect), and the surface roughness (R_a \approx layer height × 0.3) means the actual contact area is only 20–40% of the nominal — small enough to creep under sustained load. Drill or ream any hole that must hold a precision fit.

Specifying Tolerances for 3D Printed Parts

ISO 2768 and Why It Doesn't Apply (Directly)

ISO 2768 defines general tolerances for machined parts — ±0.1 mm for fine, ±0.2 mm for medium, ±0.5 mm for coarse on dimensions up to 30 mm. These are achievable in FDM only for the "coarse" or "very coarse" classes without post-processing.

Instead, reference ISO/ASTM 52902 (additive manufacturing — test artifacts for geometric capability) and specify process-specific tolerances. A typical drawing note for 3D printed parts:

UNLESS OTHERWISE SPECIFIED:
- LINEAR DIMENSIONS: ±0.3 MM OR ±0.5% OF NOMINAL (WHICHEVER GREATER)
- HOLE DIAMETERS: +0.2/-0.0 MM (TO BE DRILLED/REAMED IF PRESS FIT REQUIRED)
- FLATNESS: 0.1 MM PER 25 MM
- SURFACE ROUGHNESS: Ra 8-12 μm (AS-PRINTED, FDM)

GD&T for Additive Manufacturing

Geometric Dimensioning and Tolerancing (GD&T) symbols are fully applicable to 3D printed parts. The most useful controls:

Cost Escalation with Tight Tolerances

The relationship between tolerance and part cost is highly nonlinear. Halving the tolerance roughly doubles the effective print time (thinner layers, slower speeds, more perimeter passes) and increases the scrap rate. A part quoted at ±0.5 mm might cost ₹500; the same part at ±0.1 mm could cost ₹2,000–3,500 because:

  1. Thinner layers: 0.1 mm vs. 0.2 mm → 2× print time increase
  2. Slower speeds: 30 mm/s for accuracy vs. 60 mm/s for throughput → another 2×
  3. Post-processing: Sanding, drilling, reaming add labor at ₹300–500/hour
  4. Scrap rate: From 2% to 10–15% for tight tolerances on complex geometries

The engineering rule of thumb: specify the loosest tolerance the design can tolerate. Every ±0.05 mm you can relax saves 20–40% in per-part cost for production runs.

Calibration and Verification

The Calibration Cube Test

The standard 20×20×20 mm XYZ calibration cube tells you three things:

For a more thorough analysis, print the NIST AM Test Artifact (a standardized geometry with pins, holes, ramps, and flat surfaces at known dimensions) and measure with calipers (±0.02 mm) or a CMM (±0.005 mm).

Statistical Process Control

For production AM, track C_{pk} (process capability index):

Where USL and LSL are the upper and lower specification limits, \mu is the process mean, and \sigma is the standard deviation. A C_{pk} \geq 1.33 (the industry standard for production) means the process spread fits 4× within the tolerance band. For a ±0.3 mm tolerance with C_{pk} = 1.33:

This is achievable on well-calibrated industrial FDM and easily achieved on SLA/SLS. Desktop FDM typically operates at C_{pk} \approx 0.8–1.0, meaning some fraction of parts will be out of tolerance unless the specification is relaxed.

Summary: What Tolerance Should You Expect?

Process · Production Tolerance · Achievable with Post-Processing · Minimum Feature Size

Desktop FDM · ±0.3–0.5 mm · ±0.1 mm (drill/ream critical holes) · 0.8 mm (0.4 mm nozzle)

Industrial FDM · ±0.15–0.25 mm · ±0.05 mm · 0.4 mm (0.25 mm nozzle)

Desktop SLA/DLP · ±0.1–0.2 mm · ±0.05 mm · 0.3 mm

Industrial SLA · ±0.05–0.1 mm · ±0.02 mm (grinding) · 0.1 mm

SLS (PA12) · ±0.2–0.3 mm · ±0.1 mm · 0.5 mm

MJF (PA12) · ±0.2–0.3 mm · ±0.1 mm · 0.5 mm

DMLS/SLM (Metal) · ±0.1–0.2 mm · ±0.05 mm (machining) · 0.3 mm

The most important tolerance decision is made before any plastic is melted: communicate your critical-to-function dimensions and their acceptable range to your manufacturer before quoting. A good manufacturer will tell you honestly whether your part fits within their process capability and suggest design modifications if it doesn't. The numbers in this guide are a starting point — actual capability varies by machine, material, geometry, and operator skill.


If you're looking for manufacturing partners who can hold the tolerances your design requires, browse FabFlow's manufacturer directory and filter by process, material, and location.

More FabFlow blog posts