True position calculation: the formula, worked example and bonus tolerance.

GD&T / Inspection June 29, 2026 10 min read 1,700 words

Position tolerance is the most-used GD&T control on any drawing with holes, and the one people get wrong most often. The maths is simple once you see it: true position equals twice the radial deviation from the basic location. Here is the formula, a fully worked example, and how Maximum Material Condition adds bonus tolerance.

What is true position?

"True position" is the exact, theoretically perfect location of a feature, defined by basic dimensions (the boxed numbers on the drawing). The position tolerance is a cylindrical zone, centred on that true position, within which the actual feature axis must lie. Per ASME Y14.5-2018 (and ISO 1101), it is called out in a feature control frame, for example a position symbol with a tolerance of ⌀0.1 referenced to datums A, B and C.

The key idea: you do not get a square ± zone. You get a round zone of diameter equal to the stated tolerance. That round zone is what makes the calculation a radial one.

The true position formula

Measure how far the actual hole centre deviates from its basic location in X and Y. Call those deviations ΔX and ΔY. Then:

True position = 2 × √(ΔX² + ΔY²) The factor of 2 converts the radial error (distance from true centre) into a diameter, because the tolerance zone is specified as a diameter.

The actual feature passes when:

  • Calculated true position ≤ the stated position tolerance (at RFS), or
  • Calculated true position ≤ the stated tolerance + bonus tolerance (at MMC — see below).

Worked example

A bracket has a hole with a basic location of X = 20.000, Y = 15.000 from datums B and C, and a feature control frame of position ⌀0.10 to A|B|C at RFS. On the CMM the hole axis is measured at X = 20.030, Y = 14.980.

StepValue
ΔX = 20.030 − 20.000+0.030 mm
ΔY = 14.980 − 15.000−0.020 mm
Radial deviation √(0.030² + 0.020²)√(0.0009 + 0.0004) = √0.0013 = 0.0361 mm
True position = 2 × 0.03610.0721 mm
Allowed tolerance0.100 mm
Verdict0.0721 ≤ 0.100 → PASS

Note the part passes even though ΔX alone (0.030) is within 0.05 — checking X and Y separately against half the tolerance is a common shortcut that gives the wrong answer. You must combine them radially.

Skip the arithmetic Punch ΔX and ΔY straight into MetricMech's free position tolerance calculator and it returns true position, bonus tolerance at MMC, and a pass/fail verdict.

Why a diameter zone, not a square?

If you used a ±0.05 square tolerance on X and Y, a hole sitting at the corner of the square would actually be 0.0707 mm from true centre — 41% further than the 0.05 you intended along each axis. The square zone over-rejects good parts at the axes and under-controls at the corners. A cylindrical position zone gives a uniform allowance in every direction, which is why GD&T position replaced co-ordinate tolerancing for hole patterns.

MMC bonus tolerance

When the feature control frame carries a circle-M modifier (Maximum Material Condition), the hole earns bonus tolerance as it departs from MMC. For a hole, MMC is the smallest allowed diameter. The bonus equals the actual hole size minus the MMC size.

Example: hole spec ⌀5.0 +0.10/0, position ⌀0.10 at MMC. MMC size = 5.00 (smallest). If the hole is actually produced at ⌀5.08:

  • Bonus = 5.08 − 5.00 = 0.08 mm
  • Total position allowance = 0.10 + 0.08 = 0.18 mm
  • The 0.0721 true position from above now has 0.18 of headroom — a comfortable pass.

Bonus tolerance is free manufacturing margin. Ignoring it scraps parts that are perfectly functional. For how MMC interacts with datums and virtual condition, see our companion guide on position tolerance at MMC.

Common mistakes

  1. Forgetting the factor of 2. Reporting the radial deviation (0.0361) instead of the diameter (0.0721) makes a part look twice as good as it is.
  2. Treating basic dimensions as toleranced. Basic dimensions are exact; the tolerance lives only in the position zone, never on the boxed location.
  3. Measuring to the wrong datums. Position is meaningless without setting up the part on the datum reference frame in the stated order (A primary, B secondary, C tertiary).
  4. Dropping bonus tolerance. At MMC, leaving out the bonus over-rejects good holes — costly on high-volume parts.
From drawing to inspection report Position callouts have to be ballooned and listed on the FAI sheet before you measure. CadNexa's online tool auto-detects dimensions and GD&T frames and numbers them for you — try CadNexa auto-ballooning to skip the manual marking.

For the fits that determine the MMC and LMC limits of your holes and pins, see ISO 286 fits and tolerances, and grab ready inspection sheets from the MetricMech templates library.

RR
Rajadurai R
Founder, MetricMech & CadNexa · 14 years plant-head experience

Frequently asked questions

What is the true position formula?

True position = 2 × √(ΔX² + ΔY²), where ΔX and ΔY are the deviations of the actual feature centre from its basic location. The factor of 2 turns the radial error into the diameter of the tolerance zone.

Why is true position a diameter and not a radius?

Position tolerance defines a cylindrical zone, so it is specified as a diameter. The measured radial deviation is doubled to express it on the same diameter basis as the drawing callout.

How does MMC give bonus tolerance?

Under Maximum Material Condition the feature gains extra position tolerance equal to its departure from MMC. For a hole, bonus = actual size − MMC size, added to the stated position tolerance.

Can I check true position with calipers?

Only roughly. Position relative to a datum reference frame is best verified on a CMM or with a functional gauge, because it requires the part to be located on its datums in the correct order.