Build a feasible timber cutting plan from required lengths, stock options and reusable offcuts. The calculator shows which cuts go into each piece, material cost, kerf, trim and remaining length.

Enter your values, then select Calculate.

Feasible best-fit-decreasing heuristic for one material and cross-section at a time; global optimality is not guaranteed. A kerf is reserved for every finished piece, including the last. End trim is removed from both ends of every used stock piece or offcut.

One pair per line; quantities are whole numbers. Use one selected length unit throughout.

One pair per line. Supply is assumed unlimited; use one currency throughout.

Changing this unit reinterprets every entered length; it does not rescale the numbers.

Reusable offcuts (optional)

Length accounting

For each used piece: stock length = sum of finished cuts + cut count × kerf + 2 × end trim + remainder. Use one length unit and one material cross-section per calculation. Changing the selected unit reinterprets every entered cut, stock, offcut, kerf and trim length; it does not rescale the numbers.

Example

Two 400 mm cuts in a 1,000 mm piece, with a 3 mm kerf and 5 mm trim at each end, use 800 + 6 + 10 = 816 mm. The remainder is 184 mm. If that piece costs 12 currency units, the new material cost is 12.

Frequently asked questions

Is the plan guaranteed to be optimal?

No. Longest cuts are placed first using the tightest fitting open piece. Offcuts are used before buying stock; new stock is selected by price per usable length. This heuristic produces a feasible plan without proving the lowest cost or waste.

Why is kerf charged for the last cut?

The model reserves one full kerf for every finished piece. This conservative convention is consistent throughout the plan; a real cutting sequence may save a final cut.

What does the lower bound mean?

It is an optimistic minimum number of new pieces based on finished length, the largest usable stock and all offcut capacity. It ignores kerf and does not measure a cost gap. Keep unused offcuts for another job.

Related method: Google OR-Tools explanation of bin packing and capacity constraints.