Unlock free freight

Unlock free shipping for your web orders!
The more you order, the more you save on shipping.

×

Manufacturing innovation, built into your price

Order more, pay less — pricing across meviy’s manufacturing lines now works in your favour, and lead times just got faster.

×

CNC Machining Tolerances: Types, Standards and How to Specify Them

CNC machining tolerances define how far a machined dimension may deviate from its nominal value — for example 50 ±0.1 mm. They decide whether parts fit together and function, and they have a direct impact on machining time and cost. Choosing the right tolerances is therefore one of the most important tasks for designers and engineers.

This guide explains the types of tolerances and the standards behind them, the general tolerances according to ISO 2768, how to specify size, angular and fit tolerances correctly, and how dimensioning affects tolerance stack-up.

What are CNC machining tolerances?

A tolerance is the permissible variation of a dimension from its nominal size. No machine produces a part to exactly the nominal size: tool wear, temperature, clamping and the material itself always cause small deviations. Tolerances define how large these deviations may be, so that every part still fits, functions and is interchangeable.

In CNC machining, tolerances are usually given in millimetres (mm) or micrometres (µm) and are specified on the technical drawing or in the 3D model. They balance two goals: tight enough for the function of the part, but as loose as possible to keep machining efficient and cost-effective.

Types of tolerances in CNC machining

Five types of tolerances are used in part design. Each controls a different property and is defined by its own ISO standard:

Tolerance typeWhat it controlsStandardExample
Size tolerances (dimensional)Lengths, diameters, thicknesses, anglesISO 14405-1, general tolerances ISO 2768-150 ±0.1 mm, 90° ±0.5°
Geometrical tolerances (GD&T)Form, orientation, location and run-out of featuresISO 1101, general tolerances ISO 2768-2Flatness 0.05 mm
Surface textureRoughness of a surfaceISO 21920-1 (formerly ISO 1302)Ra 1.6 µm
FitsHow tightly a hole and a shaft fit togetherISO 286-1 and ISO 286-2Ø10 H7/g6
Positional tolerancesLocation of features relative to datumsISO 1101, ISO 5459 (datums)Position Ø0.1 to A, B, C

In the UK, BS 8888 brings these ISO standards together into one framework for technical product documentation.

Geometrical tolerances at a glance

Geometrical tolerances control the shape and position of features beyond their size. Each characteristic has its own symbol, which is placed in a feature control frame on the drawing:

CategoryCharacteristicsDatum needed?
FormStraightness, flatness, roundness (circularity), cylindricityNo
OrientationParallelism, perpendicularity, angularityYes
LocationPosition, concentricity / coaxiality, symmetryYes (usually)
Run-outCircular run-out, total run-outYes
ProfileProfile of a line, profile of a surfaceOptional

Key terms for size tolerances

Misunderstood terms lead to design errors. These are the most important terms according to ISO 286-1:

TermMeaning
Feature of sizeA feature defined by a linear or angular size, e.g. a hole diameter or a groove width
Nominal sizeThe ideal size shown on the drawing, e.g. Ø10
Maximum and minimum permissible sizeThe largest and smallest size the finished feature may have
Upper deviationMaximum permissible size minus nominal size (ES for holes, es for shafts)
Lower deviationMinimum permissible size minus nominal size (EI for holes, ei for shafts)
ToleranceDifference between the maximum and minimum permissible size; always positive
Fundamental deviationThe deviation closest to the nominal size, indicated by a letter (e.g. H, g)
Tolerance grade (IT grade)The size of the tolerance, indicated by a number from IT01 to IT18
Tolerance classCombination of fundamental deviation and tolerance grade, e.g. H7 or g6

General tolerances according to ISO 2768

When a dimension on a drawing has no individual tolerance, the general tolerance stated in the title block applies — for example “ISO 2768-mK”. General tolerances keep drawings clean: only the dimensions that really matter need an individual tolerance. They are symmetrical around the nominal size, and a part is acceptable as long as every dimension stays within the permitted range.

