# 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.

- Calculator id: `decking` · Category: Construction & Home (`construction`) · Tool name: `estimate_decking_materials`
- Canonical page: https://tttkmbb.com/construction/decking · This document: https://tttkmbb.com/construction/decking.md · JSON definition: https://tttkmbb.com/construction/decking.json

## Purpose

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.

**Use when:** 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).

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `unit_system` | enum: metric \| imperial |  | optional, default "metric" | Unit system of the length inputs (metric: m / cm / mm; imperial: ft / in). Outputs are reported in both systems. |
| `deck_length` | number | m or ft | required | Deck dimension parallel to the boards (m or ft). Joists run across this direction. (> 0, max 1000) |
| `deck_width` | number | m or ft | required | Deck dimension across the boards (m or ft); equals the joist length. (> 0, max 1000) |
| `board_width` | number | mm or in | optional | Actual face width of one board. Default 140 mm (metric) or 5.5 in (imperial, a nominal 2 × 6 or 5/4 × 6). (> 0, max 1000) |
| `board_gap` | number | mm or in | optional | Drainage gap between boards. Default 5 mm (metric) or 3/16 in = 0.1875 in (imperial). (min 0, max 100) |
| `board_length` | number | m or ft | optional | Length of the boards you will buy. Default 3.6 m (metric) or 12 ft (imperial). (> 0, max 100) |
| `joist_spacing` | number | mm or in | optional | Centre-to-centre joist spacing. Default 400 mm (metric) or 16 in (imperial); composite boards laid diagonally usually need 300 mm / 12 in. (> 0, max 2000) |
| `waste_percent` | number | % | optional, default 5 | Extra 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. (min 0, max 50) |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `area_m2` | number | m² | deck_length × deck_width. |
| `area_ft2` | number | ft² | Deck area in square feet. |
| `board_rows` | integer |  | ceil(deck_width / (board_width + board_gap)). |
| `linear_length_m` | number | m | board_rows × deck_length, before waste. |
| `linear_length_ft` | number | ft | Same in feet. |
| `boards_needed` | integer |  | ceil(linear_length × (1 + waste_percent/100) / board_length). |
| `joists` | integer |  | floor(deck_length / joist_spacing) + 1, each as long as deck_width (rim joists included in the count, beams/posts not). |
| `screws` | integer |  | board_rows × joists × 2. |

## 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.

## Data Sources

- American Wood Council – DCA 6 Prescriptive Residential Wood Deck Construction Guide — https://awc.org/wp-content/uploads/2022/02/AWC-DCA62012-DeckGuide-1405.pdf (standard, retrieved 2026-09-23)
- Trex – How to space deck boards (3/16 in side gap) — https://www.trex.com/deck-ideas/how-to-space-deck-boards/ (reference, retrieved 2026-09-23)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/decking?deck_length=…&deck_width=…`
- `POST https://tttkmbb.com/api/v1/calculate/decking` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/decking · OpenAPI operationId `estimate_decking_materials` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "decking", "inputs": {…}}`

## Example

- 4 m × 3 m deck, 140 mm boards, 5 mm gap, 3.6 m boards, 400 mm joists, 5 % waste: inputs `{"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: inputs `{"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
```

## Limitations

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). 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. All values are computed from the formula above; no measurement or live data is involved.

## 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

- [Fence Calculator](https://tttkmbb.com/construction/fence.md) — Posts, rails and pickets for the fence around the deck.
- [Stair Calculator](https://tttkmbb.com/construction/stairs.md) — Steps from the deck to the ground.
- [Board Feet Calculator](https://tttkmbb.com/construction/board-feet.md) — Convert lumber dimensions to board feet for pricing.
