A free cut list optimizer is a browser-based tool that packs labelled parts into equal stock lengths using a First Fit Decreasing (FFD) heuristic, reporting kerf and waste for every stock piece. The optimizer expands a parts list into individual pieces, sorts them longest to shortest, and places each piece into the first stock length where it fits, opening a new stock only when needed. Cut List Optimizer runs this entire calculation locally in the browser, so no signup is required and the plan can be copied out as plain text. The tool targets the one-dimensional cutting-stock problem — the academic problem of assigning shorter requested pieces to standard-length stock while reducing unused material. Research into that problem, including pattern-based algorithms for cutting stock and an engineering analysis of cutting-stock problems, treats it as a foundational bin-packing exercise where identical stock and identical kerf simplify the placement rules. A free web tool that exposes those rules, without the overhead of a full CAD package, is often enough for everyday shop planning.

What a Free Cut List Optimizer Handles
The tool handles a narrow but very common case: a single shared stock length, a single kerf value, and a list of linear parts to be cut from it. Stock can be any rigid or semi-rigid material that comes off a saw as a length — wood boards, PVC or copper pipe, aluminium tube, steel rod, dowel, broom handle, trim, moulding, gasket sheet, landscape edging, fabric rolls, and similar items. Every part is described by a short label, a cut length, and a whole-number quantity, and the optimizer turns that input into a stock-by-stock cut order.
Inside the run, the optimizer expands the quantities into individual pieces, sorts them in descending length, and walks through the list one piece at a time. For each piece, it tries the existing stock pieces in order and assigns the piece to the first one where the cut length plus one kerf fits in the remaining stock length. If no existing stock piece has room, the optimizer opens a new stock piece. The result lists every opened stock, the parts assigned to it, the consumed length on that stock, and the remaining waste, plus three totals: total kerf, total waste, and overall part utilization.
When the Free Cut List Optimizer Fits Your Job
The tool fits jobs where every requested piece is linear and every cut comes from stock that shares one length. Common fits include cutting 2x4 studs from longer boards, trimming PVC or copper pipe, slicing dowels from rod stock, splitting trim into case openings, and cutting gasket sheet or landscape edging from a roll. The tool does not fit jobs that need 2D sheet layout — plywood, MDF, sheet metal, and glass come off a panel as a rectangle, and a length-only list cannot safely answer a sheet-layout problem. Anyone searching for a "plywood cut list optimizer" should use a dedicated nesting tool instead.
The optimizer also assumes one shared stock length. A shop that keeps three different board lengths on hand can run the tool three times — once per stock length — and compare the resulting plans, but the tool itself cannot mix multiple stock sizes in a single pass. Offcuts from one run are not automatically fed into another; reusable remnants must be tracked separately on a physical bin and entered manually on the next job.
| Use case | Fits in this tool? | Reason |
|---|---|---|
| Cutting trim from one stock length | Yes | Linear parts, single stock length |
| Cutting dowels from rod stock | Yes | Linear parts, single stock length |
| Splitting a roll into equal panels | Yes | Linear pieces, single stock length |
| Laying out rectangles on plywood | No | 2D problem, requires nesting |
| Mixing two board lengths in one plan | No | Only one stock length supported |
| Respecting grain direction per piece | No | Tool is strictly 1D |
How the First Fit Decreasing Heuristic Works
FFD is a classical bin-packing heuristic, and the optimizer uses it because it is fast and predictable. The expanded piece list is sorted by descending length, with original row order and copy order as the tie-breaker for parts of the same length. Longest first gives FFD its name. After sorting, the tool walks through the pieces one at a time and tries the existing stock pieces in order, placing each piece into the first one where length plus one kerf fits. If nothing has room, the tool opens a new stock piece.
FFD is explicitly non-optimal. It does not prove that the stock count or the waste it reports is the global minimum — a different arrangement, a different sort order, or a different tie-breaker can yield a different result with less waste. Research on the cutting-stock problem has long noted that exact solutions to even modest instances can be expensive to compute, which is why a heuristic like FFD remains the practical default for everyday tools. The page labels the layout as a heuristic, not a certificate, so a convenient plan is never confused with a mathematical proof.
How to Build a Cutting Plan
- Enter one stock length and the kerf consumed for each requested piece. Stock length is the full length of one stick of material; kerf is the material removed by the saw blade for each cut. Keep both values in the same unit as the part lengths.
- Add one row per part in label, length, quantity format. Label is a short name without commas, because commas separate the three row fields. Length is the cut length you need. Quantity is a whole number of how many of that part you want. Every row must use the same unit.
- Build the heuristic plan. The tool expands the quantities, sorts longest first, and assigns each piece to the first stock where it fits. New stock pieces open only when no existing one has room.
- Verify every assignment and shop allowance. Check that all the parts you actually need are placed, that the kerf convention matches your machine, and that no single piece exceeds one stock length. The tool shows the conservation check — total stock equals part length plus kerf plus waste — so any silent cut loss or miscount should surface in the totals.
- Copy the stock-by-stock list. The plan can be copied as plain text and pasted into a job sheet, a message, or a printed cut list for the saw.
Worked kerf example: two 4-unit pieces with a 1-unit kerf consume 4 + 1 + 4 + 1 = 10 units of stock length, because the page applies one kerf per requested piece. Some real workflows can drop the final kerf when a stock end is accepted as a finished edge, so adjust the entered kerf convention to match the shop process.
Reading the Output: Kerf, Waste and Utilization
The result panel reports three useful totals — total kerf across the run, total unused waste across all opened stock pieces, and overall part utilization as a percentage of stock consumed by parts and kerf. Every opened stock piece is listed with its assigned parts, the consumed length, and the remaining waste, so a saw operator can read the layout stick by stick without re-reading the input rows. That stick-by-stick view is the format that travels best from a planner's screen to the shop floor.
The tool enforces a conservation check on every run: the sum of stock lengths opened must equal the sum of part lengths plus the sum of kerf plus the sum of waste. If a layout looks attractive but a part has been silently dropped, the totals will not balance, and the result should be discarded. Waste in the report is simply unused length in this run, not a claim that the offcut has no future value — a shop that marks reusable remnants separately can keep smaller offcuts in a labelled bin and feed them into the next job.
Limits and When to Choose a Different Tool
The free cut list optimizer caps the expanded parts list at 1,000 pieces to keep interaction responsive, so very long production runs may need to be split by stock length or by part family. Quantities must be whole numbers, which is fine for shop planning but rules out fractional batch sizes. Eight hand-audited golden cases — covering exact fits, fractional kerf, repeated sizes, capacity splits, and mixed lengths — verify that every piece is assigned once, no stock piece exceeds capacity, and the conservation check balances on every run.
FFD does not prove global optimality. If the job can tolerate a few extra minutes of compute and you need the mathematical minimum, an exact solver on the same inputs may beat FFD, especially when offcuts can be reused or when many small parts are involved. The tool is also strictly one-dimensional: it does not rotate panels, trace saw kerf paths across a sheet, or respect grain direction. For plywood, MDF, sheet metal, and glass, use a dedicated two-dimensional nesting tool — the page never presents a convenient layout as a mathematical certificate.
Finally, treat the plan as a planning draft. Confirm actual stock dimensions, blade width, end trim, measurement tolerance, and the safe cutting sequence at the saw before any work begins. The optimizer does not replace a shop drawing, a machine controller file, a structural specification, or operator judgement. For a browser-based session built around that workflow, open the free cut list optimizer and enter the stock length, kerf, and parts list to see the heuristic layout for the current job.
If you're weighing options, Cutting Length Optimizer Free: Track Kerf and Waste covers this in detail.