Finger-Joint Box Generator (laser & CNC)
Laser-cut and CNC finger-joint boxes with kerf compensation, lids and dividers.
How it works
Generate a finger-joint (box-joint) box from inside or outside dimensions and the material thickness: closed lid, open tray or sliding lid, a grid of cross-halved dividers, kerf compensation for lasers and dog-bone reliefs for CNC routers. Every joint gets an odd number of equal fingers; the parts are nested onto your laser bed or stock sheet and exported as layered SVG, DXF R12, a 1:1 PDF with a scale bar and, for routers, G-code.
- Outside size = inside size + 2 × thickness in width and depth; in height + 2 × thickness with a lid, + 1 × thickness for an open tray, and + 2 × thickness + the lid slot for a sliding lid.
- Each panel starts as its full outside rectangle. Where two panels overlap along a box edge, the T × T column is divided into an odd number n of equal fingers (n = the odd number nearest to length ÷ target width). Front and back own the end fingers against the sides, the walls own them against bottom and lid, and a corner cube shared by three panels goes to the highest-ranked one; each panel loses what its neighbours own. A point-sampling check in the test suite confirms that the panels fill the box shell exactly once.
- Kerf compensation offsets outer outlines outwards and inner cut-outs inwards by half the kerf, so the parts come out at their nominal size. Dog-bones add a circle of the cutter radius through every inside corner so square fingers seat after routing.
- Dividers are loose, cross-halved where they meet (slots of thickness + fit from the top of one and the bottom of the other). Nesting uses the Kerfwise MaxRects sheet nester; G-code uses the Kerfwise CNC engine (outside profiles with cutter compensation, inner cut-outs first, tabs).
- SVG files use millimetres (width/height in mm, 1 user unit = 1 mm) with one group per layer: cut (red #e4002b), score (blue #0067c5), engrave (black) and labels (grey). DXF R12 uses the same layers, millimetres, y up.
Laser cutters and CNC routers can start fires and release harmful fumes: never leave the machine unattended, use extraction, and never cut PVC, vinyl or other chlorine-containing plastics. Sizes, kerf and fit are starting points — check them with a test cut and follow your machine maker's safety rules.
Sources
- Boxes.py — parametric box generator for laser cutters (finger-joint concepts compared; no code used) (Florian Festi and contributors)
- Scalable Vector Graphics (SVG) 1.1, Second Edition — paths and units (W3C)
- AutoCAD DXF Reference — R12 entities POLYLINE, VERTEX, TEXT and the LAYER table (Autodesk)
- ISO 32000-1:2008 Document management — Portable document format (PDF 1.7) (Adobe / ISO)
- Grbl v1.1 commands and supported G-codes (Gnea / grbl project)
- LinuxCNC G-code reference (G0, G1, G2/G3, G40) (LinuxCNC project)
Part of Kerfwise
-
Kerfwise Cabinet & furniture CAD
Design cabinets and furniture, get cut lists, optimised sheet layouts, costs and drawings.
How to use the Finger-Joint Box Generator
Turn inside or outside box dimensions and your material thickness into kerf-compensated finger-joint parts for a laser cutter or CNC router.
What it is for
A finger-joint box (also called a box-joint box) is the classic laser-cut project: six flat panels whose edges interlock like the teeth of two combs. Drawing one by hand is fiddly, because every joint has to match its partner, the corners must not collide and the laser burns away a little material on every cut. This generator does that bookkeeping for you. You enter the size, the material thickness and a target finger width, choose a closed lid, an open tray or a sliding lid, and optionally a grid of dividers.
You get a layered SVG and DXF for LightBurn, Inkscape or your CAM program, a 1:1 PDF with a scale bar, a 3-D preview of the assembled box and, for CNC routers, G-code with dog-bone reliefs. It does not add captive nuts, hinges or engraving artwork, and it does not know your material: always check thickness and kerf first.
Worked example
The first example on the page is a box with a lid: inside 160 × 100 × 60 mm, 3 mm plywood, 10 mm target fingers and a kerf of 0.15 mm. The tool reports:
Finger-joint box with lid: outside 166 × 106 × 66 mm, inside 160 × 100 × 60 mm, 6 parts from 3 mm material with 12 finger joints.
The 160 mm edges get 17 fingers of 9.41 mm, the 100 mm edges 11 fingers of 9.09 mm and the 60 mm corners 7 fingers of 8.57 mm. Every count is odd, so both ends of a joint belong to the same panel and the corners stay solid. The parts table lists the bottom and lid at 166.15 × 106.15 mm: that is the outside size plus the 0.15 mm kerf, because the outline is moved out by half the kerf on every side.
For a 120 × 80 × 50 mm open tray in 3 mm material with 12 mm fingers, kerf 0.18 and two compartments, nested on a 300 × 200 mm bed, you get one divider of 79.98 × 50.18 mm and two compartments of 58.5 × 80 mm, all on one sheet with 62.5 % use.
How to read the result
- Outside and inside size show both sets of dimensions, whichever you entered.
- Finger width range is the real width after rounding to odd counts; it changes per edge.
- Parts gives the size of each panel as it will be cut, including kerf compensation.
- The cut file uses red for cuts and grey for labels; turn the label layer off before cutting.
- Sheets and Sheet use appear when you enter a laser bed or stock sheet size.
- With a sliding lid, the side walls get a slot that is open at the front, and the front and back stop below it.
Tips and common mistakes
- Measure the sheet with calipers. "3 mm" plywood is often 2.8–3.2 mm, and a wrong thickness spoils every joint.
- Cut the kerf test first and use the measured kerf. Too much compensation makes joints you cannot close.
- For routers set the kerf to 0, the part gap to at least the cutter diameter and the dog-bone diameter to the cutter.
- Fingers narrower than the material is thick break easily; the tool warns you.
- Dividers are loose and cross-halved, so you can glue them or leave them removable.
FAQ
Why is my finger width not exactly what I typed?
Each joint is split into an odd number of equal fingers, so the width is the edge length divided by the nearest odd count.
Do I need glue?
Tight joints hold without glue for light boxes, but wood glue makes them permanent. The sliding lid must stay dry.
Can I open the box in Kerfwise?
Yes. The Open in Kerfwise link opens the same settings in Maker boxes, where you can change them, nest the parts and export again.
Which software can read the files?
The SVG is in millimetres with one group per layer, and the DXF is R12 with CUT, SCORE, ENGRAVE and LABELS layers, which LightBurn, Inkscape and most CAM programs import.
Guide last updated:
For scripts and AI agents
- JSON API:
POST https://kerfwisefingerjointbox.usefulweb.app/api/v1/calculate(same calculation as this page) - Interface description: OpenAPI 3.1 · AI guide: llms.txt
- MCP server (Streamable HTTP):
https://kerfwisefingerjointbox.usefulweb.app/mcp· tool namekerfwise_finger_joint_box
Example request
curl -s -X POST https://kerfwisefingerjointbox.usefulweb.app/api/v1/calculate \
-H 'content-type: application/json' \
-d '{"width":160,"depth":100,"height":60,"thickness":3,"finger":10,"kerf":0.15,"lid":"closed"}'