HomeCalculatorsEngineeringTolerance Stack-up Calculator
Engineering calculator

Tolerance Stack-up Calculator

Combine dimensional tolerances with worst-case sum or RSS root-sum-square. Basic magnitude list or Engineering mode with nominal, ±tol, and direction.

Instant result
Result

Enter values to calculate.

Inputs
Mode
Formula
Trust summary CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance · Basic RSS/WCA + Engineering dimensions[] + O3 mpmath tabulated RSS/WCA
Input interpretation
Enter values to calculate.
Result
Verified scope
Basic RSS/WCA + Engineering dimensions[] + O3 mpmath tabulated RSS/WCA
Assurance
Engineering
Declared partition coverage
PASS · 8/8 declared partitions (basic-rss, basic-wca, engineering-symmetric, engineering-asymmetric, engineering-1sigma, engineering-3sigma, engineering-uniform, invalid-domain) · Matrix
Deferred
Geometric GD&T, 3-D assembly loops, and Monte Carlo remain out of this calculator (see Monte Carlo Tolerance). O3 does not cover GD&T.
Numerical scope
≤2 ULP vs O3 applies only to the published tabulated Basic RSS/WCA and Engineering dimensions[] vectors (symmetric, asymmetric, 1σ, 3σ, uniform). It is not a whole-domain stack guarantee and does not cover GD&T or 3-D loops.
Known limitations
  • Core CVP does not include live graph, viewport, or pointer interaction.
Model
1-D tolerance stack (Basic RSS/WCA or Engineering dimensions).
Scope
Linear 1-D stack
Verification
Engine tested · Source checked · v1.4.0 · CVP VERIFIED · CVP protocol 1.0.0-proposed · Engineering assurance · Basic RSS/WCA + Engineering dimensions[] + O3 mpmath tabulated RSS/WCA· View Manifest · CVP overview · Specification
Versions
Calculation 1.4.0 · CVP protocol 1.0.0-proposed · Evidence 2026-09-16.o3-linear
Verification revision
2026-09-16.o3-linear · 18/18 property · digest 9ae988cdc138
Legacy regression
35/35 tests · Production surface contract 8/8
Trust layers
Verification VERIFIED · Production CURRENT · overall VERIFIED
Reference
O1 model · O3 expected_values · O3 numerical_behavior · O2 expected_values · O2 numerical_behavior
Interfaces
PASS · UI (SSR) / REST / MCP — ui-ssr is query-result HTML, not a live browser session. Error-path engine·REST·MCP 1/1 (status, code, calculation_version). SSR compared on URL-canonical requested calculations; empty query is idle (not an error) and JSON-typed object/array inputs are REST/MCP-only.
Supplemental domain review
Internal · Pass · metrology-engineer
Named expert review
Not performed
CVP suite
10/10 golden · 11/11 CVP boundary · 5/5 invalid · 18/18 property · 10/10 O3 · 6/6 cross-interface · 8/8 CVP contract · Manifest
Sources
Sources
Evidence
4 legacy golden · 13 legacy boundary · legacy regression suite · 10/10 oracle-backed golden · 5/5 invalid · Artifact integrity PASS · CalculatorX engineering review
This calculator CURRENT · Public schema 1.4.0 matches · Semantic contract ✓ · Production attested · Public/cache ✓ · Origin ✓
Semantic contract
PASS
Full verification

Manifest identity, reference classes, interfaces, suite, and production records.

Formulas

Core equations used by this calculator.

Worst case (Basic)stack = Σ|tol_i|
Worst case (Engineering)stack_worst = max(stack_worst_plus, stack_worst_minus)
RSSstack = √Σ u_i²
Engineering nominalstack_nom = Σ s_i · nom_i
i1-D linear stack. Not geometric GD&T or Monte Carlo. statistical_basis chooses how a=(T++T−)/2 becomes u (magnitude/1σ/3σ/uniform). Half-range ≠ worst-case when +Tol/−Tol are asymmetric about nominal.

How to use

1

Choose Basic or Engineering

Basic accepts magnitude tolerances. Engineering adds nominal, +Tol/−Tol, direction, and statistical basis.

2

Choose RSS or worst-case

