Skip to content

Mitred face tenon corner

joints.mitred_face_tenon_corner

A frame corner mitred on the face, with a hidden mortise and tenon behind.

The front third of both parts is mitred, so the face towards the viewer looks like a mitre corner, e.g. on a frame with a chamfered or moulded front. Behind it the stile runs on to the corner and the rail butts against its inside edge, with a 22.5 x 8 mm tenon, 30 mm long, centered in the layer behind the mitre and across the rail's width, in a blind mortise; it shows neither at the end of the stile nor at its outer edge.

Mitred face tenon corner, assembled

Mitred face tenon 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.mitred_face_tenon_corner(stile_length=375)

Drawings

The plans in one PDF: plans.pdf.

Assembly

assembly

Parts

parts

Rail

rail

Stile

stile

Cut list

stile  300 x 45 x 30 mm  oak
       - mitre 45 deg on right_end, back_edge inside, 10 deep from bottom_face
       - mortise 22.5 x 8 mm, 32 deep, in back_edge
rail   200 x 45 x 30 mm  oak
       - mitre 45 deg on left_end, back_edge inside, 10 deep from bottom_face
       - end rabbet 45 mm, 20 deep, in top_face at left_end, leaving a tenon 22.5 x 8 mm, 30 long

Code

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

def mitred_face_tenon_corner(
    stile_length: float = 300, rail_length: float = 200, width: float = 45, stock: Stock = THICK_OAK
) -> Assembly:
    """A frame corner mitred on the face, with a hidden mortise and tenon behind.

    The front third of both parts is mitred, so the face towards the viewer
    looks like a mitre corner, e.g. on a frame with a chamfered or moulded
    front. Behind it the stile runs on to the corner and the rail butts
    against its inside edge, with a 22.5 x 8 mm tenon, 30 mm long, centered
    in the layer behind the mitre and across the rail's width, in a blind
    mortise; it shows neither at the end of the stile nor at its outer edge.
    """
    asm = Assembly("mitred_face_tenon_corner", root_location=STANDING)
    stile = asm.add(Board("stile", stock, length=stile_length, width=width))
    rail = asm.add(Board("rail", stock, length=rail_length, width=width))
    asm.join(
        MitredFaceTenon(
            stile.right_end, rail.left_end, stile.back_edge, rail.back_edge, face=stile.bottom_face
        )
    )
    return asm

Exported with woodwright 0.9.0 on 2026-10-25.