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.
Browser calculator
One-dimensional lumber cut-list planner
Deterministic first-fit-decreasing crosscut plan with explicit kerf and end trim; no global-optimum claim.
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
| Step | Expression | Raw value |
|---|---|---|
| Usable stock | stock length − 2 × end trim | 96 in |
| Length-only lower bound | ceil(total part length ÷ usable stock) | 3 stock pieces |
| FFD plan | longest part first into first stock with capacity | 3 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
- Enter the full stock length.
- Enter saw kerf between adjacent parts and any unusable trim at each end.
- Enter lengths and quantities for the two part rows.
- Review stock count, the length-only lower bound, offcuts and the printed cut sequence.
- 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.
- NIST Guide to the SI, Chapter 8, National Institute of Standards and Technology; accessed 2026-08-22. COMMON-NIST-SI