This app picks a cheapest lumber buy list and cut patterns for specified parts. Dimensions are expected and reported as inches. Pieces are not allowed to rotate, so dimensions should be specified to follow desired grain patterns, such that length always runs with the grain, and width is perpendicular to it. After a solve, you can see a summary of the cut diagram in the viewer. You can export the 2d SVG or the cut tree.
How to use
- Enter desired piece sizes and quantities.
- Add available stock. You can load a preset library, enter pieces manually, or upload a CSV.
- Set saw kerf for internal cuts, if desired. If no kerf is specified, actual board sizes may be smaller than specified/desired dimensions.
- Add mill allowances to trim stock, if desired.
- Solve. This can take several minutes. Jobs share one queue; Cancel stops a waiting or running solve. Piece types, total pieces, and stock SKUs are capped.
You can reduce runtime by limiting the available stock, reducing the number of input pieces, or simplifying the dimension specifications of the desired pieces. Cut patterns involving partial inches and many varying sizes increase the possible solution space. If you encounter runtime issues, consider rounding some stock sizes up, knowing they can be milled down later.
Input requirements
Kerf is the blade width removed between two offcuts. Mill shaves thickness, width, and length of each stock piece before packing (half on each end/edge/face). Diagrams show the listed board with that margin around the packed usable region. Finished parts must fit the usable envelope (a 2″-thick part needs stock thicker than the mill allowance).
CSV upload for pieces needs columns
name,thickness,width,length,quantity;
stock needs name,thickness,width,length,cost.
Names must be alphanumeric (spaces, hyphens, and underscores allowed between words).
Numeric values must fall in normal ranges and intervals of 1/16th of an inch.
Stock price is dollars per board foot.
Who runs this
This is a small public tool. When you press Solve, piece and stock sizes go to this server so it can compute a plan. Jobs are not kept after they finish or are cancelled. There are no user accounts.
Contact the operator through the project’s GitHub repository.
Privacy and ads
Until an ad snippet is added to this page, the site does not load advertising scripts. If Google AdSense (or a similar network) is enabled later, that network may set cookies and collect browser or device data to choose ads, under their own policies. The reserved ad slot under the title stays empty until then.
Do not paste visitor data into this tool if you cannot send those dimensions to the server that hosts it.