Why this matters: tolerances are the silent cost driver.

On a typical CNC-machined part, the choice between ±0.1 mm and ±0.01 mm can change the price by a factor of 3–5. Not because the feature is harder to physically cut — but because of everything that surrounds it: more setup rigidity, finer tooling, in-process measurement, longer cycle times, and higher scrap rates.

Most engineers intuit this. The mistake we see most often is defaulting to tighter tolerances "just to be safe." A block of dimensions all toleranced at ±0.02 mm — when only two of them actually affect fit — quietly doubles the part cost. This guide gives you the reference tables to call out tight tolerances only where they matter.

The rule of thumb: If you don't know why a tolerance needs to be tight, it probably doesn't. Put critical-fit dimensions at precision tolerance, put everything else at general tolerance per ISO 2768-m or -c.

ISO 2768 general tolerances — the starting point.

ISO 2768 (replacing older DIN 7168) specifies four classes of general tolerance for linear dimensions: fine (f), medium (m), coarse (c), and very coarse (v). Most CNC drawings are called out as ISO 2768-m or ISO 2768-mK. These are the default tolerances for any dimension not otherwise specified on the drawing.

Here is the full table for linear dimensions:

Nominal size range (mm)Fine (f)Medium (m)Coarse (c)Very coarse (v)
0.5 – 3±0.05±0.10±0.20
3 – 6±0.05±0.10±0.30±0.50
6 – 30±0.10±0.20±0.50±1.00
30 – 120±0.15±0.30±0.80±1.50
120 – 400±0.20±0.50±1.20±2.50
400 – 1000±0.30±0.80±2.00±4.00
1000 – 2000±0.50±1.20±3.00±6.00

Every CNC shop can meet ISO 2768-m without thinking about it. 2768-f is where you start to pay attention — it's still routine, but parts will get inspected more carefully. The "K" suffix (as in 2768-mK) adds general geometric tolerances: flatness, straightness, symmetry, and runout.

How fobproto thinks about tolerances: three tiers.

Standards are good for drawing callouts, but for quoting we group everything into three tiers that roughly map to process capability and cost:

TIER 01

Standard

ISO 2768-m / medium. The cheapest tier. All standard 3-axis CNC parts without second-operation inspection. Use for 80% of dimensions on a typical part.

BASELINE COST · 1.0×
TIER 02

Precision

ISO 2768-f / fine. Requires CMM inspection and finer tooling. Use on critical fits — bearing bores, locating pins, mating faces.

APPROX COST · 1.4–1.8×
TIER 03

Ultra-precision

Grinding or jig-boring territory. Requires temperature-controlled finishing, slow final cuts, and full GD&T. Call ahead.

APPROX COST · 2.5–4×

Linear dimensions — tolerance chart by tier and size.

Achievable on milled and turned parts in soft metals (aluminum, mild steel, brass):

Size range (mm)StandardPrecisionUltra-precision
Up to 6±0.10±0.05±0.005
6 – 30±0.20±0.10±0.010
30 – 120±0.30±0.15±0.015
120 – 400±0.50±0.20±0.025
400 – 1000±0.80±0.30±0.050

For harder alloys (stainless, Inconel, titanium, tool steel), expect tolerances roughly 1.5× wider at the same tier — or, equivalently, a 30–50% cost premium to hold the softer-metal tolerance.

Hole diameters and hole-to-hole locations.

Holes are where tolerances get tight fast. ISO 286 defines H7/h6/g6 bore fits — here's what CNC can deliver without second-op reaming or boring:

FeatureStandard (drilled)Precision (reamed)Ultra (bored / ground)
Hole diameter <10 mm+0.1 / −0.0H7 (+0.015)H6 (+0.009)
Hole diameter 10–50 mm+0.2 / −0.0H7 (+0.025)H6 (+0.016)
Hole diameter 50–100 mm+0.3 / −0.0H7 (+0.030)H6 (+0.019)
Hole-to-hole location±0.15±0.05±0.015
Perpendicularity to face0.1 / 100 mm0.03 / 100 mm0.01 / 100 mm
Bore circularity0.050.0150.005
Drilled holes are not precision features. A drilled hole follows the drill, not the CAM program — diameter is oversize, position wanders, and bell-mouthing is normal. If you need better than ±0.1 mm on hole diameter or ±0.15 mm on hole location, call it out as reamed or bored on the drawing. Otherwise the machinist will drill it, and it will measure like a drilled hole.

