Woodworking · lumber planning

Lumber Cut-List Optimizer

Build a deterministic one-dimensional crosscut plan from stock length, parts, kerf and end trim, with a lower-bound comparison and no false global-optimum claim.

Runs locallyNo signupordinaryEngine 1.0.0Reviewed 2026-08-22

Browser calculator

One-dimensional lumber cut-list planner

Deterministic first-fit-decreasing crosscut plan with explicit kerf and end trim; no global-optimum claim.

Stock pieces required by this heuristic3 pieces

Length-only lower bound: 3. Efficiency: 79.2%.

Printable cut plan

Stock 1: 30 + 30 + 30 in; offcut 5.75 in

Stock 2: 30 + 18 + 18 + 18 in; offcut 11.625 in

Stock 3: 18 + 18 + 18 in; offcut 41.75 in

Show calculation steps
StepExpressionRaw value
Usable stockstock length − 2 × end trim96 in
Length-only lower boundceil(total part length ÷ usable stock)3 stock pieces
FFD planlongest part first into first stock with capacity3 stock pieces

This browser tool creates a reproducible one-dimensional crosscut plan. It sorts required pieces longest-first and places each into the first stock piece with enough usable length. It is practical and deterministic, but it is a heuristic—not a promise of the globally best plan.

How to use it

  1. Enter the full stock length.
  2. Enter saw kerf between adjacent parts and any unusable trim at each end.
  3. Enter lengths and quantities for the two part rows.
  4. Review stock count, the length-only lower bound, offcuts and the printed cut sequence.
  5. Recheck the plan against defects, grain, clamping and real machine setup before cutting.

Algorithm

Usable stock equals stock length minus two end trims. Required pieces are expanded and sorted from longest to shortest. Each is placed into the first existing stock bin where used length, one intervening kerf and the new part fit; otherwise a new stock piece is opened.

The displayed lower bound is the ceiling of total part length divided by usable stock. It ignores kerf and packing conflicts, so matching it is useful evidence but not proof of global optimality. Exceeding it does not prove a better feasible plan exists.

Example and interpretation

Four 24-inch parts fit one 96-inch stock only when kerf and trim are zero. With a positive kerf between adjacent parts, the same nominal lengths require more than 96 inches. This boundary fixture prevents the common mistake of forgetting internal saw loss.

Limits

  • Identical stock lengths and one-dimensional crosscuts only.
  • Two visible part rows and at most 1,000 total parts in this browser-safe interface.
  • No defect map, grain constraint, clamp clearance, setup cuts or persistent offcut inventory.
  • No global-optimum claim.
  • Machine safety and cut order remain the operator’s responsibility.

Troubleshooting

If a plan unexpectedly opens another stock piece, compare the nominal part sum with internal kerfs and both end trims. If the lower bound is smaller than the plan, remember that it ignores kerf and packing compatibility. If a part is rejected, compare it with usable—not nominal—stock length.

FAQ

Is first-fit decreasing always optimal?

No. It is fast, deterministic and often useful, but it can use more stock than another feasible arrangement.

Why is the lower bound smaller than the plan?

The length-only bound ignores kerf and packing compatibility.

Does the plan include a kerf after the last part?

No. Kerf is charged only between adjacent parts in a stock piece.

Is project data uploaded?

No. The plan runs locally in the browser.

References

NIST supports the displayed measurement-unit relationships. The implementation is original TypeScript and uses no copied optimizer code or proprietary dataset.

Engine 1.0.0. Reviewed 2026-08-22.

References and further reading

These sources define or explain the calculation. Source editions and model limits are part of the result—not decorative citations.

  1. NIST Guide to the SI, Chapter 8, National Institute of Standards and Technology; accessed 2026-08-22. COMMON-NIST-SI