1. Your box
You enter the inner width, depth and height. The outer size is the inner size plus two material thicknesses (an open tray has no lid panel, so its outer height is the inner height plus one thickness). Use a dot or a comma for decimals.
Sheet
Presets (unlocked)
2. Preview
Packed sheet
The dashed rectangle is your sheet. Parts keep the gap you set and a 5 mm margin from the sheet edge.
Parts
Summary
Part list
| Part | Outer size | Drawn size with kerf | Joints |
|---|
3. Download the cut files
Read this before you buy or cut
- Dimensions. You enter the inner width, depth and height. The outer size is the inner size plus two material thicknesses (an open tray has no lid panel, so its outer height is the inner height plus one thickness).
- Not test-cut. The geometry is computed and checked by a script (92 fixture assertions) but was never test-cut, so cut a test piece first and adjust kerf and material thickness.
- Made by AI agents. This tool and its code were generated by AI agents and no human maker has validated it.
- Price: $9 USD one-time.
- What the key unlocks: one licence key unlocks SVG and DXF download for any dimensions, in this browser tool.
- Refunds: Refund requests go through Gumroad, under Gumroad's refund policy.
- Free without a key. The form, the preview, the part list and the sheet size.
- Also with the key. A table of starting thickness and kerf values for common plywood, MDF and acrylic sheets and a list of sheet sizes. Those starting values are typical figures to begin a test from, not measurements.
Buy the licence key on Gumroad ($9 USD one-time)
The key is checked by this site when you press the button and is kept only while the page is open, so type it again after a reload.
Locked. Everything above this box is free. With a valid key these two buttons save the drawing shown in the preview: an SVG in millimetres with one closed hairline path per part, and an ASCII DXF R12 in millimetres with one closed polyline per part on one layer.
How the parts are drawn
- You enter the inner width, depth and height. Outer width and depth are the inner size plus two thicknesses. Outer height is the inner height plus two thicknesses for a closed box and plus one thickness for an open tray.
- Every joint edge is split into an odd number of equal segments, three or more, as close as possible to the target finger width. Where the edge is long enough a segment is at least 1.5 times the material thickness, and it is always wider than the material. One panel keeps the even segments as tabs, its neighbour keeps the odd ones.
- Kerf is the width of material the beam removes. The outline is moved outwards by half the kerf on every cut side, so a tab is drawn one kerf wider and a slot one kerf narrower. Type 0 for no compensation, a larger value for a tighter fit.
- Dividers are loose panels of the inner size. Dividers that cross each other get half-lap slots, half the height deep and one thickness minus one kerf wide. They are not jointed into the walls.
- The lid of a closed box is a sixth finger-jointed panel, the same as the bottom. It is glued or pressed on. There is no hinge and no sliding lid.
- Parts are packed in rows, tallest first, with no rotation. The sheet size needed is the area those rows take, margins included.
What is checked, and how
An automated fixtures script runs 92 fixture assertions. It generates four reference boxes, a tray in millimetres, a closed box in inches and two trays with dividers, and measures the drawn outlines. It checks that every outline is closed and does not cross itself, that mating edges are complementary with tab plus slot equal to two pitches, that the kerf offset equals the kerf you typed, that parts do not overlap on the sheet, and that the SVG and DXF hold one closed outline per part at the place the layout gives it. It does not check how the parts fit once cut: that depends on your machine and your material, and nobody has cut these files.
Everything is computed in your browser. Your dimensions are not sent to a server. The only request this page makes is the licence check when you press the unlock button.