Producing a part with no deviation at all from the original design is extremely difficult. Even if one piece comes close to the design intent, it is almost impossible to hit exactly the same dimensions every time in a batch. What you can decide is how far a manufactured part may deviate from the design and still be accepted. In manufacturing, this acceptance range is set by limits called tolerances. A tolerance is the permitted variation between the nominal dimension (the original design intent) and the maximum and minimum values at which the design still works; in simple terms, a controlled margin of error.
Suppose you specify a solid round bar 100 mm long and Ø50 mm that has to fit into a hole in another part. You order 200 of these Ø50 mm bars, and when they arrive you find that they do not all measure Ø50 mm: you get values such as Ø53 mm, Ø47 mm, Ø51 mm and Ø49 mm, with a lot of variation. The bars also vary in length, and if you look closely they are not perfectly round. Can you still use them? If not, can you reject them and ask the supplier to remake them at no cost? How close to Ø50 mm do they really need to be?
ISO 2768-1
ISO 2768 table: tolerances per class
If the title block says “ISO 2768-m”, class m applies to every linear dimension without a tolerance of its own. Short answer: for most milled and turned parts, class m (medium) is the usual choice. Choose the class:
| Nominal size (mm) | f | m | c | v |
|---|---|---|---|---|
| 0.5 to 3 | ±0.05 | ±0.1 | ±0.2 | n.v.t. |
| 3 to 6 | ±0.05 | ±0.1 | ±0.3 | ±0.5 |
| 6 to 30 | ±0.1 | ±0.2 | ±0.5 | ±1 |
| 30 to 120 | ±0.15 | ±0.3 | ±0.8 | ±1.5 |
| 120 to 400 | ±0.2 | ±0.5 | ±1.2 | ±2.5 |
| 400 to 1000 | ±0.3 | ±0.8 | ±2 | ±4 |
| 1000 to 2000 | ±0.5 | ±1.2 | ±3 | ±6 |
| 2000 to 4000 | n.v.t. | ±2 | ±4 | ±8 |
Example: a 25 mm dimension in class m has ±0.2 mm, so 24.8 to 25.2 mm. Class f takes more inspection and causes more rejects; use c and v only where the dimension is not functional.
What ISO 2768 does not cover
- Fits and bearing seats: for these you specify an ISO 286 tolerance, such as H7 or g6, see fits.
- Form and position: straightness, flatness, perpendicularity, symmetry and run-out used to fall under ISO 2768-2 (classes H, K, L). That part was withdrawn in 2021 and replaced by ISO 22081; put tight form and position tolerances in a feature control frame.
- Surface roughness: specified separately with Ra or Rz, see roughness.
ISO 2768: an international standard
There is an international standard that not only helps answer these questions, but also keeps inconsistencies to a minimum while taking production costs into account. Because it was drawn up by an international committee, you work to the same rules as companies all over the world, so there are no misunderstandings. That standard is ISO 2768.
To explain what the standard contains, we use a real engineering example. Figure 1 shows a vehicle engine with an air conditioning compressor. The part that holds the compressor and connects it to the engine is the focus here; we call it the “compressor base”. We start with a prototype made from aluminium, then machined and drilled.
Once a 3D model with nominal dimensions is defined, the next step is to decide which features need tight tolerances and which may deviate more, so that these requirements can be stated on the 2D manufacturing drawing. The reason for different tolerance levels is simple: if every dimension needs a tight tolerance, the cost of the part rises sharply because of more demanding tooling and fixtures, operator skills, and scrap and rework. The lead time also grows, because every part in the batch needs strict inspection of every dimension, and as this example shows, some components have complex compound geometry that is not easy to measure.
When you design a part, ask what the main function of each feature is. Some dimensions are critical because they have to line up with other parts, so their margin of error must be controlled. Other features have dimensions and positions that are less critical, so they can be more flexible in manufacturing. As you would expect, it is a trade-off between accuracy and cost.
For our compressor base, Figure 2 shows which features really need a tight tolerance and which may vary more. The classification shown is an example, so it may differ for other designs. It is up to you to work out the right classification from the function of your product. In our case, the drilled holes that connect to the engine block and to the compressor must be aligned and correctly positioned, so their tolerance is in the fine class (see #1 and #2 in Figure 2). The contact faces between components also matter for alignment (#3 and #4), but in this example a medium tolerance was enough, because a finer machined surface than the supplier delivered did not improve alignment enough to justify the extra cost. The ribs, on the other hand, are there to add strength, so their wall thickness can be defined as an acceptable minimum with a looser tolerance, as long as it meets the lower limit (#5, coarse tolerance). The main body of the base was given a very coarse tolerance (#6), and finally we define reference surfaces, or datums, from which the other dimensions are controlled (#7, fine tolerance, because we dimension from these surfaces). For other designs, features such as ribs, fillets and chamfers can be critical, depending on their function.
ISO 2768 is divided into two parts, and both simplify drawings by defining precision levels as general rules:
- General tolerances for linear and angular dimensions (part 1), with precision levels defined as: f fine, m medium, c coarse, v very coarse
- Geometrical tolerances for features (part 2), with precision levels defined as tolerance classes: H, K and L
For example, a 2D manufacturing drawing can be specified as ISO 2768-mK, which means that as a general rule it must meet the tolerance ranges for “medium” in part 1 and tolerance class “K” in part 2. By including the ISO 2768 specification, you simplify the drawing and avoid writing a tolerance for every dimension and feature. We say general rule because there can be exceptions where a dimension needs a tighter tolerance than ISO 2768 gives. That is normal, so always check the title block of the drawing for general tolerance requirements and look out for any special part specification or project requirement.
Be aware that several other standards work with similar dimensional concepts.
ISO 2768 part 1: linear and angular dimensions
Table 1 shows the accuracy levels, or tolerance classes, for linear dimensions. One application is the distance between the holes in our compressor base example (see Figure 3).
Table 1: Tolerance classes, linear dimensions
| Permissible deviations in mm | ||||
| Basic size range in 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.0 |
| 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 1000 | ±0.3 | ±0.8 | ±2.0 | ±4.0 |
| over 1000 to 2000 | ±0.5 | ±1.2 | ±3.0 | ±6.0 |
| over 2000 to 4000 | – | ±2.0 | ±4.0 | ±8.0 |
In the same way, Table 2 shows the tolerances for external radii and chamfers.
Table 2: Tolerance classes, external radii and chamfers
| Permissible deviations in mm | ||||
| Basic size range in mm | f (fine) | m (medium) | c (coarse) | v (very coarse) |
| 0.5 to 3 | ±0.2 | ±0.2 | ±0.4 | ±0.4 |
| over 3 to 6 | ±0.5 | ±0.5 | ±1.0 | ±1.0 |
| over 6 | ±1.0 | ±1.0 | ±2.0 | ±2.0 |
To complete part 1 of ISO 2768, Table 3 defines the tolerances for angular dimensions. Note that the tolerance units in Table 3 are degrees and minutes, as you would expect for an angle. In part 2 we define a new concept called “perpendicularity”, whose unit is in fact a length (mm), even though it controls two surfaces at an angle.
Table 3: Tolerance classes, angular dimensions
| Permissible deviations in mm | ||||
| Basic size range in mm | f (fine) | m (medium) | c (coarse) | v (very coarse) |
| up to 10 | ±1º | ±1º | ±1º30′ | ±3º |
| over 10 to 50 | ±0º30′ | ±0º30′ | ±1º | ±2º |
| over 50 to 120 | ±0º20′ | ±0º20′ | ±0º30′ | ±1º |
| over 120 to 400 | ±0º10′ | ±0º10′ | ±0º15′ | ±0º30′ |
| over 400 | ±0º5′ | ±0º5′ | ±0º10′ | ±0º20′ |
ISO 2768 part 2: geometrical tolerances for features
Part 2 defines three tolerance classes: H, K and L. These are not the same as the tolerance classes for fits and clearances, which also use letters and numbers.
As in part 1, there are nominal ranges and deviations, but the deviations are defined differently. Figure 4 shows an example: instead of an upper and a lower limit, we define a zone between two references (for example parallel planes), and the manufactured surface must lie inside that zone. This may sound more complicated, but it makes sense once you measure a part: if you put a caliper across two rough surfaces, you get different readings because of the roughness. We define datums to serve as the reference for dimensions and to decide how much deviation is acceptable. As shown in Figure 2, we chose three perpendicular planes for the compressor base (datums A, B and C in Figure 1).
Table 4 defines the tolerance classes for flatness and straightness. A surface can be too uneven. On our compressor base, the contact faces between the compressor and the base, and between the base and the engine, are important, so their flatness is specified on the drawing.
Straightness defines how much a surface may vary along a given line on that surface. Straightness can also apply to the axis of a part, to set how much bending or twist is allowed.
Table 4: Straightness and flatness tolerances
| Permissible deviations in mm | |||
| Basic size range in mm | H | K | L |
| up to 10 | 0.02 | 0.05 | 0.1 |
| over 10 to 30 | 0.05 | 0.1 | 0.2 |
| over 30 to 100 | 0.1 | 0.2 | 0.4 |
| over 100 to 300 | 0.2 | 0.4 | 0.8 |
| over 300 to 1000 | 0.3 | 0.6 | 1.2 |
| over 1000 to 3000 | 0.4 | 0.8 | 1.6 |
As mentioned, perpendicularity is expressed as a distance in mm. As with flatness, we define two planes separated by a gap equal to the permitted deviation in Table 5. The 90 degree angle is controlled indirectly, because we measure whether the surface lies within the permitted zone (see Figure 6)
| Permissible deviations in mm | |||
| Range of nominal lengths in mm (shorter side) | H | K | L |
| up to 100 | 0.2 | 0.4 | 0.6 |
| over 100 to 300 | 0.3 | 0.6 | 1 |
| over 300 to 1000 | 0.4 | 0.8 | 1.5 |
| over 1000 to 3000 | 0.5 | 0.8 | 2 |

Figure 6: Perpendicularity compressor base example. Note how a surface that lies between the two red planes is within range and perpendicular to the blue reference plane, while for a surface outside the tolerance the angle between the surface and the datum is more obvious
Table 6 shows the symmetry tolerances: the permitted deviations for two features on a part that are symmetrical about a reference plane.
Table 6: Symmetry tolerances
| Permissible deviations in mm | |||
| Range of nominal lengths in mm | H | K | L |
| up to 100 | 0.5 | 0.6 | 0.6 |
| over 100 to 300 | 0.5 | 0.6 | 1 |
| over 300 to 1000 | 0.5 | 0.8 | 1.5 |
| over 1000 to 3000 | 0.5 | 1 | 2 |
The last table in part 2 covers run-out: the total variation a surface may show when the part is rotated about a datum axis. Note that the highlighted surface is within tolerance even though it is not perfectly cylindrical.
Table 7: Run-out tolerances
| Permissible deviations in mm | |||
| Circular run-out | H | K | L |
| – | 0.1 | 0.2 | 0.5 |
You may have noticed that there is no table for parallelism. This is because ISO 2768 part 2 sets parallelism equal to the numerical value of the dimensional tolerance or of the flatness or straightness tolerance, whichever is greater. Both are covered earlier in this article.
Fits with an H7 bore
In the hole basis system (H), the hole is the fixed size and you choose the shaft. Values for Ø 18 to 30 mm; the H7 bore is 0 to +21 µm.
Which fit should you choose?
| Fit | Type | Typical use |
|---|---|---|
| H7/g6, H7/h6 | Clearance fit | Sliding and guiding parts, loose pins |
| H7/k6, H7/n6 | Transition fit | Accurately located, assembled with light pressure |
| H7/p6 | Interference fit | Rigid and accurately positioned, not for transmitting torque |
Note: a fit only works if the hole and the shaft carry an H7 or x6 on the drawing. “Ø25 fit size” without a tolerance means ISO 2768.
Roughness: Ra, Rz and the N classes
Ra is the average roughness, Rz the average of the largest peak to valley heights. There is no exact conversion between them. The N classes from ISO 1302:1992 link fixed Ra values to a class. Newer editions (ISO 1302:2002, now ISO 21920-1) no longer use them, so preferably put the Ra value on the drawing. Choose an Ra value in µm:
N classes
| Ra (µm) | N class |
|---|---|
| 12.5 | N10 |
| 6.3 | N9 |
| 3.2 | N8 |
| 1.6 | N7 |
| 0.8 | N6 |
| 0.4 | N5 |
| 0.2 | N4 |
Specify a tight roughness only where the function needs it: every finer step is an extra operation.
Conclusion and next steps
ISO 2768 covers some of the tolerance and geometrical characteristics used in industry, and it is a good place to start. There are more standards, however, and they extend into geometric dimensioning and tolerancing (GD&T), whose symbols are shown in Table 8.
Several companies have adopted a method called Model Based Definition (MBD), which aims to improve collaboration by putting all GD&T, tolerance and datum information in 3D models instead of 2D drawings. In theory this is possible, because some CAD software can hold these symbols and values as parametric information. Replacing 2D drawings with 3D models as the standard would make sense, but whether and when that will happen remains to be seen. Engineering keeps evolving.
Table 8: GD&T terms
| Type of control | Geometric characteristic | Symbol |
| Form | Straightness | ⏤ |
| Form | Flatness | ⏥ |
| Form | Circularity | ○ |
| Form | Cylindricity | ⌭ |
| Profile | Profile of a line | ⌒ |
| Profile | Profile of a surface | ⌓ |
| Orientation | Perpendicularity | ⟂ |
| Orientation | Angularity | ∠ |
| Orientation | Parallelism | ∥ |
| Location | Symmetry | ⌯ |
| Location | True position | ⌖ |
| Location | Concentricity | ◎ |
| Run-out | Run-out | ↗ |
| Run-out | Total run-out | ⌰ |
Frequently asked questions
Everything you want to know about ISO 2768.
What is the difference between ISO 2768-m and -f?
Class f is tighter. Up to 120 mm the deviation is half that of class m, for example ±0.1 against ±0.2 mm between 6 and 30 mm; above that, f is relatively tighter still. Only for radii and chamfers are f and m the same.
Do I need to put ISO 2768 on the drawing?
Yes, put the standard and class in the title block, for example “ISO 2768-m”.
What is H7?
A tolerance class for a hole. H means that the lower limit is at the nominal size; 7 is the grade, the width of the tolerance zone.
Do tight tolerances make a part more expensive?
Yes. Tighter dimensions need extra machining steps, inspection and sometimes a different machine. Use them only where the part needs them.
- ISO 9001 certified
- Quote in 2 working days
- Delivery in 10 to 20 working days
- From 1 to 1,000 parts






