Skip to content

Mallet

projects.mallet

A mallet: a long handle tenoned through the middle of a big head.

Mallet, assembled

Mallet, exploded

Parameters

Parameter Default
head_length 130
head_width 70
handle_length 300
handle_width 32
head_stock 60 mm board, beech
handle_stock 24 mm board, ash

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

from woodwright.examples import projects

design = projects.mallet(head_length=162.5)

Drawings

The plans in one PDF: plans.pdf.

Assembly

assembly

Parts

parts

Handle

handle

Head

head

Cut list

head    130 x 70 x 60 mm  beech
        - through mortise 24 x 12 mm in front_edge
handle  370 x 32 x 24 mm  ash
        - tenon 24 x 12 mm, 70 long, on right_end

Code

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

def mallet(
    head_length: float = 130,
    head_width: float = 70,
    handle_length: float = 300,
    handle_width: float = 32,
    head_stock: Stock = BEECH,
    handle_stock: Stock = ASH,
) -> Assembly:
    """A mallet: a long handle tenoned through the middle of a big head."""
    asm = Assembly("mallet")
    head = asm.add(Board("head", head_stock, length=head_length, width=head_width))
    handle = asm.add(Board("handle", handle_stock, length=handle_length, width=handle_width))
    asm.join(
        MortiseTenon(
            tenon=handle.right_end,
            mortise=head.front_edge,
            tenon_length=head_width,
            tenon_thickness=12,
            shoulder=4,
            across=CENTERED,
        )
    )
    return asm

Exported with woodwright 0.9.0 on 2026-10-25.