Skip to content

Dovetail keyed mitre corner

joints.dovetail_keyed_mitre_corner

A frame corner with a dovetail key across the outside corner.

The kerf is cut with a 10 mm dovetail bit (sides at 8 degrees) with the frame in a cradle on the router table, 15 mm deep: 10 mm wide at its bottom, about 6 mm at the corner, so the key can't pull out sideways. The key is a dovetail strip, trimmed flush.

Dovetail keyed mitre corner, assembled

Dovetail keyed mitre corner, exploded

Parameters

Parameter Default
stile_length 300
rail_length 200
width 45
stock 30 mm board, oak

Change them in a design file (see Change an example):

from woodwright.examples import joints

design = joints.dovetail_keyed_mitre_corner(stile_length=375)

Drawings

The plans in one PDF: plans.pdf.

Assembly

assembly

Parts

parts

Key

key

Rail

rail

Stile

stile

Cut list

stile  300 x 45 x 30 mm  oak
       - mitre 45 deg on right_end, back_edge inside
       - dovetail key kerf 10 mm wide at its bottom, its sides at 8 deg, 15 deep across the corner with rail, 15 from top_face
rail   200 x 45 x 30 mm  oak
       - mitre 45 deg on left_end, back_edge inside
       - dovetail key kerf 10 mm wide at its bottom, its sides at 8 deg, 15 deep across the corner with stile, 15 from top_face
key    40 x 20 x 10 mm  walnut
       - trimmed flush with stile and rail, to a dovetail

Code

From woodwright/examples/joints.py, which imports the names it uses (see From an example to your own design):

def dovetail_keyed_mitre_corner(
    stile_length: float = 300, rail_length: float = 200, width: float = 45, stock: Stock = THICK_OAK
) -> Assembly:
    """A frame corner with a dovetail key across the outside corner.

    The kerf is cut with a 10 mm dovetail bit (sides at 8 degrees) with
    the frame in a cradle on the router table, 15 mm deep: 10 mm wide at
    its bottom, about 6 mm at the corner, so the key can't pull out
    sideways. The key is a dovetail strip, trimmed flush.
    """
    asm = Assembly("dovetail_keyed_mitre_corner", root_location=OUTSIDE_CORNER_UP)
    stile = asm.add(Board("stile", stock, length=stile_length, width=width))
    rail = asm.add(Board("rail", stock, length=rail_length, width=width))
    key = asm.add(Board("key", Stock.board(thickness=10, species="walnut"), length=40, width=20))
    asm.join(
        KeyedMitre(
            stile.right_end,
            rail.left_end,
            stile.back_edge,
            rail.back_edge,
            keys=(key,),
            depth=15,
            dovetail=8,
        )
    )
    return asm

Exported with woodwright 0.9.0 on 2026-10-25.