About this calculator
This calculator works out what to buy for a rectangular timber or composite deck: how many stock-length deck boards, how many joists, bearers and posts, and how many packs of screws or hidden clips. Board rows are laid along the deck length and packed onto real stock boards with a cutting plan, so the board count reflects how the pieces actually come off the boards you buy, not just total length divided by stock length.
Formula
All inputs are converted to whole millimetres. L is the deck length (the board
direction), W the deck width, b the board width, g the gap between boards, s the
joist spacing.
board rows = ceil(W / (b + g))
last row width = min(b, W − (rows − 1) × (b + g)) (narrower than b → ripped board)
joists = ceil(L / s) + 1 (one at each end, no gap wider than s)
bearers = ceil(W / bearer spacing) + 1 (each L long)
posts = bearers × (ceil(L / post spacing) + 1)
Joists sit at 0, s, 2s, … and the last one at L. If a row (length L) fits on one stock
board it is a single piece. If it does not, the row is jointed so that every butt joint
lands on a joist:
full piece = floor(stock length / s) × s
row = full pieces while the rest is longer than one stock board, then the rest
All pieces from all rows are packed onto stock boards first-fit decreasing: longest
first, each into the first board with room left, a new board only when none fits. The
waste allowance is extra length (ceil(net length × waste% / 100)), split into chunks no
longer than one stock board and packed in the same pass, so it can use up an offcut
instead of always costing a whole board.
net board length = rows × L
boards required = FFD board count (pieces + waste chunks)
offcut = boards × stock length − net board length
crossings = rows × joists
screws = 2 × crossings (two per board per joist)
hidden clips = crossings (one per board–joist crossing)
packs = ceil(fixings / pack size)
Worked example
Defaults: 4000 × 3000 mm deck, 140 mm boards, 5 mm gap, 4200 mm stock boards, 10 % waste, joists every 400 mm, bearers and posts every 1500 mm, screws in packs of 200.
rows = ceil(3000 / 145) = 21
last row = 3000 − 20 × 145 = 100 mm → ripped from a 140 mm board
L = 4000 ≤ 4200, so each row is one 4000 mm piece
net length = 21 × 4000 = 84 000 mm
waste = ceil(84 000 × 10 / 100) = 8 400 mm → two 4200 mm chunks
FFD: each 4000 piece needs its own board (200 mm left), each waste chunk
needs its own board → 21 + 2 = 23 boards
offcut = 23 × 4200 − 84 000 = 12 600 mm
joists = ceil(4000 / 400) + 1 = 11 (each 3000 mm)
bearers = ceil(3000 / 1500) + 1 = 3 (each 4000 mm)
posts = 3 × (ceil(4000 / 1500) + 1) = 12
screws = 2 × 21 × 11 = 462 → ceil(462 / 200) = 3 packs
The calculator returns exactly this: 23 boards and 3 packs of screws.
FAQ
Does this calculator check whether my joists and bearers are strong enough? No. Joist, bearer and post spacings are only used to count members. Whether a given section can span that far depends on the timber strength class, section size, board thickness and loading. Check that against a structural design or your supplier's span tables.
Why do rows longer than one board get joints exactly on joists? A deck board's butt joint must be supported. The full pieces are the longest multiple of the joist spacing that fits in one stock board, so every joint falls on a joist. Joints are not staggered between rows in this calculation.
Why is the last row narrower than the others? The deck width is rarely a whole number of boards plus gaps. The leftover width is covered by a board ripped along its length; the calculator tells you how wide it is. If the leftover is no wider than one gap, no extra row is added.
How many hidden clips does it assume? One per board–joist crossing. Real clip systems differ (for example, start and end clips along the edges), so check your product's instructions.
Is waste applied to fixings? No. Waste applies to board length only. Fixings are counted net and rounded up to whole packs.
Assumptions and limits
No standard is cited. Deck-board take-off is trade practice, not a code requirement, and no standard was found that fixes these formulas.
- No structural design. Joist, bearer and post spacings are user inputs; spans are not checked. The defaults (400 mm joists, 1500 mm bearers and posts) are plausible starting points, not verified spans.
- One stock length. All boards are assumed to come in one stock length. Mixing lengths is a pricing decision this calculator cannot make.
- Joists and bearers are not optimised against stock timber lengths. They are
reported as counts and lengths (
WandL); splicing long members is not modelled. - No double joists at butt joints. Many builders double up a joist, or use a wider one, where board ends meet. These are not counted.
- Screws: two per board per joist. Clips: one per crossing. Both are estimates; check your product.
- Rates and defaults are estimates. Board width, gap, stock length, pack size and the waste percentage are editable defaults, not normative values.
- No saw kerf is added; it is far smaller than the rounding to whole stock boards.
- The drawing shows the deck outline, board rows (split at their joints) and joists. Wide decks with many rows are drawn with fewer, stretched rows; a note says so.