CNC Machining Tolerances: What You Can Hold and What It Costs
Precision is the one thing a CNC machine cannot
buy. The machine, the tooling and the operator can all be specified exactly, and
the part can still arrive outside the tolerance band, because tolerance is a
system and the part is only the last link in it. This guide covers what CNC
machining can actually hold on a normal production machine — from the ±0.05 mm
that a well-set-up 3-axis mill will hold without drama down to the ±0.005 mm
that only grinding, lapping or EDM will reach — what each step in the
tolerance stack costs, how the general tolerance classes in ISO 2768-1 work,
and how to write a drawing that a supplier can quote against and a machine
shop can hit without a dozen emails.

Short answer
For a normal 3-axis milled part in aluminium, ±0.05 mm on critical
features is routine and ±0.02 mm is achievable with a well-planned
program and rigid fixturing. Turned parts held between centres reach ±0.02 mm
routinely, and surface-ground features reach ±0.005 mm. Below that you are no
longer machining, you are grinding or lapping, and the cost rises faster than
the accuracy does.
Two rules follow from that, and they matter more than any number in this
guide. First, a tolerance you cannot measure is a tolerance you
cannot hold — the practical ceiling on your part is set by your
metrology, not by the machine. Second, tolerance and cost are roughly
proportional, and most tolerances are specified out of habit rather
than from a functional requirement. Tightening a non-critical feature from
±0.2 mm to ±0.02 mm can add 40 to 60 percent to the part price and change
nothing about whether the part works.
The practical consequence is that the cheapest tolerance is usually the one
you do not specify. Use the general tolerance class for everything that is not
functional, reserve individual callouts against a datum for the two or three
features that genuinely have to be controlled, and spend the money you saved on
the features that matter. Our CNC machining
service page covers what we run in-house, and the
quality and certification page covers the
inspection regime behind every batch we ship.
What a tolerance actually controls
A tolerance is not a statement about how precise the machine is. It is a
statement about how much the finished dimension is allowed to differ from the
nominal, and it exists because perfect geometry does not exist and never will.
What you are really specifying is an acceptance band: the
range within which the supplier will ship the part without a conversation with
you.
That framing matters more than the number itself, for three reasons.
The first is that a tolerance is a band, not a target. When
a drawing says 20.00 ±0.05 mm, every part between 19.95 mm and 20.05 mm is
acceptable. The target is the middle of the band, and the process has to be
aimed there so that a part sitting at one edge of the band is still good. This
is why the drawing and the process sheet must agree: a process aimed at the
nominal with a band that the process cannot hold will produce parts that pass
inspection and fail in assembly.
The second is that tolerance only means something against a
datum. A diameter of 10.00 ±0.02 mm tells the machinist nothing about
where the axis sits relative to anything else on the part. If that bore has to
be concentric with a bolt pattern, or square to a sealing face, the tolerance
is meaningless without a datums reference and the appropriate geometric
tolerance. This is the single most common reason a machined part is rejected
on inspection: not because the size was wrong, but because the position was
never specified.
The third is that tolerance is a system, not a number. Every
number on a drawing is really a statement about the whole process that produced
it, including the accuracy of the gauge used to check it. A ±0.02 mm
requirement checked with a caliper is not a requirement at all — it is a
suggestion.
| What you specify | What it controls | Typical example | Common mistake |
|---|---|---|---|
| Linear tolerance | The size of a feature, in one direction | 20.00 ±0.05 mm | Given without saying from where the dimension is measured |
| Datum reference | Which surface or axis the dimension is taken from | Datum A on the mounting face | Left off entirely, so the machine is free to place the feature anywhere in the band |
| Geometric tolerance | Form, orientation, position and runout of a feature | Position Ø0.10 A|B|C | Assuming a linear tolerance implies position — it does not |
| Surface finish | Texture of the surface, measured as Ra | Ra 1.6 on the sealing face | Writing “smooth” or “polished” with no Ra value |
| General tolerance class | Everything not individually called out | ISO 2768-m | Not using one, which forces the machinist to guess at every unstated dimension |
The tolerance stack, and where the variation comes from
Every dimension on a finished part carries contributions from several
sources at once, and they add up. This is the tolerance stack, and it is the
single most useful concept in precision machining — because it tells you that
a part can be machined correctly and still fail inspection, and that the
answer is usually not a better machine.
| Contributor | Typical contribution | How it is reduced |
|---|---|---|
| Machine positioning accuracy | ±0.02 to ±0.05 mm on a used machine | A newer or better-maintained machine; shorter reach from the spindle |
| Tool deflection and runout | ±0.01 to ±0.03 mm, worse on thin or deep features | Rigid setups, short tool overhang, sharp carbide tooling |
| Thermal growth | ±0.01 to ±0.02 mm over a temperature change | Let the machine reach temperature; warm coolant; avoid measuring hot parts |
| Fixture and workholding error | Often the largest single contributor | One datum, one setup, locating on machined surfaces rather than raw stock |
| Material and stock variation | Stress-relief movement, residual stress | Stress-relieved stock; rough then finish; leave the part overnight before final measurement |
| Gauge accuracy and method | ±0.01 to ±0.05 mm for a decent micrometer, far worse for a worn caliper | Use a gauge at least ten times finer than the tolerance; calibrate it |
Read that table as a diagnosis rather than a specification. If a machined
feature is out of tolerance, the machinist’s first move is normally to check the
stack, not to buy a better machine, and the first three contributors on the
list are the ones a supplier can change on their own.
Three practical moves resolve most of it. Locate on machined
surfaces rather than on raw stock, so that the datum does not move
when the material relaxes. Use one datum and, where possible, one
setup, because every re-fixturing operation adds a positioning error
to the stack. And let the part stabilise before measuring —
an aluminium part machined in the morning and measured in the afternoon can
easily differ by 0.02 mm simply because the shop temperature changed.
There is a fourth move that costs almost nothing and is routinely forgotten:
the gauge must be an order of magnitude finer than the tolerance it
checks. A 0.01 mm caliper cannot verify a ±0.05 mm band with any
confidence, because the gauge’s own error is a fifth of the band you are
trying to confirm. This is not a theoretical point — it is the most common
reason for a dispute between a customer and a machine shop, and it is entirely
avoidable by agreeing the inspection method before the parts are cut.
The general tolerance classes you can specify
Most machined parts do not need forty individual tolerance callouts. They
need a general tolerance class for the population of features, plus a handful
of callouts for the ones that matter. ISO 2768-1 is the standard that provides
the population, and it defines four classes: fine (f), medium (m), coarse (c)
and very coarse (v).
| Nominal size (mm) | Fine (f) | Medium (m) | Coarse (c) | Very coarse (v) |
|---|---|---|---|---|
| up to 3 | ±0.05 | ±0.10 | ±0.20 | — |
| over 3 to 6 | ±0.05 | ±0.10 | ±0.30 | — |
| over 6 to 30 | ±0.10 | ±0.20 | ±0.50 | ±1.00 |
| over 30 to 120 | ±0.15 | ±0.30 | ±0.80 | ±1.50 |
| over 120 to 400 | ±0.20 | ±0.50 | ±1.20 | ±2.50 |
Two notes on how to read this. First, medium (m) is the sensible
default for general-purpose machined parts and most drawings should
say so explicitly — it removes the guesswork from every feature that was not
otherwise specified. Second, the class applies to the general
population only: it says nothing about position, flatness, runout or
profile, all of which still need their own geometric callouts if they matter.
One more point about ISO 2768 that catches people out: the standard covers
linear and angular dimensions and a limited set of radii and
chamfers. It does not cover threads, tap drill depths, keyways, or the
position of features relative to one another. Those still have to be
specified, and a drawing that relies on ISO 2768 alone is under-specified for
any part with a functional interface.
What each process can realistically hold
The number on the drawing has to land inside what the process can actually
produce, on the machine you actually have, with the material you actually
specified. This table is what we work to, and it is worth reading before you
commit a tolerance to a supplier.
| Process | Typical achievable on critical features | What it is good for | Where the difficulty goes |
|---|---|---|---|
| 3-axis milling, aluminium | ±0.05 mm standard, ±0.02 mm achievable | General brackets, housings, plates | Fixturing and thermal drift dominate, not the machine |
| 3-axis milling, steel or stainless | ±0.05 mm standard, ±0.02 mm achievable | Structural and wear components | Tool wear accelerates with the cutting forces involved |
| 4-axis / 5-axis milling | ±0.02 mm standard, ±0.01 mm on favourable features | Complex 3D geometry in one setup | Programming and simulation, rather than fixturing |
| CNC turning, between centres | ±0.02 mm standard | Shafts, spacers, bushes, threaded components | Runout on the chuck or collet; live tooling adds complexity |
| Surface grinding | ±0.005 mm | Dies, inserts, tight flatness | Cost per part rises sharply and cycle time triples |
| Wire EDM | ±0.005 mm, with no burr on hard materials | Hardened steel, thin webs, internal corners | Slow, and the electrode has to be made |
| Lapping and honing | ±0.002 mm and better | Sealing surfaces, bearing bores | Cost per part is dominated by labour |
The pattern in that table is worth stating plainly: the accuracy
available is limited by the process, not by the price of the machine.
A well-maintained 3-axis mill with a proper fixture and a sharp insert will
hold ±0.02 mm on a feature that a poorly fixtured 5-axis machine will miss.
Which is why the specification that matters most to a supplier is not the
tolerance but the datum, the material and the inspection level — those three
determine whether the part can be made to the band at all.
There is one material effect worth knowing before you specify anything:
aluminium machines far better than stainless steel, and stainless
steel machines far better than titanium. A tolerance that is easy on
6061 can be genuinely difficult on 304, and a part that seems over-specified
in aluminium may be entirely reasonable in titanium. If a drawing carries a
tight band on a difficult alloy, the honest response is to ask what the band
is for rather than to pay for it.
What tighter tolerance costs
Tolerance is one of the few variables in a machined part where you can
measure the trade-off directly. Holding a feature to a tighter band costs
money in four places: the machine time, the tooling, the inspection and the
yield.
Machine time is usually the largest share. Getting from
±0.1 mm to ±0.02 mm means cutting with smaller depths of pass, lower feeds,
more passes and slower speeds. The cycle time on the affected feature can
double or triple, and because a machined part is priced from setup plus cycle
time, the whole part price moves with it.
Tooling costs more because the same cutting parameters
that hold a tight band also wear the insert faster. More frequent tool changes
mean more time, and for carbide in hardened steel the tool consumption itself
becomes a line item worth watching on a repeat order.
Inspection is the cost that surprises people, because it
does not appear on the machining quote. Checking a ±0.05 mm feature requires a
dial indicator or a micrometer and takes seconds. Checking a ±0.005 mm feature
requires a CMM, a programme, a calibration check and roughly twenty minutes
per part. On a batch of fifty parts that is a meaningful line item that nobody
quoted for.
Yield is the hidden cost. A process aimed at ±0.02 mm will
occasionally produce a part at ±0.025 mm, and that part is scrap — you paid
for the machine time, the CMM time and the material, and you get nothing. As
the band tightens the yield falls, and at some point the scrap cost exceeds
the cost of the process that would have made the parts reliably.
| Tolerance band | Typical process | Relative machining cost | Inspection method |
|---|---|---|---|
| ±0.5 mm (ISO 2768-c) | Standard milling | 1.0× | Sample with a caliper or steel rule |
| ±0.2 mm (ISO 2768-m) | Standard milling | 1.1× | Sample with a caliper or micrometer |
| ±0.05 mm | Fine machining, single setup | 1.3× to 1.6× | Micrometer or dial indicator on each feature |
| ±0.02 mm | Fine machining, rigid setup, thermal control | 1.8× to 2.5× | Dial indicator, or CMM on critical features |
| ±0.01 mm | Grinding or EDM, or very careful 5-axis work | 3× to 6× | CMM with a calibrated program |
| ±0.005 mm and tighter | Grinding, lapping or honing | 6× and above | CMM, temperature-controlled room |
Read that as directional rather than as a quotation, because the ratios move
with the geometry — a 200 mm deep pocket behaves nothing like a 2 mm hole. But
the order of magnitude is reliable: each halving of the tolerance band
roughly adds 30 to 100 percent to the cost of that feature. If a
supplier quotes the same price for ±0.02 mm and ±0.1 mm, they are either not
reading the drawing or they have not understood which features actually
matter.
Measuring it: gauges, CMM and inspection reports
An inspection requirement is only as good as the inspection method, and this
is where a lot of machining disputes originate. There are three levels worth
knowing, and they are not interchangeable.
Attribute inspection — go/no-go gauges, thread rings,
plug gauges, calipers and micrometers — confirms that a feature is inside or
outside the band. It is fast and cheap and it is entirely adequate for
production parts. What it cannot do is tell you how far inside the band a
part sits, which is why it is a poor tool for establishing a process and a
good tool for running one.
CMM inspection — a coordinate measuring machine with a
programmed sequence — measures actual values against nominals and reports the
deviation for each feature. This is the right method for anything with tight
tolerances, geometric requirements, or a first article. We issue a CMM
dimensional report with every batch from our CNC workshop, and the report
lists measured values rather than pass or fail, so a deviation can be read
directly against the drawing.
Full statistical inspection — measured on a sample, with
the data analysed rather than merely checked — tells you whether the process
is capable, not just whether this batch passed. This is what you need when a
part is safety-critical or when the tolerance is tight enough that pass or fail
alone is not informative.
Two practical rules make inspection work properly. First, agree the
inspection level before the order, not after — sample or full, and
which features are measured, changes the price materially and should be on
the quotation. Second, insist on measured values, not just a pass
mark. A report that says every feature passed is not a record of what
happened; a report that says 19.98, 20.01, 19.97 is, and it is the document
that settles a disagreement later.
There is a third rule that is free: the drawing should say how the
part is measured. A feature measured across its centre, a feature
measured at a defined radius, a feature measured at 20 °C and a feature
measured in the fixture all give different numbers from the same part. Two
drawings that differ only in the measurement note can produce two different
verdicts on an identical part, and the supplier is the one who has to guess
which one you meant.
How to specify a part so it arrives right the first time
Most machining orders that go wrong were not badly made — they were
incompletely specified. Five pieces of information have to be on the table
before a quote means anything, and with those five answered the quote is
comparable across suppliers because everybody is pricing the same thing.
| Input | Why it changes the quote | Example specification |
|---|---|---|
| Material and condition | Determines tooling, cutting speed, achievable finish and cost | 6061-T6 aluminium, mill finish, no anodizing |
| Critical dimensions with datums | Determines setup strategy, tolerance band and inspection | Datum A on the mounting face; bore Ø10.00 H7; position Ø0.10 A|B|C |
| Surface finish per face | Determines passes, tooling and secondary operations | Ra 1.6 on the sealing face, Ra 6.3 elsewhere |
| Inspection level | Determines gauge time, which is often a quoted line item | CMM report with every batch, critical features only |
| Annual volume | Determines whether you are buying machining time or a tool | 50 prototypes now, 3,000 per year from Q3 |
With those five answered, the quote becomes mechanical rather than
controversial, and it is also the fastest way to make two quotations
comparable. Without a material, a tolerance band and an inspection level, two
quotations for the same drawing can differ by 60 percent and both be correct,
because they are quotations for different things. That is not a supplier
trick — it is what happens when a drawing is under-specified.
On the delivery side, the same logic applies. Our CNC workshop quotes in
24 hours and prototypes come through in 3 to 7 days, with CMM inspection on
every batch. For more detail on what we run in-house, our
CNC machining page covers the machines,
materials, finishes and inspection, and the
precision mold making page covers
how cavities and tooling components are cut and finished.
When to stop machining and start making a mold
This is the question we get asked most often by buyers who have been
quoted for machining, because a machined part and a molded part can look
identical on a drawing and behave very differently in the accounts. The
decision comes down to volume and to what the part has to be made of.
The arithmetic is worth doing explicitly, because the crossover is lower
than most people assume. Take a typical machined aluminium bracket: setup
around 70 dollars, machine time around 4 dollars per part, material around 12
dollars per part.
| Order quantity | CNC machined price per part | Injection molded price per part | Which is cheaper |
|---|---|---|---|
| 1 | about $86 | about $4,600 plus $0.90 per part | Machining, by a wide margin |
| 10 | about $23 | about $460 plus $0.90 per part | Machining |
| 50 | about $17 | about $90 plus $0.90 per part | Machining |
| 300 | about $16 | about $15 plus $0.90 per part | About level — the crossover |
| 1,000 | about $16 | about $4.50 plus $0.90 per part | Molding, and the gap widens with every part |
| 10,000 | about $16 | about $0.45 plus $0.90 per part | Molding, decisively |
Those figures assume a modest steel tool in the region of $4,500 to
$5,500. A larger or more complex tool pushes the crossover up, a simpler one
pulls it down, and for a small simple plastic part it can fall below a
hundred pieces. The general pattern holds regardless: the setup is
paid once and the mold is paid once, but only the mold carries a per-part
cost that keeps falling.
Two qualifications matter in practice. First, a mold locks you into a
material, so a part that has to change material, or that will change shape
during the programme, may never be a good mold candidate. Second, molding
replaces a machining operation with a moulding operation —
which is where your process control moves to. A molded part needs a validated
process window and a documented process sheet; a machined part needs a good
fixture and a gauge. Our injection molding
page covers how that window is set, and the
mold design guide covers the design
decisions that determine how a part molds cleanly in the first place.
There is a third option that sits between the two and is worth naming,
because for many buyers it is the right answer: machining the
prototype, molding the production run. Machine it to validate the
geometry, get the design frozen, then move to a tool. Our
rapid prototyping service covers the
faster intermediate options, and the
turnkey solutions page covers running
the whole route as one project.
Three tolerance decisions
A tolerance is only ever a decision about what a feature has to accomplish.
These three are real decisions from our own CNC work, and in each case the
obvious answer — specify the tightest band the machine can hold — was wrong,
because it was expensive and did not make the part work any better.
Case 1: The medical housing where the datum was the whole problem
An instrument customer needed an aluminium housing with a bore that had to
hold a rotating shaft, plus a flat sealing face for a gasket. The drawing they
sent had twenty-two tolerance callouts and no datum references at all. Every
dimension was individually tight, and the part still could not be assembled,
because nothing said where any of the features sat relative to anything else.
The rewrite was short. One datum on the sealing face, one secondary datum on
the bore, and the remaining dimensions left to ISO 2768-m with three callouts
kept: the bore, its position, and the flatness of the sealing face. Machining
time went down rather than up, because the part could now be cut in one setup
against a single origin. The inspection report also became meaningful, because
there was finally something to measure against. The general lesson
is that a drawing with no datum is a drawing where the supplier is paying to
guess, and that guess is charged back to you as either a rejected batch or an
inflated price.
Case 2: The bracket where the tolerance was right and the material was wrong
A customer wanted a 316 stainless bracket held to ±0.02 mm on a locating
boss. The tolerance was entirely reasonable; the material choice was what
would have made it expensive. 316 stainless machines roughly a third slower
than aluminium and wears tooling considerably faster, and it is a harder
material to hold a fine band in.
The answer was to change the material rather than the tolerance. The bracket
went to 6061-T6 with a hard anodized coating for the corrosion resistance the
application needed, and the boss was held to ±0.02 mm comfortably in a
fraction of the original cycle time. Hard anodizing adds a few microns of
coating, so the feature was specified pre-plate with the coating allowance
stated on the drawing. The general lesson is that a tight
tolerance on a difficult alloy is often a specification problem rather than a
machining problem, and that changing the material is nearly always cheaper
than paying for a process to fight it.
Case 3: The connector where machining was still the wrong answer at 800 pieces
A consumer electronics customer was quoting an injection-molded connector
housing at 800 pieces a year and comparing it against machining. Machined in
6061, the housing would have cost around 16 dollars per part — roughly 12,800
dollars a year — against a molded part at well under a dollar each once the
tool was paid off. But at 800 pieces the arithmetic is only half the story,
because the customer also had to fund a tool, wait six weeks for it, and
accept that any change to the housing would cost another 6,000 dollars and
another six weeks.
The resolution was to machine the first eighty pieces to prove the design
and get samples into the customer’s hands, then move the production volume to
a molded tool. The general lesson is that the crossover
calculation is about money, but the decision is about time and flexibility.
A machined part is never locked in; a molded part always is. That is worth a
lot when the design is still moving, and worth less than it seems when the
design has been frozen for two years.
CNC machining terms quick reference
| Term | Meaning | Why it matters when specifying a machined part |
|---|---|---|
| General tolerance | Blanket tolerance applying to every feature not individually called out | Removes guesswork from the majority of dimensions; the single most useful line on a drawing |
| Datum | The feature from which other dimensions and locations are measured | Without a datum, a tolerance has no reference and the part can be correct and still unusable |
| Tolerance stack | Running total of all sources of variation on a dimension | Explains why a correctly machined part fails inspection; usually fixed by setup, not by a better machine |
| Runout | Total indicator reading showing how far a surface varies as the part rotates | Governs whether a turned or milled surface is concentric; a common source of rejection |
| CMM | Coordinate measuring machine, programmed to measure actual values against nominals | The standard for tight tolerances and geometric requirements; a report with measured values settles disputes |
| Attribute inspection | Go/no-go gauging that confirms a feature is inside or outside the band | Fast and cheap for production; cannot tell you how far inside the band a part sits |
| Ra | Surface roughness, the average deviation of the surface from a mean line | The only unambiguous way to specify a finish; “smooth” and “polished” are not specifications |
| 3-axis milling | Machine moving in three linear axes with the spindle in a fixed orientation | The workhorse; simple features and prismatic geometry at the lowest cost |
| 5-axis milling | Machine with two rotary axes in addition to the three linear ones | Complex 3D geometry in a single setup, cutting fixturing error and setup count |
| Wire EDM | Electrical discharge machining, eroding the workpiece with a moving wire | Hardened steel and thin webs without burr; ±0.005 mm but slow and electrode-dependent |
| Surface grinding | Abrading with a rotating wheel to remove a very thin layer | The step beyond machining: ±0.005 mm, but at three times the cycle time |
| First article | The first production part, inspected against the drawing in full | Where a process gets proven before the rest of the batch is cut |
Frequently Asked Questions
What tolerance can CNC machining actually hold?
Is a tighter tolerance always worth paying for?
What is the difference between ISO 2768 general tolerances and individual callouts?
How much does tolerance affect CNC machining cost?
What is the tolerance stack, and how do I stop it from eating my budget?
Should I use a contract inspection report or inspect the parts myself?
When is CNC machining the wrong choice, and should I be making a mold?
What is the cost of CNC machined parts compared to injection molded parts?
How do I specify a CNC part so it arrives right the first time?
Where this applies
Send us the drawing, the material and the volume
Share the STEP or IGS file, the material grade, the critical dimensions with their tolerances and your annual volume. We will tell you what tolerance we can hold, what the part will cost, and whether machining or a mold is the right route at your volume.
- 23+ Years of experience
- 2,000+ Molds per year
- 24h Quote turnaround