ISO 2768-1 defines four tolerance classes for machined parts: f (fine), m (medium), c (coarse) and v (very coarse). The values are identical to the Japanese standard JIS B 0405.

Linear dimensions (excluding chamfers and radii)

Nominal size (mm)f (fine)m (medium)c (coarse)v (very coarse)
0.5 to 3±0.05±0.1±0.2–
Over 3 to 6±0.05±0.1±0.3±0.5
Over 6 to 30±0.1±0.2±0.5±1
Over 30 to 120±0.15±0.3±0.8±1.5
Over 120 to 400±0.2±0.5±1.2±2.5
Over 400 to 1,000±0.3±0.8±2±4
Over 1,000 to 2,000±0.5±1.2±3±6
Over 2,000 to 4,000–±2±4±8

Chamfers and radii (external radii and chamfer heights)

Nominal size (mm)f and mc and v
0.5 to 3±0.2±0.4
Over 3 to 6±0.5±1
Over 6±1±2

Angular dimensions

Length of the shorter leg (mm)f and mcv
Up to 10±1°±1°30′±3°
Over 10 to 50±30′±1°±2°
Over 50 to 120±20′±30′±1°
Over 120 to 400±10′±15′±30′
Over 400±5′±10′±20′

Class m (medium) is the most common choice for CNC-machined parts. Class f is used for precision parts, while c and v suit rough machining and large welded or cast components.

How to specify size tolerances

If the general tolerance is not sufficient, specify an individual tolerance next to the nominal dimension. If the upper and lower deviations are equal, write them with ±. If they differ, write them stacked: the upper deviation above, the lower deviation below.

Four ways to write size tolerances on a drawing: 10 ±0.01, 10 +0.05/0, 10 0/−0.03 and 10 +0.05/−0.03

A size tolerance does not have to be symmetrical. A unilateral tolerance such as 10 +0.05/0 shifts the permitted range to one side of the nominal size and shows the design intent — for example that a hole must never be smaller than 10 mm. Keep in mind that machinists usually aim for the middle of the tolerance range.

Tolerance values are written in the same font size as the dimension itself. The default settings of your CAD software are usually fine, as long as the text is easy to read.

How to specify angular tolerances

Angular tolerances follow the same notation as size tolerances, but the unit must always be written. Angles are usually given in degrees (°), minutes (′) and seconds (″), where 60 seconds make one minute and 60 minutes make one degree — just like on a clock.

Four ways to write angular tolerances: 45° ±0.5°, 45° ±0°30′, 45° +1°/0 and 45° 0/−1°

To convert minutes to decimal degrees, divide by 60. Whether you use decimal degrees or degrees and minutes is up to you — both are correct.

Minutes1′5′10′15′20′30′45′
Decimal degrees0.0167°0.0833°0.1667°0.25°0.3333°0.5°0.75°

Tolerance stack-up: chain vs parallel dimensioning

The way you dimension a part determines how tolerances add up. The example below shows the same part with an overall width of 90 mm and a 30 mm groove, dimensioned in two ways using general tolerances (class m).

Parallel dimensioning

Tolerance stack-up with parallel dimensioning: overall width 90 ±0.3 mm from the drawing, groove width 30 ±0.5 mm by calculation

All dimensions start from the right edge. The overall width can be read directly: 90 ±0.3 mm. The groove width, however, is the difference between 50 mm and 20 mm, so both tolerances add up: ±0.3 + ±0.2 = ±0.5 mm.

Chain dimensioning

Tolerance stack-up with chain dimensioning: groove width 30 ±0.3 mm from the drawing, overall width 90 ±0.8 mm by calculation

The dimensions follow one another. The groove width can be read directly: 30 ±0.3 mm. The overall width is the sum of three dimensions, so all three tolerances add up: ±0.3 + ±0.3 + ±0.2 = ±0.8 mm.

DimensionParallel dimensioningChain dimensioning
Overall width 90 mm±0.3 mm (direct)±0.8 mm (calculated)
Groove width 30 mm±0.5 mm (calculated)±0.3 mm (direct)

