Angles & joinery

Wood Movement Calculator

Solid wood never stops breathing. A wide top that fits in July can split or cup by February if the movement has nowhere to go. Estimate how far a board expands and shrinks across the grain, so you can design the gaps and slots that let it happen safely.

in

Flatsawn (plain-sawn) moves most; quartersawn moves least. Riftsawn is treated as the average.

%
%

Moisture content of the wood itself. Kiln-dried lumber is often 6–8%; freshly milled or air-dried can be higher.

ad slot — responsive in-content
Formula & how it works

movement = width × coefficient × ΔMC

The dimensional-change coefficient is a published property of each species and differs by grain: the tangential value for flatsawn boards, the smaller radial value for quartersawn. ΔMC is the change in the wood's moisture content, in percentage points. In humidity mode, the swing in indoor relative humidity is first converted to an equilibrium moisture content at your temperature, then to ΔMC.

Worked example

A 12″ flatsawn white oak panel (coefficient 0.00365) going from 12% down to 7% moisture: 12 × 0.00365 × 5 = 0.219″ — about 7/32″ of shrinkage, so the panel narrows to ≈ 11.78″. Trapped between two fixed rails, that is enough to split it.

Designing for movement

Which way does wood move?

Almost all seasonal movement is across the grain — the width of a board — not along its length. That is why a tabletop gets wider and narrower but not longer, and why cross-grain joints between two solid pieces are where trouble starts.

Flatsawn vs quartersawn

Quartersawn stock can move roughly half as much as flatsawn of the same species, because the growth rings run through the thickness rather than the width. For a wide, humidity-exposed panel, quartersawn is the calmer choice.

Give it somewhere to go

You allow for movement, you never prevent it. Float panels in grooves, slot the screw holes that hold a top down, use breadboard ends that are pinned only at the center, and leave a gap where a fixed part meets a moving one.

Next in your workflow