Dimensional Tolerances — The Language of "Close Enough"
No part can be made to the exact nominal size — every machining process has some variation. A tolerance defines the acceptable range around that nominal. Too tight and the part is expensive to make; too loose and it won't fit or function. This page explains the tolerance system from the ground up.
The Basic Terms
| Term | Definition | Example (⌀25 ±0.05) |
|---|---|---|
| Nominal size | The target size on the drawing — the "ideal" number | ⌀25 mm |
| Basic size | The theoretical exact size from which deviations are measured | ⌀25 mm |
| Upper limit (USL) | The largest acceptable size | 25.05 mm |
| Lower limit (LSL) | The smallest acceptable size | 24.95 mm |
| Tolerance | The total allowed variation = USL − LSL | 0.10 mm |
| Upper deviation (es/ES) | USL − basic size | +0.05 |
| Lower deviation (ei/EI) | LSL − basic size | −0.05 |
Tolerance is always a positive number. It's the width of the allowed range, not a direction. ⌀25 ±0.05 has a tolerance of 0.10 mm, not 0.05.
How Tolerances Are Written on Drawings
Bilateral Tolerance
Variation allowed in both directions from nominal.
| Notation | Meaning | USL / LSL |
|---|---|---|
| 25 ±0.05 | Equal both directions | 25.05 / 24.95 |
| 25 +0.03/−0.07 | Unequal bilateral | 25.03 / 24.93 |
Unilateral Tolerance
Variation in only one direction — the other side is at nominal.
| Notation | Meaning | USL / LSL |
|---|---|---|
| 25 +0.1/−0 | Only larger is allowed | 25.10 / 25.00 |
| 25 +0/−0.1 | Only smaller is allowed | 25.00 / 24.90 |
Limit Dimensions
Max and min sizes written directly — no nominal.
| Notation | Meaning |
|---|---|
| 25.05 / 24.95 | Must be between 24.95 and 25.05 |
General Tolerances (Title Block)
Dimensions without an explicit tolerance use the default from the title block. A typical title block says:
UNLESS OTHERWISE SPECIFIED:
X.X ±0.1 X.XX ±0.025 X.XXX ±0.005
ANGLES ±0.5° ALL DIMENSIONS IN mm
This means: a dimension written as 25.4 has tolerance ±0.1; 25.40 has ±0.025; 25.400 has ±0.005. The number of decimal places tells you the tolerance — this is why trailing zeros matter on a drawing.
Common mistake: assuming 25.0 and 25.00 are the same. On a drawing, 25.0 means ±0.1 (one decimal place), while 25.00 means ±0.025 (two decimal places). Always count the decimal places to know the default tolerance.
Tolerance Grades (ISO IT Grades)
The ISO system assigns a tolerance grade to each size. IT01 is the tightest (laboratory gauge blocks); IT18 is the loosest (structural steel). For general machining, IT5–IT11 are the range you'll encounter.
| IT grade | Tolerance at ⌀25 mm | Typical application | How to achieve it |
|---|---|---|---|
| IT5 | 9 µm | Precision gauges, bearing seats | Grinding, honing |
| IT6 | 13 µm | Precision fits, shaft journals | Fine turning/grinding |
| IT7 | 21 µm | General fits — the most common | Finish turning/boring |
| IT8 | 33 µm | Looser fits, non-critical holes | Standard machining |
| IT9 | 52 µm | Rough fits, clearances | Drilling, rough milling |
| IT10 | 84 µm | Non-mating features | Standard milling |
| IT11 | 130 µm | Rough, stock dimensions | Sawing, roughing |
IT7 is the sweet spot. Most machined mating features are IT7 — achievable with standard CNC turning/milling, and tight enough for most fits. IT6 and above usually require grinding. IT9 and below are easy but only for non-critical dimensions.
How Tolerance Affects Cost
Tolerance is not free. As tolerance gets tighter, cost increases — often exponentially.
| Tolerance (⌀25) | Relative cost | Process needed |
|---|---|---|
| ±0.5 mm (IT12–13) | 1× (baseline) | Standard CNC |
| ±0.1 mm (IT10) | 1.2× | Standard CNC, good tooling |
| ±0.025 mm (IT7–8) | 2× | Finish pass, inspection |
| ±0.01 mm (IT6) | 4× | Fine finish, careful setup, 100% check |
| ±0.005 mm (IT5) | 8–10× | Grinding, temperature-controlled room, CMM |
Design rule: use the loosest tolerance that still works. Every unnecessary decimal place costs money. If a hole only needs to be ±0.1, don't specify ±0.025 "just to be safe." The shop will charge you for it, and the defect rate goes up.
Dimensioning Styles and Tolerance Accumulation
How you chain dimensions affects how tolerances stack up.
Chain Dimensioning (end-to-end)
Each dimension starts where the previous one ended. Tolerances accumulate: if you have 3 dimensions each ±0.1, the total stack from first to last can be ±0.3.
Baseline Dimensioning (from one edge)
All dimensions measured from the same reference edge. No accumulation — each dimension's tolerance is independent. But it can be harder to machine and inspect.
Direct Dimensioning
The functionally important distance is dimensioned directly, with other dimensions as reference (in parentheses). This is best practice for critical features.
See also: calculate how tolerances stack up across multiple features — Tolerance Stack-Up Calculator. For fits between mating parts — Fits & Hole Basis System.