Tolerance Stack-Up Calculator
Build a 1D dimension chain, get the resulting gap by worst case, RSS, MRSS and Monte Carlo simulation, see which tolerance drives the result, and print a calculation report.
Add every dimension between the two faces you care about. Give it a
direction — + if it opens the gap (a housing length, a bore
depth), − if it closes it (a part being installed, a shoulder, a spacer) — and
its deviations exactly as drawn, or type an ISO 286 code
like H7 or g6 and let the calculator fill them in from the same
ISO 286 tables used by the tolerance & fit calculator.
All four methods run on the same chain at once. Set a minimum and/or maximum required gap to get a pass/fail verdict per method, plus Cp/Cpk and out-of-spec rate — predicted analytically by RSS and observed by the Monte Carlo simulation. Turn on process settings to give each row its own distribution, Cp and mean shift.
Dimension chain
Deviations in mm, as drawn (e.g. +0.021 / 0). Type an ISO 286 code to auto-fill
them for the row's nominal size; clear it to edit deviations by hand.
| # | Dimension | Dir. | Nominal (mm) | ISO 286 | Upper dev. (mm) | Lower dev. (mm) | Distribution | Cp | Mean shift (mm) | Actions |
|---|
Requirement & settings
Report details (printed on the PDF)
Worst case
ClearanceEvery dimension at its drawn limit, same time. Nothing can fall outside this band.
RSS (statistical)
ClearanceRoot sum square of each row’s σ (from its distribution and Cp; default normal, ±tol = ±3σ). Band = ±3σ of the gap.
MRSS (Bender)
ClearanceRSS × 1.5. Empirical correction for real processes that drift off centre.
Monte Carlo
Clearance20,000 simulated assemblies, each row sampled from its own distribution. Fixed seed, so the numbers are repeatable.
Distribution of the gap (Monte Carlo)
Bars: simulated assemblies. Dark line: the normal curve RSS assumes, at the same mean and σ. Red dashed: your requirement. If the bars are wider, skewed or shifted relative to the line, RSS is underestimating the risk.
Which tolerance drives the result?
Worst-case share is each half tolerance over the sum; RSS share is each squared half tolerance over the sum of squares — the share of the gap's variance. Tightening the top RSS contributor is where a tolerance change pays off most.
Largest contributor: Bearing A width — 35.2% of the gap variance, 31.1% of the worst-case band.
| # | Dimension | Dir. | Nominal (mm) | Deviations (mm) | ± tol (mm) | σ (mm) | Process | Worst-case share | Variance share |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Bearing A width | − | 15.000 | 0.000 / −0.120 | ±0.060 | 0.0200 | Normal | ||
| 2 | Bearing B width | − | 15.000 | 0.000 / −0.120 | ±0.060 | 0.0200 | Normal | ||
| 3 | Spacer sleeve | − | 29.800 | +0.050 / −0.050 | ±0.050 | 0.0167 | Normal | ||
| 4 | Housing bore length | + | 60.000 | +0.046 / 0.000 | ±0.023 | 0.0077 | Normal |
How the four methods work
Every row is first reduced to its mean (nominal + (upper + lower)/2) and its half tolerance ((upper − lower)/2). The gap's mean is the signed sum of the row means — that is why a unilateral tolerance shifts the expected gap away from the nominal. Each row's σ follows from its distribution: T/(3·Cp) for normal, T/√3 for uniform, T/√6 for triangular. The methods differ in how the rows combine:
Worst case
Tgap = Σ Ti
Arithmetic sum. Every part at its limit in the unfavourable direction, all at once. Guaranteed, but pessimistic — on a chain of four or more features it is often twice the realistic spread.
RSS
σgap = √(Σ σi²), Tgap = 3σgap
Root sum square of independent rows. With the defaults (normal, Cp = 1) this is the textbook √ΣTi². The band is centred on the process mean gap, so per-row mean shifts move it. Cp/Cpk and ppm come from σgap.
MRSS
Tgap = Cf · 3σgap
Modified RSS. Bender's correction factor Cf = 1.5 (1.4–1.8 in the literature) accounts for processes that drift and are not perfectly normal. Never larger than worst case.
Monte Carlo
gapk = Σ diri · xi,k, k = 1…N
Each row is sampled N times from its own distribution (Box–Muller for normal, sum of two uniforms for triangular) and the gap is rebuilt each time. Reported band = the 0.135–99.865 percentiles, the empirical equivalent of ±3σ, so pass/fail means the same as for RSS.
Not modelled: angled contributors, bonus tolerance at MMC, datum shift, and correlated dimensions (parts machined in one setup).
Glossary
- Gap
- The resulting distance between the two faces the chain connects. Positive = clearance, negative = interference, by convention of this calculator.
- Direction (+ / −)
- Sign of a dimension in the vector loop. + opens the gap, − closes it. Walking the loop from one face to the other, dimensions traversed "forward" are +, those traversed "backward" are −.
- Mean shift
- Difference between the mean gap and the nominal gap, caused by asymmetric or unilateral deviations. A stack of ±T values around nominal misses this.
- Cp / Cpk
- Process capability indices of the gap against the requirement. Cp compares the requirement width to 6σ; Cpk also accounts for how far the mean sits from the nearer limit. 1.33 is a common minimum, 1.67 for critical features.
- ppm out of spec
- Predicted assemblies per million falling outside the requirement, under the RSS (normal) assumption. ±3σ exactly filling the band gives about 2,700 ppm.
- Contribution
- How much each row is responsible for the gap's variation — as a share of the arithmetic band (worst case) or of the variance (RSS and Monte Carlo).
- Distribution (normal / uniform / triangular)
- Shape of the scatter of a dimension inside its band. Normal: bell curve, σ = T/(3·Cp). Uniform: any value equally likely, σ = T/√3. Triangular: peaked at the centre, σ = T/√6.
- Mean shift (per row)
- Distance between where a process actually centres and the middle of the drawn band. Shifts the RSS/MRSS/Monte Carlo results but not the worst case, which is about drawn limits.
Frequently asked questions
What is a tolerance stack-up?
A tolerance stack-up (or stack) is the analysis of how the tolerances of several dimensions in an assembly add up to affect a resulting gap, clearance or interference. Each dimension in the chain can be anywhere within its tolerance band, so the gap has a range too — the stack-up tells you how wide that range is and whether the assembly still works at its extremes.
When should I use worst case instead of RSS?
Use worst case when a failure is unacceptable: safety-critical fits, low production volumes, unproven suppliers, or a chain of only two or three dimensions (too few for the statistics to average out). Use RSS when parts are made in volume by stable, capable processes and a small predicted reject rate is acceptable. Many teams do both: worst case to prove feasibility, RSS to avoid over-tightening tolerances that cost money.
What is the MRSS "Bender factor" of 1.5?
Arthur Bender compared RSS predictions with measured assemblies and found that real processes — which drift, are not perfectly centred and are not perfectly normal — produce about 50% more variation than pure RSS predicts. Multiplying the RSS band by 1.5 (values from 1.4 to 1.8 appear in the literature) is a widely used practical correction. The calculator caps MRSS at the worst-case band, which it can never physically exceed.
How do I handle a unilateral tolerance like 15 0/−0.12?
Enter the deviations exactly as drawn: upper 0, lower −0.120. The calculator converts each band to its mean (14.940) and half tolerance (±0.060) internally, so the resulting gap is centred on the real expected value, not on the nominal. The "mean shift" figure in the results tells you how far the asymmetric deviations move the expected gap.
How do I model an interference or installation check?
Define the loop so that a positive gap means clearance: dimensions that open the gap (housing length, bore, slot) get a + direction, dimensions that fill it (parts being installed, shoulders, spacers) get a −. If the resulting range is entirely negative the assembly is in interference, if it straddles zero it is a transition — the same vocabulary as the ISO 286 fit calculator. Add a minimum required gap (e.g. 0.05 mm) to get a pass/fail verdict per method.
What does the Monte Carlo simulation add over RSS?
RSS is an analytic shortcut that assumes every dimension is normally distributed and centred. Monte Carlo instead builds thousands of virtual assemblies, drawing each dimension from the distribution you assign it — normal with a given Cp, uniform, or triangular — and with any mean shift you expect from the process. The result is the actual shape of the gap distribution (the histogram), an observed reject rate, and a check of how far the RSS assumption is from reality. The seed is fixed, so the same chain always gives the same numbers.
Which distribution should I pick for a row?
Normal is the default and fits most machined features under statistical control; use Cp = 1.33 or 1.67 if the supplier guarantees that capability. Uniform is the conservative choice for a poorly controlled process or a setting that is adjusted anywhere within the band (e.g. shims, manual adjustment). Triangular sits in between and is often used for purchased parts where only the drawing limits are known. A mean shift models a process that runs deliberately or systematically off centre — for instance a turned diameter kept towards the upper limit to allow rework.
Can I include geometric tolerances (position, flatness, perpendicularity)?
In a 1D stack a geometric tolerance that acts along the stack direction is added as a row with nominal 0 and a symmetric deviation (e.g. ±0.05 for a 0.1 position tolerance). Tolerances acting at an angle, bonus tolerance at MMC and datum shift are not modelled here — those need a full 2D/3D analysis.
References & further reading
- ASME Y14.5 — Dimensioning and Tolerancing — the GD&T standard whose tolerances feed a stack-up; ISO equivalents are ISO 1101 and ISO 14405.
- ISO 286-1:2010 — ISO code system for tolerances on linear sizes — source of the IT grades and fundamental deviations behind the ISO 286 auto-fill.
- F. Scholz, "Tolerance Stack Analysis Methods — A Critical Review" (Boeing, 1995) — the reference comparison of arithmetic, RSS, Bender and mean-shift methods.
- Tolerance analysis — Wikipedia — overview of worst-case vs. statistical tolerancing and of Monte Carlo simulation.
- Process capability index — Wikipedia — definitions of Cp and Cpk and their relation to σ and reject rates.
Carry this calculator in your pocket
MechaHandbook has the ISO 286 tolerance tables and more — thread charts, standard components and tightening torque — all offline, no internet required.
Download the app