Ask what tolerance an FDM printer holds and you will be told ±0.2 mm. That answer is not so much wrong as malformed. A flat millimetre figure implies that a 4 mm dowel hole and a 200 mm bearing housing are the same engineering problem. The 4 mm hole is a handful of extrusion widths across; the 200 mm bore is a structure that moves as it cools. One number cannot describe both.
ISO 286 solved this long ago by publishing tolerances not as millimetres but as multiples of a size-dependent quantity, the fundamental tolerance unit i. Pick a diameter, compute i, multiply by the grade the job needs. The tables below apply that structure to FDM: the clearances a printed joint needs, the ISO grade bands for context, and an honest read on which grade a consumer machine reaches.
The tolerance unit i, and why it is a cube root
The whole page rests on one expression, with D in millimetres and i in microns:
i = 0.45 × D1/3 + 0.001 × D
The cube-root term dominates, and that shape is not arbitrary. Manufacturing error scales roughly with the cube root of size because the mechanisms behind it — tool deflection, thermal gradients, fixturing, and for FDM the width of a deposited bead relative to the feature — do not grow in proportion to the part. Double the diameter and achievable tolerance grows about 26 percent, not 100 percent. The linear term only starts to matter past roughly 100 mm. Two consequences: tight fits get proportionally easier as parts get bigger, and small features are the hard case even though they look trivial in CAD.
| Nominal D (mm) | i (µm) | Nominal D (mm) | i (µm) |
|---|---|---|---|
| 3 | 0.65 | 50 | 1.71 |
| 5 | 0.77 | 60 | 1.82 |
| 8 | 0.91 | 80 | 2.02 |
| 10 | 0.98 | 100 | 2.19 |
| 12 | 1.04 | 120 | 2.34 |
| 16 | 1.15 | 160 | 2.60 |
| 20 | 1.24 | 200 | 2.83 |
| 25 | 1.34 | 250 | 3.08 |
| 30 | 1.43 | 300 | 3.31 |
| 40 | 1.58 | 400 | 3.72 |
Note the range. Across a 130-fold span in diameter, from 3 mm to 400 mm, i only moves by a factor of about 5.7. That compression is the cube root at work, and it is why a clearance rule that scales beats a clearance rule that does not.
i is measured in microns while every clearance below is in millimetres, so each table entry carries a divide-by-1000. At 20 mm, i = 1.24 µm, which is 1.24 thousandths of a millimetre — far finer than anything FDM resolves. i is a scaling ruler, not a printable dimension.
Clearance chart: six fit classes by diameter
This is the table to bookmark. Each fit class is a fixed multiple of i, written as C, so clearance in millimetres is simply C × i / 1000. Negative values are interference: the peg is deliberately larger than the bore.
| Fit class | C | What it is for |
|---|---|---|
| Press / interference | -50 | Permanent joints. Bearing seats, dowel pins, threaded inserts. |
| Transition (tap to seat) | 40 | Located but removable. Alignment pins, jig bushings. |
| Sliding (hand assembly, no felt play) | 160 | Locating features, stacked plates, lids that must not rattle. |
| Close running | 240 | Slow rotation or occasional sliding. Levers, latches. |
| Free running | 400 | Continuous rotation. Hinges, wheels, idlers, pulleys. |
| Loose | 640 | Captive nuts, cable pass-throughs, anywhere a tolerance stack lands. |
| D (mm) | i (µm) | Press | Transition | Sliding | Running | Free | Loose |
|---|---|---|---|---|---|---|---|
| 5 | 0.77 | -0.039 | 0.031 | 0.124 | 0.186 | 0.310 | 0.496 |
| 10 | 0.98 | -0.049 | 0.039 | 0.157 | 0.235 | 0.392 | 0.627 |
| 20 | 1.24 | -0.062 | 0.050 | 0.199 | 0.298 | 0.497 | 0.795 |
| 30 | 1.43 | -0.071 | 0.057 | 0.229 | 0.343 | 0.571 | 0.914 |
| 50 | 1.71 | -0.085 | 0.068 | 0.273 | 0.410 | 0.683 | 1.093 |
| 80 | 2.02 | -0.101 | 0.081 | 0.323 | 0.485 | 0.808 | 1.292 |
| 120 | 2.34 | -0.117 | 0.094 | 0.374 | 0.562 | 0.936 | 1.497 |
| 200 | 2.83 | -0.142 | 0.113 | 0.453 | 0.680 | 1.133 | 1.812 |
Now find the sliding column at 20 mm: 0.199 mm. That is the famous “just leave 0.2 mm” rule, and it is correct — at exactly one diameter. The folk rule is a single cell of this table that escaped into general circulation. Apply it at 5 mm and you have given a locating feature 0.2 mm where 0.124 mm was wanted, roughly 60 percent too much play. Apply it at 200 mm and 0.2 mm falls between transition and sliding, so a joint meant to slide by hand will bind. The rule does not fail because the number is bad. It fails because a constant is standing in for a function.
Read the press column while you are here. Interference at 20 mm is only 0.062 mm, and at 5 mm it is 0.039 mm. Those are small numbers next to what a consumer machine repeats, which is the subject of the warning below.
A typical well-tuned consumer machine at 0.2 mm layers repeats to roughly ±0.080 mm. Any fit whose clearance is smaller than about twice that band, 0.160 mm, will not be consistent part to part. That rules out every press and transition entry in the table above, and sliding below about 12 mm. Those fits are still designable, but only with a printed test coupon and a calibrated machine — not straight off a first print.
ISO 286 IT grade reference
IT grades are the same trick as the fit classes, just used for a different purpose: instead of a functional gap they describe the width of a tolerance band a process can hold. Each grade is a multiple of i, and the table below converts those multiples into millimetres at four representative diameters.
| Grade | × i | 10 mm | 20 mm | 50 mm | 100 mm |
|---|---|---|---|---|---|
| IT7 | 16 | 0.016 | 0.020 | 0.027 | 0.035 |
| IT8 | 25 | 0.024 | 0.031 | 0.043 | 0.055 |
| IT9 | 40 | 0.039 | 0.050 | 0.068 | 0.088 |
| IT10 | 64 | 0.063 | 0.079 | 0.109 | 0.140 |
| IT11 | 100 | 0.098 | 0.124 | 0.171 | 0.219 |
| IT12 | 160 | 0.157 | 0.199 | 0.273 | 0.350 |
| IT13 | 250 | 0.245 | 0.310 | 0.427 | 0.547 |
| IT14 | 400 | 0.392 | 0.497 | 0.683 | 0.875 |
| IT15 | 640 | 0.627 | 0.795 | 1.093 | 1.401 |
| IT16 | 1000 | 0.979 | 1.241 | 1.708 | 2.189 |
The two tables share their multipliers, which makes translation easy. Sliding is C = 160 and IT12 is 160 × i, so a sliding clearance is numerically an IT12 band: both read 0.199 mm at 20 mm. Free running at C = 400 matches IT14, and loose at C = 640 matches IT15. The overlap is a convenience for reading, not a claim that a clearance and a tolerance band are the same thing — one is a gap you design in, the other is scatter you cannot remove.
Which IT grade does FDM actually reach?
This is the question the ±0.2 mm answer was trying to answer, so let us do it properly. Work the process error at 20 mm nominal with a 0.4 mm nozzle, 0.2 mm layers and the model's default calibration constants.
Extrusion width comes first, because it dominates everything downstream: W = 0.4 × 1.125 = 0.45 mm. The curvature factor at 20 mm is 1 + 2/20 = 1.10. From there:
| Term | Expression | mm | × i |
|---|---|---|---|
| Hole undersize | 0.50 × 0.45 × 1.10 + 0.15 × 0.2 | 0.2775 | 224 |
| Shaft oversize | 0.20 × 0.45 + 0.10 × 0.2 | 0.110 | 89 |
The hole is the binding constraint. An uncompensated 20 mm bore prints 0.2775 mm small, and dividing by i gives 0.2775 / 1.2415 × 1000 = 224 × i. That sits between IT12 at 160 and IT13 at 250, close to IT13. So the honest answer to “what grade is FDM?” is: roughly IT13 before compensation, and the error is a systematic offset rather than random scatter. The shaft is better behaved at 89 × i, near IT10, because a peg has no bore wall pushing the bead inward.
The systematic part is the good news. An offset that size is predictable and can be modelled out, which is exactly what the calculator does — it inflates the modelled bore and shrinks the modelled peg so the printed parts land on target. What grade you hold after compensation depends entirely on your machine's repeatability rather than on this formula, so that figure is TBC until you measure your own coupon. Do not trust a published number for it, including ours.
For qualitative context only: CNC milling typically works in the IT7 to IT9 range and injection moulding around IT11 to IT13. That places uncompensated FDM at the loose end of moulding, several grades away from machining. Treat the comparison as a mental map, not as sourced data.
Curvature: why small holes are the hard case
The curvature factor is the term that makes small features misbehave:
curvature = 1 + min(2 / D, 0.6), capped at 1.6
| D (mm) | Factor | Effect on hole undersize |
|---|---|---|
| 3 | 1.60 | Capped. Model accuracy is already marginal here. |
| 5 | 1.40 | 40 percent more loss than a flat wall. |
| 10 | 1.20 | Still significant. |
| 20 | 1.10 | The calibration anchor. |
| 50 | 1.04 | Nearly negligible. |
| 100 | 1.02 | Effectively a straight wall. |
Two mechanisms stack up in a tight bore. A deposited bead follows a curved path and the molten material on the inside of that curve has more room to displace inward, so the perimeter creeps toward the centre. Separately, the slicer approximates the circle with straight segments, and every chord cuts inside the true arc. Both effects scale with how sharply the wall turns, which is why they fade out by 50 mm and dominate below 10 mm.
This is the concrete reason a 3 mm hole is harder to hit than a 30 mm one, and why small holes usually want a different strategy: model them oversize and ream, or drill them to size. Below about 4 mm the bore is only a few extrusion widths across, bead placement decides the geometry outright, and this model loses its footing.
How to use these tables
The workflow is four steps. Start from the nominal diameter your assembly needs and round to the nearest row in the clearance table; interpolating is fine but the cube root is flat enough that the nearest row is usually within a few microns. Second, choose a fit class from function, not feel — if it rotates continuously it is free running, if it locates and stays put it is sliding, if it never comes apart it is press. Third, read the clearance and sanity-check it against the ±0.080 mm repeatability band: if the clearance is under 0.160 mm, plan on a test print.
The fourth step is the one these tables cannot do for you. Clearance is what the printed parts need between them. It is not what you type into CAD, because the bore will come out 0.2775 mm small and the peg 0.110 mm large, and because material shrinkage shifts both. Put the nominal size, fit class and material into the calculator and it returns the dimensions to model, with the process allowance and shrinkage already inverted. Use the chart to decide what you want; use the tool to get there.
Run your own numbers Enter the nominal size, pick the fit class and the material, and the calculator returns the dimensions to model.Frequently asked
Is FDM tolerance really not ±0.2 mm?
Not as a general figure, no. The number happens to match a sliding clearance at 20 mm, which is why it spread so widely, but tolerance scales with the cube root of diameter. Using one constant across all sizes means over-clearing small features and under-clearing large ones.
Which IT grade should I quote on a drawing for a printed part?
Uncompensated, roughly IT13 at 20 mm, derived from a hole undersize of 224 × i. After compensation the achievable grade depends on your machine's repeatability and is not something this model predicts, so measure a coupon rather than quoting a number you have not verified.
Why is the hole error more than twice the shaft error?
Because the bore has a wall that pushes the bead inward and a curvature penalty that a peg does not carry. At 20 mm the hole term works out to 0.2775 mm against 0.110 mm for the shaft. Compensate the two independently; a single symmetric offset will not serve both.
Can I use the press column straight from the table?
Cautiously. Press interference at 20 mm is 0.062 mm, well inside the ±0.080 mm repeatability band, so consistency is the risk rather than the number. Keep at least 0.25 × diameter of wall around the bore, add a lead-in chamfer, and prefer PETG or ABS over brittle PLA at larger diameters.
Do these clearances change with material?
The clearance does not — it is a function of diameter and fit class only. What changes is how much correction you need to hit it, because shrinkage varies from 0.15 percent for PLA-CF up past 1 percent for nylon and PP. See material shrinkage, and note that shrinkage only cancels between parts when both are printed in the same material.