Note: nominal sizes can be added or subtracted, but tolerances always add up. The rule is simple:

  • Dimension functionally critical features directly, so their tolerance is not the result of a calculation.
  • If the groove width matters most, use chain dimensioning. If the overall width or the position of the groove from the edge matters most, use parallel dimensioning.
  • Avoid long dimension chains on critical features: every link adds its tolerance.

The calculation above is a worst-case analysis: it assumes that all dimensions are at their extremes at the same time. For larger batch sizes, a statistical analysis (root sum square, RSS) is often used instead. In the chain example, it gives √(0.3² + 0.3² + 0.2²) ≈ ±0.47 mm instead of ±0.8 mm.

Fits: clearance, transition and interference

A fit describes the relationship between a hole and a shaft before assembly. ISO 286 defines three types of fit tolerance:

  • Clearance fit: the shaft is always smaller than the hole. Used for sliding and rotating parts and for parts that must be easy to assemble.
  • Transition fit: depending on the actual sizes, there is a small clearance or a small interference. Used for accurate locating of parts such as gears, couplings and dowel pins.
  • Interference fit: the shaft is always larger than the hole. Used for press-fitted parts such as bushings and pins that must stay in place permanently.

How to specify fits on a drawing

Fits are specified with a tolerance class after the nominal size: an uppercase letter for holes (Ø10 H7) and a lowercase letter for shafts (Ø10 g6). The letter defines the position of the tolerance zone relative to the nominal size; the number defines its size. Grooves and slots count as holes, protrusions as shafts.

Position of tolerance zones relative to the nominal size Ø10 for holes F to M and shafts f to m

The hole-basis system with H7 holes is the most common in mechanical engineering. Typical combinations:

FitTypeShaft deviations at Ø10 (hole H7: 0/+0.015 mm)Typical use
H7/g6Clearance (sliding)−0.005 / −0.014 mmPrecise sliding and rotating parts, guides
H7/h6Clearance (locational)0 / −0.009 mmParts that are positioned and can be assembled by hand
H7/k6Transition+0.010 / +0.001 mmGears, pulleys and couplings on shafts
H7/p6Interference (light press)+0.024 / +0.015 mmPress-fitted bushings and dowel pins

How tight should CNC machining tolerances be?

Tighter tolerances mean slower machining, more inspection and more scrap — so cost rises sharply as tolerances get tighter. As a guide for CNC machining:

  • Standard machining: general tolerance ISO 2768-m, i.e. ±0.1 to ±0.3 mm for typical part sizes.
  • Precision machining: ±0.01 to ±0.05 mm for fits, bearing seats and locating features.
  • Plastics: plan for wider tolerances, because plastics expand more with temperature and some absorb moisture.

Follow these principles to keep parts accurate and affordable:

  • Check the general tolerance first, and only add individual tolerances where the function needs them.
  • Use standard fit classes such as H7 instead of arbitrary values for mating parts.
  • Dimension critical features directly to avoid tolerance stack-up.
  • Consider the material: stainless steel, hardened steel and plastics are harder to hold to tight tolerances than aluminium or free-cutting steel.

CNC machining tolerances with meviy

meviy, the on-demand manufacturing platform by MISUMI, produces individually designed parts directly from your 3D CAD data — not catalogue or standard parts. Tolerances are handled directly in the 3D model, without a 2D drawing:

  • Dimensions without an individual tolerance are machined to medium general tolerances (JIS B 0405 m, equivalent to ISO 2768-m).
  • Tighter tolerances are set directly in the 3D viewer, with tolerance ranges as small as 0.02 mm (±0.01 mm).
  • Precision holes with fit tolerance H7 are produced by reaming.
  • Price and lead time are recalculated instantly when you change a tolerance, so you can see the cost of precision right away.

This applies to CNC milling and CNC turning. Learn more about CNC machining with meviy.

Frequently asked questions about CNC machining tolerances

What is a standard tolerance for CNC machining?

