Tolerances on an engineering drawing tell you the acceptable range of variation for a dimension, and reading them correctly starts with recognizing which format is being used. Most drawings use one of a few standard methods: plus/minus values, limit dimensions, or geometric tolerancing (GD&T). Each looks different on the print, but they all communicate the same core idea: how much a feature is allowed to deviate from the intended size, shape, or position.
Plus/Minus Tolerances
The most common format you’ll see is a nominal dimension followed by a plus/minus value. These come in two varieties: bilateral and unilateral.
A bilateral tolerance varies in both directions from the basic size. For example, 25.00 ±0.10 means the part can be as small as 24.90 or as large as 25.10. The total tolerance zone is 0.20 mm wide, split evenly above and below the target. Bilateral tolerances can also be unequal, like 25.00 +0.15/−0.05, which shifts the acceptable range asymmetrically.
A unilateral tolerance varies in only one direction. You might see 25.00 +0.00/−0.10, meaning the part can be at the nominal size or smaller, but never larger. This is common for features like holes or shafts where the designer wants the variation to go only one way to ensure a proper fit.
Limit Dimensions
Limit dimensioning is the ASME preferred method. Instead of showing a nominal size with a deviation, it states the maximum and minimum acceptable sizes directly. When stacked vertically, the upper limit goes on top and the lower limit goes on the bottom. When written on a single line, the lower limit comes first, separated by a dash or slash: 3.49 − 3.53 or 3.49/3.53.
This format removes a step of mental math. You don’t need to add or subtract anything. The acceptable range is right there. If you’re inspecting a part, you simply check whether your measurement falls between those two numbers.
General Tolerances and the Title Block
Not every dimension on a drawing gets its own tolerance callout. Dimensions without a specific tolerance are governed by the general tolerance noted in the title block, usually near the bottom right corner of the drawing. The number of decimal places in a dimension tells you which general tolerance applies. A dimension written as 25.0 (one decimal place) gets a looser tolerance than one written as 25.00 (two decimal places). Trailing zeros matter.
Many shops and international drawings reference ISO 2768, which defines four tolerance classes: fine (f), medium (m), coarse (c), and very coarse (v). The allowable deviation depends on both the tolerance class and the size of the feature. For a dimension between 6 and 30 mm, the fine class allows ±0.1 mm, medium allows ±0.2 mm, coarse allows ±0.5 mm, and very coarse allows ±1.0 mm. For larger features between 120 and 400 mm, those same classes allow ±0.2, ±0.5, ±1.2, and ±2.5 mm respectively. A title block that says “ISO 2768-m” means every untoleranced dimension on the drawing follows the medium class.
Angular Tolerances
Angles can be toleranced in decimal degrees (45.0° ±0.5°) or in degrees, minutes, and seconds. There are 60 minutes (designated with a ′ symbol) in one degree, and 60 seconds (designated with a ″ symbol) in one minute. So a tolerance of ±0°30′ means plus or minus half a degree.
Under ISO 2768, angular tolerances also vary by class and by the length of the shorter side of the angle. For a short side between 10 and 50 mm, the fine and medium classes both allow ±0°30′, coarse allows ±1°, and very coarse allows ±2°. As the feature gets longer, the permitted angular deviation shrinks because the same angular error translates to a larger linear error at the far end.
Reading a GD&T Feature Control Frame
Geometric Dimensioning and Tolerancing (GD&T) uses a standardized rectangular box called a feature control frame. Reading it left to right gives you everything you need. The current governing standard is ASME Y14.5-2018, reaffirmed in 2024.
The first compartment contains a geometric symbol that tells you what type of control is being applied: flatness, circularity, true position, perpendicularity, and so on. The second compartment holds the tolerance value in millimeters, sometimes preceded by a diameter symbol (⌀) if the tolerance zone is cylindrical. Following the tolerance value, you may see a modifier letter inside a circle. After that come up to three datum reference letters, each in its own compartment, read left to right in order of priority: primary, secondary, then tertiary.
For example, a frame that reads: [true position symbol | ⌀0.1 Ⓜ | A | B | C] tells you that the feature’s true position can deviate within a 0.1 mm diameter cylindrical zone, referenced to datums A (primary), B (secondary), and C (tertiary), with a material condition modifier applied.
Datums and Why Order Matters
Datums are reference features on the part that anchor the measurement. On the drawing, a datum is identified by a capital letter inside a square frame, connected to the relevant feature by a leader line ending in a triangle. You’ll see these letters again inside the feature control frame.
The order of datums in the frame is not arbitrary. The primary datum is listed first (immediately after the tolerance value) and establishes the main reference plane or axis. The secondary datum constrains additional degrees of freedom, and the tertiary locks down the rest. When you set up a part for inspection, you fixture it against the primary datum first, then the secondary, then the tertiary. Reading them out of order means measuring from the wrong reference, which will produce incorrect results.
Material Condition Modifiers
Inside a feature control frame, you may see the letter M or L circled after the tolerance value. These are material condition modifiers, and they change how much tolerance you actually get depending on the produced size of the feature.
The circled M stands for maximum material condition (MMC), which is the condition where the most material is present: the largest shaft or the smallest hole. When a position tolerance is specified at MMC and the feature isn’t actually at its maximum material size, you get bonus tolerance. The tolerance zone effectively grows by the amount the feature departs from MMC. If a hole’s MMC is 2.5 mm diameter and the actual hole measures 2.6 mm, you’ve gained 0.1 mm of extra position tolerance. This is useful because a smaller shaft in a larger hole has more room to be off-center and still assemble.
The circled L stands for least material condition (LMC), the opposite scenario: the smallest shaft or largest hole. It works the same way but in reverse, and is less commonly seen.
Fits: Reading Letter-Number Codes
When two parts need to assemble together, drawings often specify a fit using ISO letter-number codes like H7/g6. The uppercase letter refers to the hole, the lowercase letter refers to the shaft, and the numbers indicate the tolerance grade (tighter numbers mean tighter tolerances).
The letter determines where the tolerance zone sits relative to the nominal size. An “H” hole has its lower deviation at zero, meaning the hole is always at or above the nominal size. A “g” shaft sits just below nominal, creating a small clearance. An H7/g6 fit produces a running fit with very small clearance, suitable for precise shaft guidance like grinding machine spindles or sliding gears.
Fits fall into three broad categories. Clearance fits (like H7/f7 or H9/d9) always leave a gap between shaft and hole, used for parts that need to rotate or slide freely. Transition fits (like H7/k6 or H7/js6) may produce a slight gap or slight interference depending on where each part falls in its tolerance range. Interference fits (like H7/p6) always require pressing or force to assemble, used for permanent or semi-permanent joints like gear rims pressed onto shafts.
Putting It All Together on a Print
When you pick up a drawing, start with the title block. Identify the general tolerance class and the unit of measurement. Then look at each dimension individually. If it has its own tolerance (plus/minus, limits, or a feature control frame), that value overrides the general tolerance. If it doesn’t, apply the general tolerance based on the number of decimal places.
For GD&T callouts, read the feature control frame compartment by compartment: what type of control, how much tolerance, any modifiers, and which datums in what order. Identify the datum features on the part so you know where measurements are referenced from. If material condition modifiers are present, remember that your actual tolerance may be larger than what’s printed, depending on the produced size of the feature.
The most common mistake is ignoring the general tolerance block and assuming untoleranced dimensions are “exact.” Nothing on a drawing is exact. Every dimension has a tolerance, whether it’s written next to the number or buried in the title block.

