Skip to content

Thick rail tenons

joints.thick_rail_tenons

A thick, square rail (e.g. a bench stretcher) tenoned into a post with two tenons one beside the other across its thickness.

A single tenon a third of the rail thick would be weak in a square rail, a thicker one would leave thin mortise walls; two thinner tenons, each in its own mortise, give twice the glue area and keep the wood between them. Each is as thick as the gap between them and the shoulders, about a fifth of the rail; the shoulders at the edges are as deep as those at the cheeks.

Thick rail tenons, assembled

Thick rail tenons, exploded

Parameters

None: it is one fixed design.

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

from woodwright.examples import joints

design = joints.thick_rail_tenons()

Drawings

The plans in one PDF: plans.pdf.

Assembly

assembly

Parts

parts

Post

post

Rail

rail

Cut list

post  500 x 70 x 70 mm  oak
      - 2 x mortise 30 x 10 mm, 47 deep, in back_edge
rail  345 x 45 x 45 mm  oak
      - 2 tenons 30 x 10 mm, 45 long, 10 apart across the thickness, on left_end

Code

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

def thick_rail_tenons() -> Assembly:
    """A thick, square rail (e.g. a bench stretcher) tenoned into a post with
    two tenons one beside the other across its thickness.

    A single tenon a third of the rail thick would be weak in a square
    rail, a thicker one would leave thin mortise walls; two thinner tenons,
    each in its own mortise, give twice the glue area and keep the wood
    between them. Each is as thick as the gap between them and the
    shoulders, about a fifth of the rail; the shoulders at the edges are as
    deep as those at the cheeks.
    """
    return _post_and_thick_rail("thick_rail_tenons", tenons=1, thickness_tenons=2, shoulder=7.5)

Exported with woodwright 0.9.0 on 2026-10-25.