Start from the opening, not the door
Cabinet door math begins with the clear opening in the face frame or frameless box — width and height as built, not as drawn three revisions ago. Measure both diagonals if you suspect the opening is out of square; a door sized to a parallelogram opening will never sit right.
From that opening you decide overlay (how far the door covers the face) or inset (door sits flush inside the opening). Everything else — stile length, rail length, panel size — follows from those two decisions plus your stile/rail width and tenon or cope depth.
Inset vs overlay
Inset doors have zero overlay. Final door size is essentially the opening minus intentional gaps (often about 1/16″ to 1/8″ per side depending on your shop standard). Inset work shows every error in the opening; many shops leave inset for furniture-grade face frames.
Overlay doors extend past the opening on each side by a chosen amount: 1/2″, 3/4″, or a full overlay around 1-1/4″ on modern frameless work. Final door width becomes opening width plus overlay on the left plus overlay on the right (and the same idea for height with top and bottom overlays).
Partial overlay on face-frame cabinets must clear hinges and adjacent doors. Confirm hinge cup geometry and frame reveal before you commit a full shop batch.
Single vs double doors
A single door is one leaf covering the opening (plus overlays). A pair of doors splits the width. For doubles, subtract the center gap from the total door pack width before dividing by two. A typical reveal between doors is about 1/8″, but match whatever the designer specified.
Example intuition: opening 30″ wide, 1/2″ overlay each side, 1/8″ center gap for a pair. Total coverage width = 30 + 0.5 + 0.5 = 31″. Each door width = (31 − 0.125) / 2. Height follows opening height plus top and bottom overlays the same way.
Stiles, rails, and the tenon
For a traditional frame-and-panel door:
- Stiles run full door height. Length equals final door height. Width is your stile stock width (often 2″ to 2-1/2″).
- Rails sit between the stiles. Rail length is not simply “door width minus two stile widths.” If you use mortise-and-tenon or cope-and-stick, the tenon (or tongue) length adds back into the rail blank so the shoulder-to-shoulder distance is correct.
- Panel fills the opening inside the frame, undersized for expansion if solid wood, or cut to the groove dimensions for plywood panels.
A workable mental model: shoulder-to-shoulder rail length = door width − 2 × stile width. Rail blank length = shoulder-to-shoulder + 2 × tenon length (for through or stub tenons that enter both stiles). Always confirm against your actual joinery system — Domino, pocket, cope-and-stick — because the “tenon length” input is really “how much length the joinery consumes beyond the shoulder.”
Panel size without drama
Panel width is roughly door width minus two stile widths, plus the depth the panel sits into each groove (often about 3/8″ per side), minus expansion clearance for solid panels. Panel height follows the same idea with rails. Plywood panels can run tighter; solid wood needs seasonal room or you will split a panel in winter heat.
Shop sequence that prevents remakes
- Measure openings; note hinge side and any pull clearance.
- Choose inset vs overlay and double-door gap.
- Lock stile/rail width and joinery depth.
- Compute final door size, then stile/rail/panel cut list.
- Dry-fit one door before batching twenty of them.
Batching before a dry fit is how you get twenty doors that are consistently wrong.
Where calculators help — and where they do not
A door calculator removes arithmetic errors when overlay, gap, and tenon change mid-design. It will not tell you the opening is out of square, that the hinge needs a different overlay, or that the face frame is 1/8″ narrower than the drawing. Measure twice, calculate once, cut a sample.
If you are building slab doors (no frame), ignore stile/rail math and size the slab to the same final door dimensions. The overlay rules still apply; only the internal cut list changes.