Form and position — GD&T on CNC parts.

ASME Y14.5 geometric tolerances map cleanly onto CNC capabilities — but only if you specify datums correctly. Here are typical achievable values per 100 mm of feature size:

GD&T calloutStandardPrecisionUltra-precision
Flatness0.05 mm0.02 mm0.005 mm
Straightness0.05 mm0.02 mm0.005 mm
Parallelism0.08 mm0.025 mm0.008 mm
Perpendicularity0.08 mm0.025 mm0.008 mm
Position (hole pattern)Ø0.2 mmØ0.05 mmØ0.015 mm
Circularity (turned OD)0.02 mm0.008 mm0.002 mm
Runout (total)0.05 mm0.015 mm0.005 mm
Symmetry0.1 mm0.03 mm0.01 mm

Surface roughness achievable by process.

ProcessTypical Ra (µm)Best Ra (µm)Comments
Face milling (rough)3.21.6Standard pocketing/facing
Face milling (finish)1.60.8Finish pass with ground insert
End milling (side wall)1.60.8Depends on stepover
Turning (rough)3.21.6
Turning (finish)0.80.4CNMG insert, 0.1 mm/rev
Drilling3.21.6
Reaming0.80.4
Grinding (surface)0.40.1Standard precision grind
Polishing0.20.025Manual / mechanical
Wire EDM1.60.44-pass skim for best Ra
Bead blast (glass)1.6–3.2Matte cosmetic finish

What each CNC process can actually hold.

Different processes hit different tolerance ceilings. Know which process is cutting your feature before you specify the tolerance:

ProcessTypical toleranceBest toleranceBest use
3-axis milling±0.05 mm±0.015 mmPrismatic parts, pockets
5-axis milling±0.05 mm±0.010 mmComplex contours
CNC lathe (2-axis)±0.03 mm±0.008 mmTurned OD/ID
Swiss turning±0.015 mm±0.005 mmSmall slender parts
Wire EDM±0.010 mm±0.003 mmHardened steel detail
Sinker EDM±0.015 mm±0.005 mmSharp corners, cavities
Jig grinding±0.005 mm±0.002 mmMold inserts, gauge bores

Five rules for tolerancing a CNC drawing.

1. Default everything to ISO 2768-mK. Tighten only what matters.
Put ISO 2768-mK in the title block. Now only features that need tighter tolerance get explicit callouts. This single change reduces cost on almost every CNC drawing we see — because it stops the shop from over-inspecting features that don't matter.
2. Tolerance fits, not dimensions.
If two parts must slip-fit together, dimension both as H7/g6 with a nominal. Don't put ±0.01 mm on one and ±0.01 mm on the other — you'll get stack-up that kills the fit. Use ISO 286 letter-grade fits instead.
3. Use datums. Pick them based on function.
Parts without datums get machined from whatever face the machinist finds convenient, which may not be the one your assembly requires. Specify primary, secondary, and tertiary datums on every part with more than one critical feature. Pick datums that correspond to real mating surfaces in the assembly.
4. Surface finish: don't call out Ra 0.4 unless you need it.
Ra 1.6 is standard as-machined. Ra 0.8 needs finish passes. Ra 0.4 needs a ground insert or polishing. Ra 0.2 and finer usually require a secondary grinding or polishing step. Each step down costs money. Only the surfaces that seal, bear against a mate, or are optically visible need better than Ra 1.6.
5. When in doubt, talk to the shop before you finalize the print.
A 5-minute conversation about "is ±0.015 on that bore really necessary?" can save hundreds of dollars per part. If you want us to DFM-review a drawing before you release it, upload the STEP + PDF to our quote page and we'll come back with a markup within one business day.

Need a second opinion on your tolerances?

Upload a drawing. We'll flag which callouts are likely inflating cost — and suggest alternatives.

Free DFM review