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.
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"
Board 3: shelf 36", shelf 36", rail 22 1/2" · offcut 1 1/8"
Board 4: rail 22 1/2", rail 22 1/2", rail 22 1/2", rail 22 1/2" · offcut 5 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"
Method: first-fit decreasing, the better of two heuristics tried. Solid blocks are parts, the dashed block is the offcut.
How to use it
- 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. - 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.
- 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.
- 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 blade | Typical kerf |
|---|---|
| Full-kerf table or miter saw blade | 1/8" (3.2 mm) |
| Thin-kerf table or miter saw blade | 3/32" (2.4 mm) |
| Abrasive chop saw disc (metal) | 7/64"–1/8" (2.8–3.2 mm) |
| Hand saw | roughly 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.
Related tools and plans
- Plywood sheet cut optimizer How do I fit these cabinet parts on as few sheets as possible?
- Board foot calculator How many board feet is this pile of 4/4 walnut?
- Lumber cost calculator Is a 10-foot board cheaper than an 8-foot one for what I need?
- Stud and wall framing calculator How many studs for a 14-foot wall with a door?
- Drywall calculator How many sheets of drywall for a 12 by 10 room?
- Fabric yardage calculator How much fabric do I need for these pieces?
- Quilt backing, binding and batting calculator How much backing and binding fabric for my quilt?
- Bookshelf plans How far apart should bookshelf shelves be?
- 2x4 workbench plans How tall should a workbench be?
- Raised garden bed plans How much soil do I need for a raised bed?