HomeConstruction & Home › Decking Calculator

Decking Calculator

Estimates the number of deck boards (rows of boards across the width, board lengths along the length, plus waste), the joists at a given spacing and the screws at two per board per joist for a rectangular deck.

When to use

You need a material list for a rectangular timber or composite deck: boards, joists and fasteners.

Do not use when: You need structural sizing of joists and beams (span tables depend on species, grade and load; see the AWC DCA 6 guide) or stairs to the deck (use stairs).

Formula

rows = ceil(deck_width / (board_width + board_gap)); linear = rows × deck_length; boards = ceil(linear × (1 + waste/100) / board_length); joists = floor(deck_length / joist_spacing) + 1; screws = rows × joists × 2.

Assumes boards run parallel to deck_length and joists perpendicular to them at the given spacing, with a joist at each end. Ledger, beams, posts, blocking and stair framing are not included.

Inputs

ParameterTypeUnitRequiredDescription
unit_systemenum: metric | imperialdefault metricUnit system of the length inputs (metric: m / cm / mm; imperial: ft / in). Outputs are reported in both systems.
deck_lengthnumberm or ftyesDeck dimension parallel to the boards (m or ft). Joists run across this direction. Range: > 0, ≤ 1000
deck_widthnumberm or ftyesDeck dimension across the boards (m or ft); equals the joist length. Range: > 0, ≤ 1000
board_widthnumbermm or innoActual face width of one board. Default 140 mm (metric) or 5.5 in (imperial, a nominal 2 × 6 or 5/4 × 6). Range: > 0, ≤ 1000
board_gapnumbermm or innoDrainage gap between boards. Default 5 mm (metric) or 3/16 in = 0.1875 in (imperial). Range: ≥ 0, ≤ 100
board_lengthnumberm or ftnoLength of the boards you will buy. Default 3.6 m (metric) or 12 ft (imperial). Range: > 0, ≤ 100
joist_spacingnumbermm or innoCentre-to-centre joist spacing. Default 400 mm (metric) or 16 in (imperial); composite boards laid diagonally usually need 300 mm / 12 in. Range: > 0, ≤ 2000
waste_percentnumber%default 5Extra material for cuts, breakage and offcuts, applied as a multiplier (1 + waste_percent/100). 5 % for straight decking; 10–15 % for diagonal or picture-frame patterns. Range: ≥ 0, ≤ 50

Outputs

OutputTypeUnitDescription
area_m2numberdeck_length × deck_width.
area_ft2numberft²Deck area in square feet.
board_rowsintegerceil(deck_width / (board_width + board_gap)).
linear_length_mnumbermboard_rows × deck_length, before waste.
linear_length_ftnumberftSame in feet.
boards_neededintegerceil(linear_length × (1 + waste_percent/100) / board_length).
joistsintegerfloor(deck_length / joist_spacing) + 1, each as long as deck_width (rim joists included in the count, beams/posts not).
screwsintegerboard_rows × joists × 2.

Example

4 m × 3 m deck, 140 mm boards, 5 mm gap, 3.6 m boards, 400 mm joists, 5 % waste: {"unit_system":"metric","deck_length":4,"deck_width":3,"board_width":140,"board_gap":5,"board_length":3.6,"joist_spacing":400,"waste_percent":5}{"area_m2":12,"area_ft2":129.17,"board_rows":21,"linear_length_m":84,"boards_needed":25,"joists":11,"screws":462}

16 ft × 12 ft deck, 5.5 in boards, 3/16 in gap, 16 ft boards, 16 in joists, 5 % waste: {"unit_system":"imperial","deck_length":16,"deck_width":12,"board_width":5.5,"board_gap":0.1875,"board_length":16,"joist_spacing":16,"waste_percent":5}{"area_ft2":192,"area_m2":17.84,"board_rows":26,"linear_length_ft":416,"boards_needed":28,"joists":13,"screws":676}

GET https://tttkmbb.com/api/v1/calculate/decking?unit_system=metric&deck_length=4&deck_width=3&board_width=140&board_gap=5&board_length=3.6&joist_spacing=400&waste_percent=5

Machine access

Sources

FAQ

Which way should the boards run?

Boards are usually laid perpendicular to the joists and parallel to the longest deck side to minimise cuts; enter that side as deck_length and buy boards close to it or to a multiple of it.

Why two screws per joist?

Face-fixing with two screws (or one hidden clip) at every joist crossing is the standard pattern in manufacturer guides; hidden fastener systems use about one clip per board per joist instead.

Related calculators