How nesting works
Nesting is the process of arranging cut pieces on a material sheet to maximize usage and minimize waste. This calculator uses guillotine-cut nesting, which is the most practical approach for laser cutting. In guillotine nesting, all cuts go from one edge of the sheet to the other (like slicing with a paper cutter), producing clean rows and columns. This method is standard because laser cutters typically work in grid-like patterns, and the resulting scrap pieces are regular rectangles that can be reused.
The calculator tests multiple layout strategies: pieces in their normal orientation, rotated 90 degrees, and a mixed layout where the main area uses one orientation and the leftover strip uses the other. It picks whichever arrangement fits the most pieces.
Understanding kerf
When a laser cuts through material, the beam itself has a width. This width of material that gets vaporized is called the kerf. It varies by laser type:
- Fiber lasers: 0.02–0.10mm kerf (extremely fine beam)
- Diode lasers: 0.08–0.30mm kerf
- CO2 lasers: 0.15–0.40mm kerf (widest beam)
Your spacing between pieces should be at least the kerf width plus a safety margin (typically 1–2mm) to ensure pieces do not fuse together or have rough edges where cuts overlap. The calculator's default 2mm spacing works well for most CO2 and diode setups.
Tips for reducing waste
- Adjust piece dimensions slightly. Sometimes reducing a piece by 1–2mm lets you fit an extra column or row, dramatically improving utilization.
- Use leftover strips. After cutting your main project, the scrap strips can often fit smaller items like keychains, tags, or test pieces.
- Nest different projects together. If you have orders for different-sized pieces, combine them on the same sheet to fill gaps.
- Minimize edge margin. If your material is cleanly cut and your bed is well-calibrated, you can reduce the edge margin from 5mm to 2–3mm.
- Try rotation. Always enable rotation unless your design has a grain direction that matters (like wood veneer).
The nesting formulas
usable_W = sheet_width - 2 × edge_margin
usable_H = sheet_height - 2 × edge_margin
cols_A = floor((usable_W + spacing) / (piece_W + spacing))
rows_A = floor((usable_H + spacing) / (piece_H + spacing))
pieces_A = cols_A × rows_A
cols_B = floor((usable_W + spacing) / (piece_H + spacing))
rows_B = floor((usable_H + spacing) / (piece_W + spacing))
pieces_B = cols_B × rows_B
leftover_H = usable_H - rows_A × (piece_H + spacing) + spacing - spacing
strip_pieces = floor((usable_W + k) / (piece_H + k)) × floor((leftover_H + k) / (piece_W + k))
mixed = pieces_A + strip_pieces
pieces_per_sheet = max(pieces_A, pieces_B, mixed_variants...)
sheets_needed = ceil(total_pieces / pieces_per_sheet)
cost_per_piece = (sheets_needed × sheet_cost) / total_pieces
Note: Real-world nesting may differ slightly from these calculations. Irregularly shaped pieces, material defects, and machine-specific constraints (like bed clamps or hold-down tabs) can reduce the number of usable pieces per sheet. This calculator provides an optimistic but practical estimate for rectangular pieces with guillotine-cut layouts.