Tolerance is the allowable variation in a machined dimension on a mechanical part. Every machined part has some variation from the nominal dimension specified on the drawing. No machining process can produce every single part at exactly the same size. The question is how much variation is acceptable. Tolerance answers that question.
Understanding tolerances is essential for anyone designing or machining mechanical parts as covered in our CNC Terminology Glossary. Specify tolerances that are too tight and the part costs too much. Specify tolerances that are too loose and the part does not fit or function correctly.
What Is ISO 2768
Tolerance Classes
ISO 2768 is an international standard that defines general tolerances for machined parts. Instead of specifying a tolerance for every single dimension, you write ISO 2768 followed by a tolerance class letter in the drawing title block. Instead of specifying a tolerance value for every single dimension on a drawing you can write ISO 2768 followed by a tolerance class letter in the drawing title block. This single notation defines the acceptable tolerance for all dimensions that do not have an explicit tolerance callout.
The standard has two parts. ISO 2768-1 covers linear and angular dimensions including sizes, lengths, diameters, and angles. ISO 2768-2 covers geometric tolerances including flatness, straightness, perpendicularity, symmetry, and runout.
The Four Classes
Fine class f provides the tightest tolerances for precision-critical features. Medium class m is the general-purpose standard for most machined parts. Coarse class c for non-critical features. Very coarse class v for large non-critical structures.
The default for metal parts is fine class f. The default for plastic parts is medium m because plastic expands and contracts more with temperature.
Tolerance Class Values
Linear Dimension Tolerances
For linear dimensions between 6 and 30 mm: fine class f = ±0.1 mm, medium m = ±0.2 mm, coarse c = ±0.5 mm. For 30 to 120 mm: fine = ±0.15 mm, medium = ±0.3 mm.
Applying ISO 2768 to Drawings
To apply ISO 2768, write the standard and class in the title block. For example ISO 2768-m applies medium tolerance to all dimensions. ISO 2768-f applies fine tolerance. If a specific feature needs tighter tolerance, write the value directly next to that dimension — it overrides the general standard for that single dimension.
To apply ISO 2768 to a drawing write the standard and class in the title block. For example ISO 2768-m applies medium tolerance to all linear and angular dimensions. ISO 2768-f applies fine tolerance. If a specific feature needs a tighter tolerance write the value directly next to that dimension on the drawing. That explicit tolerance overrides the general standard for that single dimension.
What CNC Machines Can Actually Hold
Tolerance Capability by Process
Standard CNC machining with a well-maintained machine can hold ±0.005 inches (0.13 mm) for most features. This is equivalent to ISO 2768 fine class f. Precision CNC machining with careful setup can hold ±0.001 inches (0.025 mm). Ultra-precision machining can hold ±0.0002 inches (0.005 mm).
The practical tolerance that a shop can hold depends on several factors. Machine condition is the most important factor. A well-maintained industrial VMC with proper temperature control holds tighter tolerances than an older machine or a hobby-grade machine. Tool condition matters significantly because a worn tool cuts differently than a sharp tool. Workpiece material matters because aluminum expands more than steel when heated.
Factors Affecting Achievable Tolerance
Machine condition is the most important factor — a well-maintained VMC holds tighter tolerances than a worn machine. Tool condition matters — a worn tool cuts differently than a sharp tool. Workpiece material matters — aluminum expands more than steel when heated. Part geometry — a simple external dimension is easier to hold than a deep pocket requiring long reach tools.
Specifying Tolerances on Drawings
Using ISO 2768
The most economical approach is to use ISO 2768 for general dimensions and call out specific tolerances only where needed. A typical title block: ISO 2768-m. Features needing tighter control get an explicit tolerance like 20 ± 0.05 mm.
Explicit Tolerance Notation
The standard tolerance notation uses the nominal dimension followed by the tolerance value. A dimension of 20 mm ± 0.1 mm means the acceptable range is 19.9 to 20.1 mm. Unilateral tolerances (e.g., 20 +0.1/-0.0) are used for press fits and clearance fits.
GD and T Basics
Geometric tolerances (GD and T) are used for features needing position, flatness, or runout control. A true position tolerance controls location relative to a datum. Flatness controls how flat a surface must be. Runout controls how much a cylindrical feature can wobble.
When specifying explicit tolerances on a drawing, use standard increment values. For values under 0.1 mm use increments of 0.01 mm. For values between 0.1 and 1 millimeter use increments of 0.1 millimeters. For values over 1 millimeter use increments of 0.5 millimeters. Avoid specifying tolerances that are unnecessarily tight because each level of precision increases machining cost.
The standard tolerance notation on an engineering drawing uses the nominal dimension followed by the tolerance value. A dimension of 20 millimeters with a tolerance range of plus or minus 0.1 millimeters is written as 20 plus or minus 0.1. A unilateral tolerance where the variation is only in one direction is written as 20 plus 0.1 minus 0.0 for a hole or 20 plus 0.0 minus 0.1 for a shaft.
Unilateral tolerances are commonly used for press fits and clearance fits. A hole that must accept a shaft is dimensioned with a positive tolerance only. The hole can be larger than nominal but not smaller. A shaft that must fit into a hole is dimensioned with a negative tolerance only. The shaft can be smaller than nominal but not larger.
Geometric tolerances using GD and T symbol language are used for features that need position, flatness, or runout control that cannot be expressed with simple linear tolerances. GD and T uses feature control frames with symbols for each geometric characteristic. A true position tolerance controls the location of a feature relative to a datum. A flatness tolerance controls how flat a surface must be within a specified tolerance zone. The surface must lie between two parallel planes spaced apart by the flatness tolerance value. Flatness does not reference any other feature or datum. It applies only to the surface itself. Runout tolerance controls how much a cylindrical feature can wobble when rotated about its axis. Total runout controls both circular and axial variation. Runout is commonly used for rotating parts like shafts and pulleys.
GD and T tolerances are more expressive than linear tolerances but they require more training to read and interpret correctly. Many machine shops can work with GD and T tolerances but you should confirm with your shop before applying complex geometric tolerances. For simple parts linear tolerances with ISO 2768 are usually sufficient.
When a part has critical features that must align with each other specify a datum reference frame. Datums are the reference points from which all measurements are taken. The primary datum is the most important reference surface. The secondary and tertiary datums provide additional reference in order of importance. All toleranced features are measured relative to this datum system. For values between 0.1 and 1 millimeter use increments of 0.1 millimeters. For values over 1 millimeter use increments of 0.5 millimeters. Avoid specifying tolerances that are unnecessarily tight because each level of precision increases machining cost.
The cost impact of tighter tolerances is significant. Moving from standard machining at plus or minus 0.005 inches to precision machining at plus or minus 0.001 inches can double or triple the machining cost. Moving to ultra-precision can increase cost by an order of magnitude. Only specify tight tolerances on features that actually need them.
Fits and Material Conditions
Fit Types
When two parts fit together, the tolerance determines the fit type. A clearance fit has space between parts for free movement. An interference fit has parts pressing together. A transition fit is between the two.
ISO Fit Classes
The ISO system uses letter and number combinations. H7 is the standard tolerance grade for a hole. g6 or h6 is standard for a shaft. H7/g6 = precision sliding fit. H7/h6 = close clearance fit. H7/p6 = light press fit.
Material Effects on Fits
Aluminum and brass are dimensionally stable and hold tight tolerances. Steel generates more cutting heat causing thermal expansion. Stainless steel work hardens requiring careful parameter control. Plastics expand and contract with temperature and absorb moisture — use looser tolerances than metal.
For most hobby and small shop work you do not need the full ISO fit system. A simple plus or minus tolerance on each part dimension is usually sufficient for the parts to fit together correctly. The machinist can interpret the required fit from the individual tolerances. If the drawing specifies a shaft at 20 plus 0.0 minus 0.05 and a hole at 20 plus 0.05 minus 0.0 the machinist knows the shaft must fit into the hole with a clearance between zero and 0.1 millimeters.
The material from which the part is made affects the achievable tolerance and the appropriate fit class. Aluminum and brass are dimensionally stable and can hold tight tolerances. Steel is also stable but generates more heat during cutting which causes thermal expansion. Stainless steel work hardens and requires careful control of cutting parameters to maintain tolerance. Plastics expand and contract with temperature and absorb moisture which changes dimensions over time. Plastic parts should use looser tolerances than metal parts. Delrin and nylon are more stable than polycarbonate and acrylic.
Thermal expansion is a significant factor in precision machining. A steel part grows by about 0.000006 inches per inch per degree Fahrenheit. A 10-inch steel part machined in a 70 degree shop and measured in a 60 degree inspection room is 0.0006 inches smaller. This is enough to push a tight tolerance part out of spec. For precision work the part and the inspection equipment should be at the same temperature. Specify the shaft dimension and the hole dimension with their individual tolerances and let the machinist determine if the fit is appropriate.
Surface Finish and Tolerance
Relationship Between Finish and Tolerance
Surface finish and dimensional tolerance are related but not the same. A part can have tight tolerances with a rough finish. Both should be specified independently on the drawing.
The surface finish affects how two mating parts behave. A rough surface has microscopic peaks and valleys that compress when the parts are assembled. This means the effective dimension changes after assembly as the peaks wear down. For precision fits the surface finish should be smooth enough that the peaks do not affect the fit. A general rule is that the surface finish Ra value should be no more than one tenth of the tolerance band. If the tolerance is plus or minus 0.1 millimeters the surface finish should be 0.01 millimeters Ra or better.
Surface Finish Specifications
Standard machining produces about 1.6 μm Ra (63 μin). Precision machining produces about 0.8 μm Ra (32 μin). Grinding produces 0.2 to 0.4 μm Ra. The surface finish Ra value should be no more than one tenth of the tolerance band — if the tolerance is ±0.1 mm, the finish should be 0.01 mm Ra or better.
Surface finish is specified using Ra roughness average in micrometers or microinches. Standard machining produces about 1.6 micrometers Ra or 63 microinches. Precision machining produces about 0.8 micrometers Ra or 32 microinches. Grinding produces 0.2 to 0.4 micrometers Ra. Surface finish affects how parts fit together because rough surfaces have high points that contact first.
The surface finish callout on a drawing uses a checkmark symbol with the Ra value. For example 1.6 indicates a maximum Ra of 1.6 micrometers. The surface finish applies to the entire surface unless specified otherwise. Different surfaces on the same part can have different finish requirements.
Reducing Tolerance Cost
Only Tighten What Matters
The best way to reduce cost is to only tighten tolerances on features that need them. A bracket holding a shelf does not need aerospace tolerances. Specify ISO 2768-m for general dimensions and only tighten critical features.
Design for Tolerance
Design with standard tool sizes — a pocket matching a standard end mill diameter is easier to machine. Avoid stacking tolerances across multiple features — each tolerance adds up. Consider the material — tolerances practical in aluminum may be difficult in plastic. For critical plastic parts, add a note specifying the temperature and humidity conditions under which tolerances apply.
Measuring Tolerances
Measurement Tool Requirements
The tool resolution should be at least 10x better than the tolerance being measured. A tolerance of ±0.005“ requires a tool with 0.0005“ resolution. A tolerance of ±0.001“ requires 0.0001“ resolution.
Choosing the Right Tool
Digital calipers are suitable for tolerances down to ±0.005“ (resolution: 0.0005“). For tighter tolerances use a micrometer (resolution: 0.0001“). For hole diameters use a dial bore gauge or pin gauge set — pin gauges are precision ground pins in 0.001“ increments that are the most reliable way to verify hole tolerances.
Temperature and Inspection
Temperature affects measurement accuracy. A steel part measured at 70°F is at nominal size. At 90°F it is about 0.0001“ per inch larger. For tight tolerance work, allow the part to cool to room temperature before measuring. Keep the part and measurement tool in the same environment for at least 30 minutes before measuring.
For measuring hole diameters use a dial bore gauge or a pin gauge set. Pin gauges are precision ground pins in 0.001 inch increments that are inserted into the hole. If a 0.500 inch pin fits and a 0.501 inch pin does not the hole diameter is between those two values. Pin gauges are the most reliable and accurate way to verify hole tolerances.
Temperature affects measurement accuracy significantly. A steel part measured at 70 degrees Fahrenheit is at its nominal size. The same part measured at 90 degrees is about 0.0001 inches per inch larger. For tight tolerance work allow the part to cool to room temperature before measuring. Keep the part and the measurement tool in the same environment for at least 30 minutes before measuring.
Inspection and quality control are essential parts of working with tolerances. Every machined part should be inspected to verify it meets the specified tolerances before it is shipped or assembled. First article inspection is the process of measuring the first part produced to verify the program and setup are correct. Subsequent parts are spot-checked at a frequency determined by the tolerance requirements and process stability.
For production work statistical process control SPC is used to monitor trends in part dimensions. If a dimension is trending toward the limit of the tolerance band the process can be adjusted before parts start falling out of spec. SPC reduces scrap and ensures consistent quality over long production runs.
Tolerance Quick Reference Table
| Feature Type | Standard Tolerance | Precision Tolerance | Measurement Tool |
|---|---|---|---|
| External dimensions | ±0.005“ | ±0.001“ | Calipers |
| Shaft diameters | ±0.003“ | ±0.0005“ | Micrometer |
| Hole diameters | ±0.005“ | ±0.001“ | Pin gauge |
| Pocket depths | ±0.010“ | ±0.002“ | Depth micrometer |
| Hole positions | ±0.005“ | ±0.001“ | CMM or gauge pins |
Use this table to select appropriate tolerances for common feature types based on your part requirements.
Here is a sample G-code for inspecting a tolerance-critical dimension:
; Inspect dimension after rough pass
G90 G94 G17 G54
G21
M03 S5000
G00 X0 Y0 Z5
G01 Z-0.5 F100 ; Cut to test depth
G00 Z5 ; Retract for measurement
M05
M30
; Measure actual depth with micrometer
; Adjust Z offset if needed
For more reference guides and useful resources see our CNC Terminology Glossary and our Complete G-Code List. For more information on measurement tools see our CNC Shop Starter Kit guide.

CNC Terminology Glossary: 50+ Terms Every Machinist Should KnowJune 26, 2026 · Reference
CNC Coolant Selection Guide: Flood vs Mist vs MQL for MachiningJune 27, 2026 · Guides
Complete G-Code List: CNC Programming Reference with ExamplesJune 25, 2026 · Reference
CNC Probing and Tool Setting Guide: Touch Probe Workflow SetupJune 27, 2026 · Guides