Basic RSS treats each entered tolerance as a comparable RSS contribution magnitude and assumes independent contributors — no σ or coverage is implied (use Engineering to declare statistical_basis). Worst-case bounds extremes; Engineering also reports asymmetric W+/W− relative to nominal.

3

Read stack and range

Compare RSS vs W±. Engineering mode also shows nominal, min/max, range, and half-range (secondary).

Example calculations

Common configurations with formula and result.

ϟ

0.1 · 0.2 · 0.1

Basic RSS

√(0.01+0.04+0.01)
≈ 0.2449
ϟ

A10 +0.05/−0.15 − B5±0.2 + C3±0.1

Engineering asymmetric

nom=8 · [7.55, 8.35]
W−=0.45 · W+=0.35 · stack_worst=0.45 · RSS≈0.2449

Tolerance Stack-up calculator specification

Version 1.4.0 · Engine tested · Supplemental domain review · Internal · 2026-08-11

Calculation status

Review policy · Evidence · Reviewed by CalculatorX engineering review (metrology-engineer)

Definition
Worst-case stack = Σ|tol_i| (Basic) or max(stack_max−stack_nom, stack_nom−stack_min) (Engineering). RSS stack = √Σ u_i² where u comes from statistical_basis on bilateral half-range a. Engineering mode adds nominal, direction-aware min/max, and asymmetric ±tol sides.
What it calculates
1-D tolerance stack (Basic RSS/WCA or Engineering dimensions).
Inputs
  • mode rss|worst_case
  • tol[] or tol1…tol8
  • dimensions[{name,nom,tol_plus,tol_minus,direction,statistical_basis}]
Outputs
  • stack
  • stack_rss
  • stack_worst
  • stack_worst_plus
  • stack_worst_minus
  • stack_range
  • stack_half_range
  • stack_nom
  • stack_stat_center
  • stack_center_shift
  • stack_min
  • stack_max
  • rss_over_wca
  • n
  • profile
  • dimensions
Formula
Σ|t| or √Σu²; u from statistical_basis on a; uniform midpoint → stack_stat_center; Engineering: stack_worst=max(W+,W−)
Assumptions
  • Linear 1-D stack
  • All contributors must use the same unit. CalculatorX performs no implicit unit conversion; mixed-unit input is unsupported
  • Basic mode: signs ignored via |tol|
  • Engineering: direction + adds / − subtracts; asymmetric ±tol supported
  • RSS assumes independent contributors
  • Default statistical_basis=magnitude → u=a with no coverage probability
  • 1sigma → u=a; 3sigma → u=a/3; uniform → u=a/√3
  • Uniform asymmetric ±tol: statistical center uses interval midpoint; stack_nom stays drawing nominal
  • Legacy distribution=normal→1sigma, unknown→magnitude, uniform→uniform
  • stack_half_range ≠ stack_worst when +Tol/−Tol are asymmetric about nominal
  • When inputs are specification limits rather than σ-based values, prefer magnitude — RSS is an estimate and not a guaranteed assembly limit
Units
  • same as tol / nominal inputs — homogeneous implied unit; no conversion
Boundary conditions
  • No tol / empty dimensions → MISSING_REQUIRED_INPUT
  • Bad mode / direction / statistical_basis → INVALID_MODE
Example
Engineering A10+0.05/−0.15 − B5±0.2 + C3±0.1 → nom=8, W−=0.45, W+=0.35, stack_worst=0.45, RSS≈0.245
Validation cases

7 published on this page · 35/35 tests · Production surface contract 8/8 · View evidence

  • rss 0.1,0.2,0.1 → stack≈0.24494897427831783
  • worst_case 0.1,0.2,0.1 → stack=0.4
  • rss single 0.25 → stack=stack_worst=0.25
  • eng A10±0.1 −B5±0.2 +C3±0.1 → stack_nom=8 stack_min=7.6 stack_max=8.4 stack_worst=0.4
  • eng asymm A10+0.05/−0.15 −B5±0.2 +C3±0.1 → stack_worst_plus=0.35 stack_worst_minus=0.45 stack_half_range=0.4 stack_worst=0.45
  • eng 3sigma a=0.3 → stack_rss=0.1
  • eng uniform asymm A10+0.05/−0.15 −B5±0.2 +C3±0.1 → stack_nom=8 stack_stat_center=7.95 stack_center_shift=-0.05