The most common standard is the general tolerance ISO 2768-m (medium). For a dimension between 30 and 120 mm, it allows ±0.3 mm. Tighter tolerances must be specified individually on the drawing or in the 3D model.

What is the difference between ISO 2768-1 and ISO 2768-2?

ISO 2768-1 covers general tolerances for linear and angular dimensions in the classes f, m, c and v. ISO 2768-2 covers general geometrical tolerances such as straightness, flatness and perpendicularity in the classes H, K and L. They are often combined on drawings, e.g. ISO 2768-mK.

What does H7 mean?

H7 is a tolerance class for holes according to ISO 286. The letter H means the lower deviation is zero, so the hole is never smaller than the nominal size. The number 7 is the tolerance grade; for a Ø10 hole, H7 allows 0 to +0.015 mm.

What is tolerance stack-up?

Tolerance stack-up is the accumulation of tolerances when a dimension results from several other dimensions. In a chain of three dimensions with ±0.3, ±0.3 and ±0.2 mm, the resulting dimension can vary by up to ±0.8 mm. Dimensioning critical features directly prevents this.

How tight can CNC machining tolerances be?

Modern CNC machines can hold tolerances of ±0.01 mm and tighter on critical features. Such tolerances increase cost significantly, so they should only be used where the function of the part requires them.

Conclusion

CNC machining tolerances are the link between design intent and a functional, affordable part. Use general tolerances according to ISO 2768 for everything that is not critical, add individual size, angular and fit tolerances only where the function needs them, and dimension critical features directly to avoid tolerance stack-up. The result: parts that fit the first time, at the lowest possible cost.

Ready to start
Get precise CNC parts without a drawing
Upload your 3D CAD, set your tolerances in the 3D viewer, and see price and lead time instantly.
Get started with meviy →
Table of Contents

Need a custom part made?

Upload your 3D CAD and order custom parts directly online.

  • Instant quote with price and lead time
  • No 2D drawing needed
  • CNC: milling and turning
  • Sheet metal: laser cutting and welding
Upload CAD, see your price

Free meviy account · no obligation

Bauteil fertigen lassen?

Laden Sie Ihr 3D-CAD hoch und bestellen Sie Ihre Teile direkt online.

  • Sofortangebot mit Preis und Lieferzeit
  • Keine 2D-Zeichnung nötig
  • CNC: Fräsen und Drehen
  • Blech: Laserschneiden und Schweißen
CAD hochladen, Preis sehen

Kostenloses meviy-Konto · unverbindlich

Besoin d’une pièce sur mesure ?

Importez votre CAO 3D et commandez vos pièces directement en ligne.

  • Devis instantané avec prix et délai
  • Aucun plan 2D nécessaire
  • CNC : fraisage et tournage
  • Tôlerie : découpe laser et soudage
Importer ma CAO, voir le prix

Compte meviy gratuit · sans engagement

Ti serve un pezzo su misura?

Carica il tuo CAD 3D e ordina i tuoi pezzi direttamente online.

  • Prezzo e tempi di consegna immediati
  • Nessun disegno 2D necessario
  • CNC: fresatura e tornitura
  • Lamiera: taglio laser e saldatura
Carica il CAD, vedi il prezzo

Account meviy gratuito · senza impegno

¿Necesitas una pieza a medida?

Sube tu CAD 3D y pide tus piezas directamente online.

  • Precio y plazo de entrega al instante
  • Sin necesidad de planos 2D
  • CNC: fresado y torneado
  • Chapa: corte por láser y soldadura
Sube tu CAD y mira el precio

Cuenta meviy gratuita · sin compromiso

Potrzebujesz części na zamówienie?

Prześlij swój model CAD 3D i zamawiaj części bezpośrednio online.

  • Cena i termin realizacji od ręki
  • Bez rysunku 2D
  • CNC: frezowanie i toczenie
  • Blacha: cięcie laserowe i spawanie
Prześlij CAD, zobacz cenę

Darmowe konto meviy · bez zobowiązań