CNC Tolerances Explained: ISO 2768, IT Grades & GD&T
A drawing lands with most dimensions left to the title block and three callouts that aren’t: a bore at H7, a flatness frame on the seat face, and a width at ±0.01. Whether you quote that part well or badly comes down almost entirely to how you read those three callouts against the dozens that are “general.” Tolerances are where a CNC quote is genuinely won or lost — over-read them and you price yourself out, under-read them and you win a job that scraps parts.
So it’s worth being precise about what the standards actually say, and where the money is. This is the quoting-focused version — not a metrology textbook, but enough to price a drawing correctly and defend the number.
General tolerances: ISO 2768 does most of the work
Most dimensions on a typical machining drawing have no individual tolerance next to them. They’re governed by the general tolerance called out in the title block — almost always ISO 2768. This one note silently sets the allowed variation on every unmarked dimension on the print, which is why it matters so much for quoting.
ISO 2768 comes in two parts:
- ISO 2768-1 — general tolerances for linear and angular dimensions, in four classes: f (fine), m (medium), c (coarse), v (very coarse).
- ISO 2768-2 — general geometric tolerances (straightness, flatness, perpendicularity, symmetry, runout) in three classes: H, K, L.
You’ll most often see something like ISO 2768-mK or ISO 2768-fH in the title block. The class sets a tolerance that widens with the size of the feature — a 6 mm dimension is held tighter than a 200 mm one, in absolute terms, under the same class. Rough numbers for linear dimensions to fix the idea:
| Class | Description | ~Tolerance on a 30–120 mm dimension |
|---|---|---|
| f | Fine | around ±0.15 mm |
| m | Medium | around ±0.3 mm |
| c | Coarse | around ±0.8 mm |
| v | Very coarse | around ±1.5 mm |
(Treat those as illustrative — read the actual table for the actual band.) The point for quoting is that the gap between f and c is large. A part full of general dimensions to class f asks for more care on every feature than the same part to class c. If the title block doesn’t state a class at all, that’s not a licence to assume the loosest — it’s a question to ask, because guessing in either direction costs you.
Specific tolerances: when a dimension carries its own band
Where a feature needs to be held tighter (or looser) than the general class, the drawing puts a tolerance directly on the dimension. Three notations you’ll see:
- Symmetric:
20 ±0.05— equal variation either side of nominal. - Bilateral, unequal:
20 +0.1 / −0.0— different allowance up and down. - Limit dimensions:
20.10 / 20.00— the upper and lower limits stated outright.
The number that matters is the total band — the difference between the upper and lower limit. A ±0.05 dimension has a 0.1 mm band; a +0.1/−0.0 dimension also has a 0.1 mm band but sits entirely above nominal, which changes how you set up the cut. For quoting, the band tells you the work; the position tells you the setup strategy.
ISO IT grades and fits: the language of precision features
For holes, shafts and anything that mates, drawings often skip ± numbers and use the ISO system of limits and fits instead — those H7, g6, H7/g6 codes. This is where a lot of estimators slow down, so here’s the structure.
IT grades — how tight
The IT grade (IT01, IT0, IT1 … IT18) is a standardised precision level. Lower numbers are tighter. As a rough orientation for the grades you actually see on machined parts:
- IT6–IT7 — precision fits, ground or finish-bored features, gauge work. This is real money.
- IT8–IT9 — good general machining, reamed holes, careful turning.
- IT10–IT12 — everyday milled and turned features.
- IT13+ — coarse, often equivalent to or looser than ISO 2768-c.
Like ISO 2768, an IT grade defines a band that scales with feature size — the same grade is a tighter absolute band on a small feature than a large one.
Letter codes — where the band sits
The letter (capital for holes, lowercase for shafts) places that band relative to nominal. H is the standard hole that sits on the nominal and runs positive. g, f, e are progressively looser shafts; n, p, s interfere. So H7 is a hole held to IT7 on the nominal, and g6 is a shaft held to IT6 just below it.
Fits — how the pair behaves
Put a hole and a shaft together and you get a fit, in one of three families:
- Clearance fit (e.g.
H7/g6) — always a gap. Slides and rotates. The bread and butter. - Transition fit (e.g.
H7/k6) — may be slightly loose or slightly tight. Locating features. - Interference fit (e.g.
H7/p6) — always tight, pressed or shrunk together. Bushings, bearing seats.
For quoting, the fit is the signal. H7/g6 says “this bore is a precision feature — plan a finishing operation and an inspection step.” A nominal diameter with no fit code and only a general tolerance says the opposite. Reading the fit correctly is the difference between costing a reamed-and-gauged bore and costing a drilled hole.
GD&T basics: tolerancing the geometry, not just the size
Linear tolerances control size. Geometric Dimensioning and Tolerancing (GD&T) controls form, orientation, location and runout — the things a ± on a dimension can’t capture. It shows up as feature control frames: a little boxed-up symbol, a tolerance value, and usually one or more datum letters.
The symbols you’ll meet most on machined parts:
- Form — flatness, straightness, circularity, cylindricity. No datum; the feature is judged against itself.
- Orientation — perpendicularity, parallelism, angularity. Relative to a datum.
- Location — position (the workhorse, often with maximum material condition, the circled M), concentricity, symmetry.
- Runout — circular and total runout, for rotating parts against a datum axis.
Two things matter for pricing. First, a tight position tolerance on a hole pattern, or a tight flatness on a face, can drive the process far more than the size tolerances do — it dictates workholding, datum strategy and inspection. Second, GD&T usually implies how the part will be inspected (a CMM run, not a pair of calipers), and inspection time is real cost. A drawing dense with feature control frames is telling you the customer cares about geometry, and that care has a price.
A rule of thumb that’s saved more shops than any formula: it’s rarely the nominal size that costs you. It’s the tolerance band, the fit code, and the feature control frame next to it.
Why tight tolerances cost more — and the part shops get wrong
The reason precision costs is mechanical, not mysterious:
- Slower finishing. Hitting a tight band means light finishing passes, not one aggressive cut.
- Better workholding and datums. A tight position or runout tolerance forces a careful fixturing and datum scheme, sometimes extra setups.
- Tooling and machine capability. Some bands simply can’t be held by the obvious process — you move to reaming, boring, grinding, and the cost steps up.
- Measurement. Tighter features need better instruments and more frequent checks, often on a CMM. That’s labour and machine time that never touches the cutter.
- Scrap risk. Near the limits of the process, yield drops. A part that drifts out is material plus all the time already in it, gone.
And the cost is not linear. Loosening a feature from IT7 to IT9 might barely change anything; tightening it from IT9 to IT6 can change the whole process plan. That non-linearity is exactly why eyeballing tolerances at 5pm is dangerous.
Here’s the half shops get wrong in the other direction: loose tolerances shouldn’t be over-priced. A part that’s ISO 2768-c throughout is not precision work, and pricing it as if every dimension were tight pads the quote and loses the job to a shop that read the print properly. The discipline is to price each feature for the tolerance it actually carries — tight where the drawing says tight, loose where it says loose. Over-reading tolerances is as expensive a habit as under-reading them; it just costs you in lost work instead of scrap.
How tolerance-aware pricing works in practice
All of this lives on the 2D drawing, not in the 3D model. The model gives you geometry; the drawing carries the title-block general note, the dimensional callouts, the fit codes and the feature control frames. Quote from geometry alone and you’re guessing at every tolerance on the part.
This is where reading the drawing properly changes the work. Quoting software with drawing intelligence reads those callouts off the 2D print — the ISO 2768 class, the ± bands, the H7/g6 fits, the GD&T frames — and carries them into the estimate, so a tighter feature is priced as tighter work and a coarse one isn’t padded. The reading is the slow, error-prone part for a human at the end of a long day; that’s the part worth automating.
The pricing itself stays deterministic and transparent. Once the tolerances are captured, the cost is built from your shop’s own configuration — your machines and rates, your finishing operations, your inspection time, your material and margin — as line items you can read and adjust. Tolerance-driven cost isn’t a black-box opinion; it’s a calculation you can defend.
And when a callout is ambiguous — a missing general class, a fit code that doesn’t match the feature, a tolerance that looks impossible for the process — good software asks you a question rather than guessing. Anything it reads, you can see and override before the quote goes out. You stay in control of how each tolerance is interpreted; the software just spares you the hour of squinting at the print to find them all.
The honest bottom line
Tolerances are the part of a CNC quote that rewards reading carefully and punishes guessing in both directions. Get the ISO 2768 class right, recognise the IT grades and fits on the precision features, respect the GD&T frames, and price each feature for the band it actually carries — tight costed as tight, loose not padded as if it were tight.
Do that on every RFQ, consistently, and your quotes stop leaking margin at both ends. Tolerance-aware quoting does the reading and the arithmetic in about a minute; you keep the judgement about what each callout really means.
What is ISO 2768 and which class should I assume when quoting?
ISO 2768 is the general-tolerance standard that covers every dimension on a drawing that doesn't have its own callout. Part 1 has classes f (fine), m (medium), c (coarse) and v (very coarse); Part 2 covers general geometric tolerances. Quote to the class stated in the title block — most general machining is 'm'. If no class is given, ask rather than assume, because the difference between f and c changes how much care each unmarked feature needs.
Why do tight tolerances cost more to machine?
Tighter tolerances mean slower finishing passes, more careful workholding, better tooling, more frequent measurement, and a higher scrap risk if a part drifts out. A ±0.005 mm bore can need a different process entirely than a ±0.1 mm one. The cost isn't linear — it climbs steeply as you approach the limits of the machine and the inspection method.
What's the difference between a tolerance and a fit?
A tolerance is the allowed variation on a single dimension. A fit describes how two mating features behave together — clearance (always loose), interference (always tight, pressed together) or transition (somewhere between). The ISO system uses letter-and-number codes like H7/g6 to specify a hole and shaft pair that achieve a known fit. The fit, not the nominal size, tells you how tightly the feature must be held.
Does loose tolerance mean a part should be cheap?
Looser general tolerances should reduce price, but they don't make a part free. Material, setups, cycle time, finishing and inspection still apply. A good estimate prices each feature for the tolerance it actually carries — so a coarse part isn't over-priced as if it were precision work, and a single tight callout on an otherwise loose part is recognised and costed where it appears.
How does quoting software read tolerances off a drawing?
Tolerances live on the 2D drawing — in the title-block general note, in dimension callouts, and in GD&T feature control frames. Quoting software that reads the drawing captures those callouts and feeds them into the cost so tighter features are priced as tighter work. Anything ambiguous is flagged for you to confirm rather than silently assumed, and you can override what it reads before the quote goes out.
Tamás Szilágyi
Founder, QuoteForge
Tamás builds QuoteForge — automated CNC quoting for machine shops. He writes about estimating, manufacturability and where AI genuinely helps a job shop quote faster without losing control of the price.
Related articles
A DFM Checklist for CNC Machining (Pre-Quote)
The cheapest manufacturability problem is the one you catch before you quote. Here's a practical pre-quote DFM checklist — and why an ambiguous spec should trigger a question, not a guess.
What Is a STEP File? A Plain-English Guide for CNC
A STEP file is the neutral, machine-readable 3D model the whole supply chain agrees on. Here's what it is, how it differs from STL and IGES, and why it matters for quoting.
AI CNC Quoting vs. an Estimator by Hand: An Honest Comparison
A good estimator can spend one to three hours pricing a single CNC part by hand. Here is exactly what AI-assisted quoting changes — and, just as honestly, what it doesn't.