Sources
Last reviewed
2026-08-11
Reviewed by
CalculatorX engineering review (metrology-engineer)
Calculation version
1.4.0

Background

Interpretation and common distinctions.

Compute a 1-D tolerance stackBasic (magnitude list) or Engineering (nominal · ±tol · direction).

Basic default: tol 0.1, 0.2, 0.1 · RSS → ≈ 0.2449 · WCA → 0.4.

Engineering default: A 10 +0.05/−0.15 (+) − B 5±0.2 (−) + C 3±0.1 (+) → nom = 8, min/max = 7.55 / 8.35, W− = 0.45, W+ = 0.35, stack_worst = 0.45, half-range = 0.4, RSS ≈ 0.2449.

Statistical assumption

RSS assumes independent statistical contributors. If inputs are specification limits rather than σ-based values, prefer magnitude — RSS is then an estimate and does not represent a guaranteed assembly limit.

In Engineering mode, statistical_basis maps bilateral half-range a=(T₊+T₋)/2 into the RSS contributor u:

  • magnitude (default) → u=a, no coverage probability
  • 1sigma → u=a (explicit 1σ)
  • 3sigma → u=a/3
  • uniform → u=a/√3; when +Tol≠−Tol, Stat center uses the interval midpoint while Nominal stays the drawing value

Legacy distribution values still work: normal1sigma, unknownmagnitude, uniformuniform.

When +Tol/−Tol are asymmetric about nominal, half-range is not worst-case. Use stack_worst_plus / stack_worst_minus; scalar stack_worst = max(plus, minus).

Supported and not supported

Supported — Basic tol[] / tol1…tol8 · Engineering dimensions[] (asymmetric ±tol, direction, statistical_basis) · RSS vs W± · nominal / Stat center · min/max · range / half-range

Not supported — Geometric GD&T stacks, 3-D assembly loops, Monte Carlo (see Monte Carlo Tolerance)

Agent / API notes

Capability id: engineering.tolerance.stackup · tool id: tolerance-stackup · pin 1.4.0.

Trust tier is internally reviewed (CalculatorX metrology review), not named external expert verification.

Share URLs include v=1.4.0. Prefer POST body dimensions[] for Engineering; Basic may use tol[] or tol1…tol8. Prefer statistical_basis over legacy distribution.

Other calculators in this family: Tolerance / Uncertainty Workspace, Uncertainty propagation, Worst-case analysis .

}

Frequently asked questions

Key distinctions behind the calculation.

RSS or worst-case?

Worst-case evaluates the adverse combination of permitted limits and gives deterministic min/max bounds within the declared 1-D linear stack model. The scalar stack_worst is max(stack_worst_plus, stack_worst_minus) — not half-range when asymmetric. RSS is a statistical estimate for independent contributors and is never a guaranteed assembly bound. A σ-based statistical_basis defines sigma scaling for RSS, not a hard assembly limit; probability coverage still depends on the assumed distribution.

What is Engineering mode?

Engineering mode accepts Dimension · Nominal · +Tol · −Tol · Direction · Statistical basis. It returns nominal stack, min/max, worst+ / worst−, scalar stack_worst, RSS, range, and half-range. Direction + adds to the stack; − subtracts.

What does Statistical basis mean?

It tells CalculatorX what bilateral half-range a=(T++T−)/2 represents for RSS: Magnitude (default, no coverage) and 1σ use u=a; 3σ uses u=a/3; Uniform uses u=a/√3. Prefer Magnitude when ±tol are drawing limits.

What do the ±tol inputs mean?

Basic mode treats each input as a tolerance magnitude. Engineering mode uses +Tol/−Tol as specification-side limits around nominal. Magnitude implies no σ or probability coverage. Selecting 1σ or 3σ defines the sigma scaling; probability coverage additionally depends on the assumed distribution.

Does ASME Y14.5 define the RSS formula?

No. ASME Y14.5 defines GD&T symbols, rules, and drawing requirements. Worst-case and RSS stack-up are common tolerance-analysis practices discussed in ASME tolerance-stack literature and metrology guidance such as NIST TN 1297 for combining independent uncertainty components.