CNC machined parts never come out at exactly the nominal dimension. Cutting forces, tool wear, thermal expansion and material behavior all introduce variation, which is why every dimension on a drawing needs either an explicit tolerance or a general default to fall back on. The dimension that hurts is the one nobody thought about: it defaults to a standard that may be looser than the part actually needs, or tighter than the budget allows.
This guide is the complete reference: the ISO tables, the practical tiers, and the specification rules that keep you from paying for precision you do not use.
1. ISO 2768-1: The Default Standard
ISO 2768-1 defines general tolerances for linear and angular dimensions that carry no individual callout. Four classes, with permissible deviation increasing as the class gets coarser and the nominal dimension gets larger:
| Nominal Dimension Range | Fine (f) | Medium (m) | Coarse (c) |
|---|---|---|---|
| 0.5 – 3 mm | ±0.05 mm | ±0.10 mm | ±0.20 mm |
| Over 3 – 6 mm | ±0.05 mm | ±0.10 mm | ±0.30 mm |
| Over 6 – 30 mm | ±0.10 mm | ±0.20 mm | ±0.50 mm |
| Over 30 – 120 mm | ±0.15 mm | ±0.30 mm | ±0.80 mm |
| Over 120 – 400 mm | ±0.20 mm | ±0.50 mm | ±1.20 mm |
| Over 400 – 1000 mm | ±0.30 mm | ±0.80 mm | ±2.00 mm |
A drawing marked ISO 2768-m applies the medium class to every unmarked dimension, the most common default in mechanical design. ISO 2768-2 separately covers geometric tolerances (flatness, perpendicularity and similar) with its own H/K/L grade tables; reference it when the drawing calls for it.
2. ISO 286: Fit Codes for Mating Features
Where parts mate, bilateral tolerances are replaced by fit designations. ISO 286 defines tolerance grades IT6 through IT8 as the common machining range, combined with a fundamental-deviation letter (H for holes, g/h for shafts):
| Nominal (mm) | IT6 | IT7 | IT8 |
|---|---|---|---|
| Up to 3 | 0.006 | 0.010 | 0.014 |
| 3 – 6 | 0.008 | 0.012 | 0.018 |
| 6 – 10 | 0.009 | 0.015 | 0.022 |
| 10 – 18 | 0.011 | 0.018 | 0.027 |
| 18 – 30 | 0.013 | 0.021 | 0.033 |
| 30 – 50 | 0.016 | 0.025 | 0.039 |
| 50 – 80 | 0.019 | 0.030 | 0.046 |
| 80 – 120 | 0.022 | 0.035 | 0.054 |
Practical fit usage: H7/g6 is a classic sliding clearance fit, H7/h6 a transition fit, and press fits move to tighter shaft zones. The numbers change with diameter, a fit code is not one universal value. Drawings should identify both mating components and the required fit, not just the tolerance band.
3. The Three Practical Tiers
| Tier | Typical Range | Inspection | Best For |
|---|---|---|---|
| Standard | ±0.1 – 0.2 mm | Manual gauging, spot checks | Brackets, housings, non-critical features |
| Precision | ±0.05 – 0.1 mm | CMM verification, documented report | Functional parts, mating features |
| High precision | ±0.01 – 0.025 mm | Full CMM, controlled environment | Aerospace, medical, optical, bearing seats |
Cost reality: tight tolerance typically multiplies part cost roughly 2–5x versus standard, driven by slower finishing passes, multiple measurement cycles and environmental control. That multiplier is exactly why the next section exists.
4. How to Specify Tolerances Correctly
The discipline that separates economical drawings from expensive ones:
- Reference a general standard (ISO 2768-m) across the whole print
- Call out only the features that functionally need tighter control, individually
- Use GD&T (position, flatness, perpendicularity) for functional relationships rather than rows of coordinate dimensions
- Flag surface finish separately (Ra), it is not a dimensional tolerance
- Confirm the shop provides CMM inspection reporting for flagged features
Worked example: a gearbox housing gets ISO 2768-m across the board (±0.2–0.3 mm for general geometry), the bearing bore is individually flagged at ±0.01 mm, and the sealing face carries a flatness callout of ±0.013 mm. Total inspection burden: one CMM report on two features, not a full dimensional report on forty.
5. When ISO 2768 Is Not Enough
Tight tolerance machining applies when a feature's fit or function depends on precision beyond the general standard: press-fit bores, sealing faces, bearing seats, features that mate across thousands of duty cycles. These features should be flagged individually with GD&T rather than tightening the entire drawing, only the functional dimension needs the extra process control and inspection.
And remember what actually limits achievability: material matters as much as machine capability. Harder, dimensionally stable materials with low thermal expansion hold tolerance more consistently than soft or thermally reactive ones. Two shops quoting the same tolerance on paper can produce very different consistency across a batch, ask about process capability, not just the number.
6. Quick Reference Card
| You Need | Specify |
|---|---|
| General part, fit not critical | ISO 2768-m across the print |
| Sliding fit on a shaft | ISO 286 fit code (e.g. H7/g6) at the mating diameter |
| Bearing bore | Individual ±0.01 mm callout |
| Sealing face | Flatness callout (e.g. ±0.013 mm) via GD&T |
| Press fit | Interference fit code per ISO 286 at diameter |
| Surface appearance | Ra value (see surface finish guide), not a tolerance |
Tolerance discipline is the cheapest engineering leverage on a machined part: the right drawing costs the same as the wrong one to produce, and halves the manufacturing cost. If your drawing is heading to quote and the tolerance strategy is "tight everywhere," that is the conversation to have before the first cut.