Kerf tolerance — when, why, how
The default cutting optimizer treats kerf as a constant: every cut removes exactly kerf mm of material, no more, no less. In the real workshop, that’s a useful fiction. A worn blade, a hard knot, a soft glue line, a moment of inconsistent feed speed — they all push the actual cut width above the nominal kerf. The result is a cut plan that fits perfectly on paper but runs half a millimetre over on the shop floor.
Kerf tolerance is the optimizer’s safety valve. Set it above zero and the fit-check accepts cuts that exceed the bar/sheet by up to that amount. The setting is per project, defaults to zero, and lives in the Advanced Settings section of the sidebar.
Plain English: kerf tolerance is permission to be slightly wrong. Without it, the optimizer demands a perfect-arithmetic fit and reaches for a new sheet the moment the maths is over by 0.1 mm. With tolerance = 2, the optimizer will fit a piece that’s 2 mm over, on the assumption that you’ll trim those two millimetres off in practice or accept a slightly short part.
What’s actually happening
The 1D optimizer’s fit-check, in pseudocode:
exactFit = rod.remaining ≥ piece.length + kerf
toleranceFit = tolerance > 0 AND rod.remaining ≥ piece.length + kerf − tolerance
if exactFit: place the piece
if toleranceFit (and not exactFit): place the piece, increment toleranceAcceptedCount
otherwise: reject — move to next rod
The 2D optimizer applies the same idea to width and height independently. The crucial detail: exactFit is tried first. Tolerance is only consulted when an exact fit fails. You never accidentally lose yield by enabling tolerance — at worst it’s a no-op.
The counter is surfaced on the result page as “Within tolerance: N”. Treat that number as your at-risk count — those are the pieces that need a careful look before the saw fires.
When to use it
✅ Good reasons
- Old or worn blades. A blade that’s done a thousand metres of cross-cutting will be ~0.3 mm wider than spec by the time it’s due for sharpening. Set tolerance to the wear margin and stop wasting fresh sheets on the difference.
- Soft / fibrous materials. Tear-out on softwood, MDF, or laminate adds 0.5–2 mm of effective kerf on every cut. Tolerance lets the optimizer plan around that without you having to fudge the kerf upward (which would over-correct on clean cuts).
- Hand-fed cuts. Anything cut without a fence — bandsaw cross-cuts, jigsaw work, hand-held circular saw — has variable feed pressure. Tolerance is your hedge.
- Imported demand from a CAD file. When somebody else generated the cut list and rounded their dimensions, tolerance covers the rounding. A 1199.5 mm part rounded to 1200 mm becomes safe to accept on a 1200 mm offcut with tolerance = 1.
❌ Bad reasons
- “Just in case.” If your saw is clean and on spec, setting tolerance > 0 only hides a problem. The yield numbers will look better than reality.
- Wishful thinking on a tight job. Tolerance is not a way to fit a 1003 mm part into a 1000 mm bar. It’s a way to fit a 1000 mm part into 1000 mm when the optimizer thinks 1000 + kerf − tolerance is enough.
- As a substitute for measuring. If you don’t know your real kerf jitter, your tolerance number is a guess, and guessed tolerance is worse than zero tolerance.
How to measure your real kerf jitter
Five-minute test on any saw:
- Pick stable scrap. Same species, same thickness, same direction as your usual work.
- Make ten cross-cuts at full depth, identical setup. Stop between cuts so the blade temperature stays consistent.
- For each cut: push the two halves back together until they touch metal, then measure the gap with a dial calliper or a feeler-gauge stack.
- Record:
min,max,meanof the ten readings. - Your kerf width is
mean. Your kerf tolerance ismax − mean, rounded up to the next whole millimetre.
A real-world example from a 250 mm wood-cutting blade, 12-year-old panel saw:
| Cut | Width (mm) |
|---|---|
| 1 | 3.1 |
| 2 | 3.1 |
| 3 | 3.0 |
| 4 | 3.2 |
| 5 | 3.4 |
| 6 | 3.1 |
| 7 | 3.0 |
| 8 | 3.1 |
| 9 | 3.3 |
| 10 | 3.2 |
mean = 3.15 mm→ set kerf width to 3.2 mm (round to your dial calliper resolution).max − mean = 0.25 mm→ set kerf tolerance to 1 mm (next whole millimetre for safety).
That panel saw is now configured honestly. Cuts will fit, and the optimizer will save one or two sheets per large project that previously needed a fresh sheet to absorb the half-millimetre overshoot.
Re-measure when something changes. New blade, new material, new operator, new feed rate — they all reset the calibration. The kerf you measured last quarter on dry birch is not the kerf you have today on damp pine.
Picking a value by workshop
| Setup | Suggested tolerance |
|---|---|
| Fresh CNC router, sized programme | 0 mm |
| New panel saw, sharp blade, hardwood | 0–1 mm |
| 12-month-old panel saw, sharp blade, mixed sheet goods | 1 mm |
| Worn blade, soft MDF / chipboard | 1–2 mm |
| Cross-cut sled on table saw, dry softwood | 1–2 mm |
| Hand-fed circular saw, sheet goods | 2–3 mm |
| Glass cutter / wet saw, tempered glass | 0 mm (no margin available) |
| Cold saw, mild steel, sharp blade | 0–1 mm |
| Bandsaw, hand-fed cross-cuts | 2–3 mm |
| Laser cutter | 0 mm (kerf is repeatable to 0.05 mm) |
Default: 0 mm. Only set above zero when you’ve measured.
Reading the tolerance counter
After every optimization run the results card shows the stat:
Within tolerance: 3
That means three placed pieces fitted only because tolerance was non-zero. Treat them as the at-risk cuts:
- Find them on the layout. They will be the pieces nearest the end of a bar / right edge of a sheet.
- Measure the parent stock before cutting. The optimizer assumed your nominal length — if the real bar is 5 mm under, the tolerated cuts are the first to fail.
- Cut them last in the work order. If the cut overshoots, you’ve still saved every preceding cut on that piece of stock.
If the counter is consistently above 10–20% of total cuts on your projects, your tolerance is doing too much work — either your kerf width is too low, or your tolerance is too aggressive. Re-measure.
Interaction with other settings
| Setting | Interaction |
|---|---|
| Kerf width | Independent. The optimizer always subtracts the full kerf width from the remaining material for every cut; tolerance only relaxes the threshold for accepting a fit. |
| Start trim / End trim | Independent. Trim shrinks the effective bar/sheet length before any tolerance check. A 3000 mm bar with start_trim=10 and end_trim=5 starts with 2985 mm of usable material, and the tolerance check is against that 2985 mm. |
| Minimum offcut | Independent. Tolerance affects which pieces fit on a bar; minimum offcut only affects whether the remaining length becomes an inventory offcut or waste. |
| Cost per cut | Independent. Cut count is per placed piece — a tolerated fit still produces one cut. |
| First cut direction | Independent in 2D. Tolerance applies after the first-cut decision. |
Limits and ranges
| Feature | Type | Description |
|---|---|---|
| Minimum value | number (mm) | 0 (disabled — the optimizer requires exact arithmetic fits, like before). |
| Maximum value | number (mm) | 20 (sanity cap — values that high almost always indicate a misunderstanding of the feature). |
| Default | number (mm) | 0. |
| Step | number (mm) | 0.5 (the typical resolution you can measure on a real saw). |
| Plan | tier | Free — kerf tolerance is a precision-pack feature available on every paid and unpaid plan. |
| Persistence | scope | Per-project. Saved on the project record; reloads when the project reopens. |
Common questions
Does tolerance change with the size of the part? No. The threshold is a constant number of millimetres. A 100 mm piece with tolerance = 2 has the same 2 mm slack as a 1000 mm piece.
Can tolerance be negative? No. Negative tolerance would mean “demand more margin than exact fit” — which is what increasing the kerf width is for. The input is clamped to ≥ 0.
Does tolerance apply to the kerf gap or the piece length?
The piece length, indirectly. The fit-check compares rod.remaining ≥ piece.length + kerf − tolerance. You can read it as “the piece can be up to tolerance mm longer than the remaining space allows”.
Does each piece carry its own tolerance? Not in the current build. Per-piece tolerance is a planned Pro feature for shops where some pieces are critical-tight and others can flex.
Is there a separate W and H tolerance in 2D? No — the single tolerance value is applied to both dimensions in 2D mode. Independent W/H tolerance is on the roadmap for shops that have anisotropic kerf (rare, but exists with some CNC routers).
Where to go next
- Settings overview — kerf width, start/end trim, cost per cut, currency, and the rest of the sidebar.
- 1D linear cutting — how the FFD packer works and how tolerance plugs into it.
- 2D panel cutting — guillotine algorithm + the W×H tolerance check.
- Wood cutting — cross-section grouping + tolerance per group.