LCuts Project plans Cut list

Cut list optimizer for boards

List the lengths you need, say how long your boards are, and get a cutting plan that uses as few boards as it can find, with the saw kerf counted at every cut. Works for lumber, moulding, pipe, aluminium bar or anything else sold in fixed lengths.

Inputs

e.g. 96, 8', 2440
blade width
cut off before use
One line per length. 4 x 36 shelf, 2 @ 48-1/4 and 30 1/2 (one piece) all work.

Boards needed

5 × 96"

422 1/2" of parts from 480" of stock: 88% yield, 12% waste (55 1/2" of offcuts, 2" lost to kerf). No layout can use fewer boards: the lower bound is also 5.

Boards 1–2 (2 alike): top 48 1/4", shelf 36" · offcut 11 1/2"

top 48 1/4"shelf 36"

Board 3: shelf 36", shelf 36", rail 22 1/2" · offcut 1 1/8"

shelf 36"shelf 36"rail 22 1/2"

Board 4: rail 22 1/2", rail 22 1/2", rail 22 1/2", rail 22 1/2" · offcut 5 1/2"

rail 22 1/2"rail 22 1/2"rail 22 1/2"rail 22 1/2"

Board 5: rail 22 1/2", cleat 11 3/4", cleat 11 3/4", cleat 11 3/4", cleat 11 3/4" · offcut 25 7/8"

rail 22 1/2"offcut 25 7/8"

Method: first-fit decreasing, the better of two heuristics tried. Solid blocks are parts, the dashed block is the offcut.

How to use it

  1. Stock length is the length of the boards you will buy. Type it in inches (96), feet and inches (8', 10' 6") or, with the decimal display, millimetres.
  2. Saw kerf is the width of material the blade turns into dust. It is removed once between every two neighbouring pieces, and once more between the last piece and the offcut.
  3. End trim is cut off one end of each board before measuring anything: a checked end, a painted grade stamp, or planer snipe. Leave it at zero for clean stock.
  4. The cut list is one line per length, quantity first. Everything after the length is a name that appears on the diagram.

The method

Deciding which pieces go on which board is the one-dimensional bin-packing problem. It is NP-hard, which in practice means there is no known shortcut that always finds the fewest boards for a long list; the only guaranteed method is to try an exponential number of combinations. So, like every free cut list tool, this one uses heuristics, and it tells you which one won.

  • First-fit decreasing: sort pieces longest first, and put each one on the first board that still has room; start a new board only when none does.
  • Best-fit decreasing: the same, but each piece goes on the board where it leaves the least room over, which tends to finish boards off and keep one long offcut.

Both are run and the plan with fewer boards is kept; on a tie, the one with the longest single offcut wins, because one usable 30-inch piece is worth more than three 10-inch scraps. A board of usable length U can hold pieces p₁…pₙ when p₁ + … + pₙ + (n − 1) × kerf ≤ U.

The result also shows a lower bound, the fewest boards any plan could possibly use: ceil( Σ(pᵢ + kerf) / (U + kerf) ). When the plan matches it, you have the proven minimum. First-fit decreasing has a proven worst case: it never uses more than 11/9 of the optimal number of boards, plus less than one. On everyday woodworking lists it usually lands on the bound.

Worked example

The default list is four 36" shelves, six 22 1/2" rails, two 48 1/4" tops and four 11 3/4" cleats: 16 pieces and 422 1/2" of parts, cut from 8 ft (96") boards with a 1/8" kerf.

The lower bound is (422.5 + 16 × 0.125) / (96 + 0.125) = 424.5 / 96.125 = 4.42, so at least 5 boards. The optimizer finds a 5-board plan, so 5 is the true minimum. The two 48 1/4" tops each pair with a 36" shelf, leaving 11 1/2" offcuts; a third board takes two shelves and a rail with only 1 1/8" left over. The five boards are 480" of lumber, and 422 1/2" of it becomes parts: an 88% yield. Of the 57 1/2" that is not parts, 2" is sawdust and the rest is offcuts, the longest about 26".

Try changing the tops to 48" exactly. Two 48" pieces on one board need 96 1/8" with the kerf, so they still cannot share a board: kerf is the reason "two halves of an 8-footer" never works.

Typical kerf and stock lengths

Saw or bladeTypical kerf
Full-kerf table or miter saw blade1/8" (3.2 mm)
Thin-kerf table or miter saw blade3/32" (2.4 mm)
Abrasive chop saw disc (metal)7/64"–1/8" (2.8–3.2 mm)
Hand sawroughly 1/32"–1/16"

These are typical plate thicknesses; your blade's real slot is what counts, so measure it. In North America, softwood dimension lumber is stocked in 2 ft steps, usually 8, 10, 12, 14 and 16 ft, plus precut studs such as 92 5/8". Hardwood from a lumberyard comes in random lengths, so run the optimizer with the shortest length in the pile you are choosing from.

Where it stops being reliable

  • It is a heuristic. When the plan is above the lower bound, a better plan might exist. For a very short list you can often spot it by eye from the offcuts.
  • Real boards have defects. The plan assumes every inch is usable. Knots, splits, wane and bow are where real waste comes from, so buy at least one spare board for anything you cannot easily go back for.
  • Rough lumber needs more. If the stock still has to be jointed and planed, add the length lost to snipe as end trim, and remember that the width and thickness you get are smaller than what you paid for.
  • It does not match grain or colour. If parts should come from the same board, such as the rails of one door, group them yourself.

Common questions

Is this the best possible cutting plan?

Not necessarily. Cutting lengths from boards is the bin-packing problem, for which no fast method is known that always finds the optimum. The optimizer runs first-fit decreasing and best-fit decreasing and keeps the better one. It also prints a lower bound: if the board count equals that bound, no plan can do better. If it is one above, a better plan may or may not exist.

What kerf should I enter?

Measure the slot your blade actually cuts: make a cut part-way into scrap and measure it with calipers or a feeler gauge. As a starting point, full-kerf table saw and miter saw blades are usually about 1/8 in (3.2 mm) and thin-kerf blades about 3/32 in (2.4 mm). Blade wobble makes the real slot a little wider than the plate thickness printed on the packaging.

Why does the plan want a whole extra board for one short piece?

Because every other board is already full to within less than that piece plus a kerf. Look at the offcuts on the other boards: if one is only slightly short, trimming a piece by that amount, or buying one longer board, often removes the extra board entirely.

Can I mix board lengths, like 8 ft and 10 ft?

Not in one run: the optimizer assumes a single stock length. Run it once for each length you can buy and compare the waste, or use the lumber cost calculator to see which length is cheaper per useful foot for your job.

Does it work in millimetres?

Yes. Switch the display to decimal and enter every length, the kerf and the trim in millimetres. The arithmetic does not care about the unit as long as every number uses the same one.