LogicCommons is in beta. If a result, label, or reference looks wrong, tell us here; we read every message.
Methodology
Purpose and model boundary
This calculator estimates the main materials for a deck that you draw. You draw the deck's outline on a grid, mark up to five openings inside it that take no decking, such as a hot tub, a tree or a planter, draw its rails and stairs on the outline with Deck ▾, type each stair's width and height on the drawing, set the deck's Height on the drawing, mark the house side with Deck ▾, and give the joist and beam spacing, the deck board size, the gap between boards and the board waste. The spreadsheet returns the joists, rim joists and joist hangers, the beams, the posts, each post's cut length and the post stock to buy, the footings with 80 lb bags of concrete, the deck boards and the deck screws, the railing posts and balusters for each rail run, and the risers, treads and stringers of each stair. The joists, beams, rim joists and deck boards follow the drawn outline and its openings, and on any shape but a plain rectangle the status says to check what is not counted. It also returns where every counted framing member, footing and board row stands, which the page draws in 3D. It is not a structural design, a framing plan, a stair design, a guard layout or a quote: it does not size a member, read a span table, cut any lumber but the posts to length, design a ledger, bracing or blocking, count angled cuts, skewed hangers or doubled members around an opening, count fasteners other than deck screws, work out a stringer's length or a stair's handrail, check a guard or a stair against a code beyond its tallest riser, or price anything.
Inputs and units
The drawing is the first input. Its outline is sent as an ordered list of up to 100 corner points, exactly as on the Area Calculator, which measures the same drawing. Draw the deck with its joists running left to right: they are spaced down the drawing, and the beams and the rows of deck boards are laid out across it, each stopping where it leaves the deck. For a deck attached to the house, draw the house along the left or right edge, where the joists bear on a ledger, and mark that edge as the house side with Deck ▾ ▸ House side. Up to five exclusions of up to 20 points each mark the openings that take no decking. The US/Metric switch on the drawing chooses the unit the points are written in, feet for US and metres for Metric, and the unit of every result that has one.
The rails and stairs are drawn too, with Deck ▾ on the drawing. A rail runs along the outline's edges, round any corners it turns, but never along the house side; a stair sits on one edge, and a rail is cut where a stair meets it, so each rail run ends at a corner, at the rail's own end or at the side of a stair. The drawing writes up to 50 rail runs, each with the edge and the distance along it where it starts and ends and its length measured along the outline, and up to 20 stairs, each with its edge, where it starts along that edge, and the width and height you type for it, all in feet (US) or metres (Metric), so a 30 in height is written 2.5. A stair's values are typed in its pop-up on the drawing: double-click the stair, or select it and press Enter, and a stair you have just added opens its pop-up by itself with its height first; Set applies them together. A stair has no height until you type one, and the spreadsheet then says it needs a height. Nothing about the rails and stairs is typed beside the drawing.
The deck's Height is set with the Height button on the drawing: one value in feet (US) or metres (Metric), from 0.5 to 16 ft or 0.15 to 4.80 m, 3 ft when the page opens. Every post is this tall, standing on its footing with no embedment. It is held by the page, not drawn: switching between US and Metric converts it exactly (3 ft is 0.9144 m). On the page the Height accepts the heights valid in both unit systems, 0.5 to about 15.75 ft (0.1524 to 4.80 m), so a unit switch never leaves it out of range. The height sets the posts only; each stair keeps the height you type for it, and the footings, the concrete and the railing do not read it.
House side says which edge of the drawing the house is on, where the joists bear on a ledger: the left edge or the right edge. It is set on the drawing: choose Deck ▾ ▸ House side and tap the deck edge against the house, on the deck's far left or far right side. Until you do, the calculator's default, the left edge, is used, and the drawing shows the house along the side in use. If the deck has no edge on the side in use, for example after an outline change, the page says so and sends nothing until you choose a side the deck has or change the outline. Undo, Redo and Start over change it like any other edit on the drawing. The beams are placed from it. It moves the beams and their posts. On a plain rectangle with no openings it changes no count; on any other deck it can change the beams and the posts, because each beam is a part of its line that lies on the deck, and its posts stand on it.
A rail is refused along the house side, because the house closes that side. The drawing refuses a rail drawn along it, and refuses moving the house side onto an edge a rail runs along; Rail entire outline is refused for the same reason. A rail may end at the house corner. The spreadsheet refuses a rail run that lies along the house edge by more than 0.01 ft (0.003 m), which allows for a run that ends at the corner.
The inputs beside the drawing are:
- Joist spacing on centre: the distance between joist centres, in inches (US) or centimetres (Metric).
- Beam spacing: the largest distance between beams, measured along the joists, in feet or metres: the span the joists are allowed. It is not a beam's own span between posts, which the post spacing below sets.
- Deck board width: the face width of one board, in inches or centimetres.
- Gap between boards: the space left between neighbouring boards, in inches or centimetres; 0 means boards laid tight.
- Deck board length: the stock length of one board, in feet or metres.
- Deck board waste: extra boards for cuts and defects, as a percentage of the boards counted. The same figure in both systems.
Every input beside the drawing but the board waste has one field for each system, each with its own default: 16 in joists, beams every 8 ft, and 5.5 in boards 16 ft long with 1/8 in gaps in US, and 40.64 cm, 2.4384 m, 13.97 cm, 0.3175 cm and 4.8768 m in Metric. The Metric figures are the US ones converted exactly, at 2.54 cm to the inch and 0.3048 m to the foot, because the requirement this calculator was built to gives no metric example. The board waste, 10%, is shared by both systems. Switching between US and Metric shows the other system's inputs with their own values and never converts a number you typed; the value you typed for the system you left is kept for when you switch back, and it is not sent while it is hidden. The spreadsheet reads only the inputs of the selected system. The drawing converts its own rails and stairs when you switch.
The defaults are the figures of worked example 11.5.2.1 of the requirement this calculator was built against, not values from a code, a span table or a supplier, so review them before use. So are most of the spreadsheet's own rule figures, which you cannot change here: a post every 8 ft (2.4384 m) along each beam; a 12 in (30.48 cm) round footing 36 in (91.44 cm) deep under each post; 0.60 cu ft of concrete from an 80 lb bag; 1 lb of deck screws for every 10 sq ft of deck (about 0.49 kg per m²); a rim joist on every deck edge no joist runs along; two hangers for each joist; a railing post at every corner a rail run turns and at most every 6 ft (1.8288 m) between; and a baluster every 4 in (10.16 cm). The post stock is cut from 8, 10, 12, 14 or 16 ft lengths (2.4, 3.0, 3.6, 4.2 or 4.8 m in Metric, a proposal with no published source); the deck height must be 0.5 to 16 ft (0.15 to 4.80 m). Two stair figures come from elsewhere. The tallest riser is 7 3/4 in, the residential code's maximum (IRC R311.7.5.1), and in Metric 196 mm, the code's own metric figure, written 19.6 cm; and the stringers are spaced at most 16 in (40.64 cm) apart, the Stair Calculator's rule. The stair railing follows the residential code's classes and limits, set out under Stair railing below, with each tread taken as 10.5 in (26.67 cm) deep, the Stair Calculator's default. All of them are review-before-use figures: your span tables, your frost depth and soil, your fastener maker, your tread maker and your deck, guard and stair codes govern.
Governing relationships
The deck's area is the area inside the drawn outline less each exclusion, each measured by the shoelace formula exactly as on the Area Calculator. The screws are the only figure counted from that area. The framing and boards follow the outline and its openings. Their lines are laid out across the smallest rectangle around the deck: its length runs left to right on the drawing, from the leftmost point to the rightmost, and its depth top to bottom. Each joist line, beam line and board row then stops where it leaves the deck, at the outline and at every opening, and each part of it on the deck is counted as one member. A part of 0.01 ft (0.003 m) or less, where a line only grazes a corner, is not counted.
Before the lines are cut, the outline and every opening are tidied in one pass. A point repeated in the next row is merged, and a point that lies within 0.000001 ft (or m) of the straight line through its two neighbours, between them, is dropped. Every such point is dropped at once, judged against its neighbours as drawn, so a corner drawn on a straight edge neither splits a member nor adds a rim joist. Dropping two neighbouring points can move an edge by a few millionths of a foot, far less than the 0.01 ft allowance. The rails and the beams' positions read the points as drawn.
Joist lines run left to right and are spaced down the drawing, with one on each of the top and bottom edges of the depth:
Joist lines = deck depth ÷ joist spacing, rounded up, + 1
Each joist line stops where it leaves the deck, so a line cut by a notch or an opening is one joist for each part:
Joists = the sum, over the joist lines, of their parts on the deck, and Joist hangers = 2 × joists, one at each end of every part.
The calculator counts a rim joist along every deck edge that no joist carries, around openings too. Every edge of the outline and of each opening is measured from corner to corner and counted once, angled edges included:
Rim joists = the edges of the deck that no joist runs along
The first and last joists carry the top and bottom edges, so a plain rectangle takes two rim joists, one of them the member on the house side. The member framing an opening is counted as a rim joist; no header or trimmer is counted apart from it. Where an opening lies along a deck edge, that edge is cut at the opening's ends, and only the parts with deck on one side take a rim joist.
Beam lines run top to bottom and are laid out along the length:
Beam lines = deck length ÷ beam spacing, rounded up
Each beam line stops where it leaves the deck, and each part of it on the deck is one beam:
Beams = the sum, over the beam lines, of their parts on the deck
That supports the joists only if one end of them bears on a ledger, which is why a deck attached to the house is drawn with the house along the left or right edge, chosen as the house side; a freestanding deck needs one more beam line, with its posts. The beam lines stand evenly apart, deck length ÷ beam lines, counted from the house side, the last on the far edge.
The posts are placed on the deck. A beam's line can cross the deck more than once: where the outline has a notch or a cut-away corner, or where an opening such as a hot tub lies across the beam. Each part of a beam line that lies on the deck, inside the outline and outside every opening, takes its own posts, one at each end of the part and one at every 8 ft between:
Posts on a beam line = the sum, over its parts on the deck, of (part length ÷ 8 ft, rounded up, + 1), and one footing under each post
No post stands in a notch, a cut-away corner or an opening. On a 20 by 15 ft deck with a 14 by 7 ft notch cut into its right side, each of the three beam lines crosses the notch, so each stands on two 4 ft parts with 2 posts each: 6 beams and 12 posts, where posts spaced over the whole 15 ft depth would have put one in the notch. A part of 0.01 ft (0.003 m) or less, such as where a beam line only grazes a pointed corner, is no beam and takes no posts. A beam line that runs along an opening's side, or touches an opening at one corner, is not cut there. The joists and the board rows stop at the notch in the same way. The requirement's worked examples print one post fewer for every beam after the first; this calculator puts a post at both ends of every beam instead, by decision.
Every post is the deck height tall: that is each post's cut length.
Post length = deck height
The post stock is the length, of the five listed, that cuts every post with the least total length to buy; a length shorter than one post is never chosen, and a tie goes to the shorter:
Posts per piece = stock length ÷ deck height, rounded down
Pieces = posts ÷ posts per piece, rounded up, and the stock is the length with the least pieces × length
80 lb concrete bags = footings × π × (12 in ÷ 2)² × 36 in ÷ 0.60 cu ft, rounded up over all the footings, with the footing and the bag in cubic feet (US) or cubic metres (Metric) and no waste allowance
The deck boards run top to bottom, so their rows are laid out along the length:
Board row lines = deck length ÷ (board width + gap), rounded up
Each board row line stops where it leaves the deck, and each part of it on the deck is one board row, measured along its centre (a last row whose centre lies past the deck's right edge is measured at that edge, so it keeps its boards). Each row takes as many boards as its length needs, offcuts not reused:
Boards in a row = row length ÷ board length, rounded up
Deck boards = (the sum of the boards in every row) × (1 + board waste), rounded up, the waste applied once and to the boards only; the framing carries no waste allowance
Boards per row is the most boards any row takes: the deck depth ÷ the board length, rounded up, on a plain rectangle. A row's board joints are a board length apart, counted from the start of that row.
Because each board row is measured along its centre line, an opening narrower than a board that falls between two board rows' centre lines does not shorten either row: both keep the boards they would take without the opening.
Deck screws = deck area × 1 lb per 10 sq ft (US) or × 0.488 kg per m² (Metric, the same rate converted exactly), rounded up
The railing is measured along the drawn outline: its length is the sum of the rail runs' lengths, with the stair openings left out. The spreadsheet checks each rail run's length against its two ends on the outline, measuring the edges it covers from the drawn points, so a run whose length and ends disagree is refused rather than counted. A run that lies along the house edge, an outline edge on the house side's line, is refused too. Each run is counted on its own, split into pieces at every corner of the outline it turns, collinear corners included:
Railing posts on a run = the sum, over its pieces, of piece length ÷ 6 ft, rounded up, + 1
That is the corner-post rule. It puts a post at each end of every run and at every corner it turns, with none more than 6 ft apart, so a stair cut into a rail has a post on each side of it. Because each piece is rounded up on its own, a run round several short edges takes more posts than its length alone would need. A rail round the whole outline would run along the house edge, so the drawing does not draw one on this page. Sent to the spreadsheet directly, for an outline with no edge on the house side's line, it is one run whose two ends meet at the first corner and takes one post fewer: the sum alone. A run that ends at the house corner is counted a post there, where a wall bracket is usual. With no rail there are no railing posts.
Balusters on a run = run length ÷ 4 in, rounded up: one every 4 in, which keeps the gap between them under 4 in whatever their width, added up over the runs; none without a rail
On the deck's rail runs the rails are drawn but not counted; only posts and balusters are counted. The 3D view draws a top rail and a bottom rail along each run, as drawing only, and the deck's rail lumber is in no figure; only a stair's guard rails and handrail are counted by length (see Stair railing).
Each stair is counted from its own height and width:
Stair risers = stair height ÷ 7 3/4 in, rounded up (19.6 cm in Metric): the fewest equal risers none taller than the code's maximum. Each riser is the height divided by that count, shown in the table of stairs.
Stair treads = risers − 1: the deck is the top step, so the last riser lands on the deck surface
Stair stringers = stair width ÷ 16 in, rounded up, + 1: one at each side and enough between that none are more than 16 in (40.64 cm) apart; a stair of a single riser has no tread and takes none
The risers sit at the code's maximum: add a riser where the ground level is uncertain. The code also limits how much risers may differ from each other, which is not checked here, and nor is the rule that ties a riser to its tread; the tread depth is not measured but taken as 10.5 in, above the code's 10 in minimum, for each stair's run and its railing. The treads counted are steps, not boards: a tread usually takes two deck boards across the stair's width, and they are not in the deck-board count. The 16 in stringer spacing suits wood treads; composite treads commonly need 12 in, so check the tread maker's spacing.
US and Metric can count the same stair differently, because 196 mm is a little stricter than 7 3/4 in: a stair 31 in high takes 4 risers of 7.75 in in US, and the same stair, 78.74 cm high, takes 5 risers of 15.75 cm in Metric.
Stair railing. The stair railing follows the 2021 International Residential Code as adopted in Colorado, which adopts it without amendment: R311.7.8 for the handrail and R312.1.1 to R312.1.3 for the guards. Each stair falls into one of three classes, from its risers and its total rise:
- 3 risers or fewer: no stair railing.
- 4 or more risers and a total rise of 30 in (76.2 cm) or less: one graspable handrail on one open side, carried on posts (R311.7.8).
- A total rise over 30 in: a guard on every open side, with its posts, balusters and a top and a bottom rail, plus that one handrail, carried on the guard's posts (R312.1.1).
A rise of exactly 30 in is in the handrail class, because the code's guard rule is for more than 30 in. A side of a stair is open unless it runs along the house line, within 0.01 ft (0.003 m). A guard is railed for the whole side, top to bottom, a conservative reading of the code's 30 in measured within 36 in of the open side. The handrail goes on the stair's start side, the side at its offset along its edge, when that side is open, and otherwise on its end side. The guard's cap is not taken as the handrail.
Each side runs from the deck edge to the lowest tread, along the slope of the tread nosings. The treads are taken as 10.5 in (26.67 cm) deep, above the code's 10 in minimum (R311.7.5.2), so a stair's run is its treads × 10.5 in:
Sloped length = treads × √((10.5 in)² + (riser height)²)
Stair railing posts on a side = sloped length ÷ 6 ft, rounded up, + 1, less the top post where a drawn deck rail run ends at that side's top corner, because the run's end post is the same post
Stair balusters on a guard side = run ÷ 4 in, rounded up: measured horizontally, which keeps every gap under the 4 3/8 in the code allows on the open side of a stair (R312.1.3)
Stair guard rail length = guarded sides × sloped length, the top rail; the bottom rail is the same length again
Stair handrail length = sloped length, on each stair with a handrail: from above the top riser to above the lowest (R311.7.8.4)
The "Each stair" table states each stair's class, whether each side is open or on the house line, each side's posts and balusters, the guard rail and handrail lengths, the run and the sloped length. Stair railing does not change the deck's status line.
The Stair Calculator designs one stair from a target riser and checks it against limits you can change, while this calculator takes off material for each stair drawn, so it counts the fewest risers that keep every riser within the code's maximum. The two agree on a 36 in stair (5 risers) and a 30 in stair (4 risers); on a 24 in stair this calculator gives 4 risers of 6 in where the Stair Calculator gives 3 of 8 in with a CHECK: status. They count stringers alike.
The small lengths are converted with the exact 12 inches to the foot or 100 centimetres to the metre. Each count is rounded to six decimal places before it is rounded up, so a figure that is whole on paper is not rounded up past it by the last digits of the arithmetic. Computed in IEEE arithmetic without that step, the 23 by 12 ft deck's 50 board rows times 1.1 are 55.00000000000001, which would round up to 56 boards, not 55; the angled deck of worked example 11.5.2.2 measures 300.0000000000005 sq ft, which would take 31 lb of screws, not 30; a 32 in stair, written 2.66666666666667 ft wide, is 32.00000000000004 in across, which would take 4 stringers, not 3; and the 24 by 14 ft deck of worked example 11.5.2.4 drawn 8 in off the grid's origin measures 24.000000000000032 by 14.000000000000032 ft, which would take 16 joists, 4 beams, 12 posts and 48 bags, not 15, 3, 9 and 36, and its rail's 24.000000000000032 ft top edge would take 5 post spaces and 12 railing posts, not 4 and 11. When the spreadsheet was built, two of those roundings were tried once in Excel without the six-place step: the 300.0000000000005 sq ft deck gave 31 lb there too, and the 50 × 1.1 gave 55. Nothing else is rounded in the spreadsheet: every figure is computed from unrounded values.
Calculation sequence
- The spreadsheet measures the deck's area and the area of each exclusion from the drawing, and the length of each edge of the outline.
- It reads the five inputs of the selected system and the board waste, and the rule figures of that system.
- From the drawn points it finds the smallest rectangle around the deck: its length left to right and its depth top to bottom. It tidies the outline and every opening in one pass, dropping the points that lie on a straight edge.
- It lays out the joist lines across the depth and the beam lines and board row lines along the length, and cuts each where it leaves the deck, at the outline and at every opening. Joists and hangers from the joist lines' parts; rim joists from the deck edges no joist runs along, the openings' edges included; beams from the beam lines' parts; posts (a post at both ends of every part of a beam line that lies on the deck, inside the outline and outside every opening), footings and concrete bags from those parts; each post's length from the deck height, and the post stock from the posts and that length.
- Board rows from the board row lines' parts, the boards in each row from its length, then the deck boards with the waste.
- Deck screws from the deck's area.
- Each rail run is checked against its ends on the outline and against the house edge, then split at the corners it turns and its posts and balusters are counted; each stair's risers, treads and stringers are counted from its height and width. The railing length, the number of rail runs and stairs and the totals are added up.
- The framing schedule places every counted member where it stands on the deck: the beams from the house side, the posts on each beam, the joists, the rim joists along their edges, the board rows and their joints, up to 250 rows; and the rail schedule lists each rail run's railing posts and balusters.
- The status line is chosen, as described below. When it begins
NOT VALID:, every computed figure reads zero and the tables of stairs, rail runs and framing are blank; the deck's area and the exclusion areas are still measured from the drawing.
For the drawing the page opens with, the canvas's 20 by 15 ft rectangle with no rails or stairs drawn yet: 15 × 12 ÷ 16 = 11.25, so 12 joist spaces and 13 joist lines, each a single joist on this rectangle, with 2 rim joists, on the house side and the far edge, and 26 hangers; 20 ÷ 8 = 2.5, so 3 beams; 15 ÷ 8 = 1.875 rounds up to 2, so each beam has a post at both ends and one between, 3 × 3 = 9 posts and 9 footings; each footing holds π × 0.5² × 3 = 2.36 cu ft, and 9 × 2.36 ÷ 0.60 = 35.34, so 36 bags. At the 3 ft height each post is cut 3 ft long: a 10 ft length holds 3, so 3 pieces, 30 ft (8 ft lengths would take 5, 40 ft; 12 ft, 36 ft; 16 ft, 32 ft). The boards take 20 × 12 ÷ (5.5 + 0.125) = 42.67, so 43 rows of one 16 ft board each, and 43 × 1.1 = 47.3, so 48 deck boards; 300 sq ft takes 30 lb of screws; with no rail and no stair there are no railing posts, balusters or stair parts.
Worked example 11.5.2.1 is the same deck, its house on the left edge, railed in one 50 ft run from the house corner along the top, the right side and 15 ft of the bottom, leaving 5 ft open by the house. Its pieces of 20, 15 and 15 ft take 20 ÷ 6 = 3.33, so 4 post spaces, and 15 ÷ 6 = 2.5, so 3 each: 4 + 3 + 3 + 1 = 11 railing posts, one at each corner the rail turns, and 50 × 12 ÷ 4 = 150 balusters. Worked example 11.5.2.2, the angled bay deck of plan BD, is 300 sq ft drawn inside a 21.67 by 15 ft rectangle, its house on the left edge. It has 47 rows and 52 deck boards, the same 13 joists, 3 beams, 9 posts and 36 bags, and 30 lb of screws: every joist line and board row crosses it in one part, each shorter than a 16 ft board, and stops at the angled edges. It takes 4 rim joists, the house-side member, the right side and one along each angled edge, because the first and last joists carry the top and bottom edges; no member stands on the two cut-away corners. The beam on the deck's right edge, beside the bay's angled corner, lies on the deck from 5 ft to 15 ft down the drawing, and all three of its posts stand there, none at the cut-away corner. Its rail runs from the house corner at the top left round the bay to the house corner at the other end of the house edge: 16.67 + 7.07 + 10 + 16.67 + 7.07 = 57.48 ft, which takes 3 + 2 + 2 + 3 + 2 + 1 = 13 railing posts and 57.48 × 12 ÷ 4 = 172.43, so 173 balusters. Its status reads CHECK: because the deck is not a plain rectangle. The requirement prints a 60 ft rail with 11 railing posts and 180 balusters; on this deck a 60 ft rail would run its last 2.52 ft along the house, which this calculator refuses. Worked example 11.5.2.3, a 12 by 12 ft deck with no rail: 10 joists, 2 beams, 6 posts, 24 bags, 26 rows and 29 deck boards, 15 lb of screws, and no railing posts, where the requirement prints 1 post for no railing. Worked example 11.5.2.4, a 24 by 14 ft deck with 12 in joists, its house on the left edge, is railed in one 52 ft run from the house corner along its top, its right side and 14 ft of its bottom, with a 3 ft wide stair 3 ft high in the 10 ft of the bottom left open by the house: 15 joists, 3 beams, 9 posts, 36 bags, 52 rows and 58 deck boards, 34 lb of screws, 4 + 3 + 3 + 1 = 11 railing posts and 156 balusters; the stair's 36 in ÷ 7.75 in = 4.65, so 5 risers of 7.20 in and 4 treads, and 36 in ÷ 16 in = 2.25, so 3 + 1 = 4 stringers. The requirement prints 6 risers and 3 stringers, from a 7 in riser and three stringers a stair; this calculator follows the code's 7 3/4 in and the stair's width instead. That drawing reproduces the requirement's railing length and is not a guard layout to build: a deck 3 ft high needs a guard along the rest of its open side. Worked example 11.5.2.5, a 16 by 10 ft deck with 24 in joists and 20 ft boards, is railed in one 36 ft run from the house corner along its top, its right side and 10 ft of its bottom: 6 joists, 2 beams, 6 posts, 24 bags, 35 rows of one board and 39 deck boards, 16 lb of screws, 3 + 2 + 2 + 1 = 8 railing posts and 108 balusters. The requirement's examples print 7 posts and 28 bags for three beams, and 5 posts and 20 bags for two; this calculator counts a post at both ends of every beam. They print 10, 11, 10 and 7 railing posts for 11.5.2.1, 11.5.2.2, 11.5.2.4 and 11.5.2.5, spacing each run's posts along it as one straight length; this calculator puts a post at every corner, by decision. The examples' rails were redrawn to leave the house edge open, and they keep the printed railing lengths, all but 11.5.2.2's. The requirement prints 2 rim joists for 11.5.2.2; this calculator counts 4, a rim joist on each angled edge, by decision.
In Metric, the 6 by 4.5 m deck around a 60 cm tree and a 60 by 200 cm planter, with the house along its left edge, joists at 40 cm, beams every 2.4 m and 14 cm boards 4.8 m long with 5 mm gaps, a rail round the other three edges cut by one stair 1.2 m wide and 60 cm high: 14 joists, one of the 13 joist lines crossing the tree in two parts; 4 beams, 10 posts of 0.60 m from two 3.0 m lengths and 40 bags (the far beam line runs along the planter's side on the deck's right edge, so it stands on the deck in two parts, 1 m and 1.5 m long, two beams with 2 posts each); 9 rim joists, on the house side, on the two parts of the right edge beside the planter, on three sides of the tree (a joist runs along its fourth) and on the planter's three open sides; 51 board rows and 57 deck boards, 9 of the 42 board row lines crossing the tree or the planter in two parts; and 13 kg of screws for the 25.44 m² left; two rail runs of 12.9 m and 2.4 m, 15.30 m in all, take 10 + 3 = 13 railing posts (the first run's pieces of 6, 4.5 and 2.4 m take 4 + 3 + 2 post spaces at 1.8288 m, plus one) and 127 + 24 = 151 balusters; the stair takes 4 risers of 15.00 cm, 3 treads and 4 stringers. The 20 by 15 ft deck around a 4 by 4 ft hot tub, with the house along its left edge and a rail round the other three edges cut by two stairs, a 4 ft stair 30 in high and a 3 ft stair 36 in high: the hot tub's 16 sq ft come off the screws, 29 lb for 284 sq ft, and the framing and boards stop at it: 3 of the 13 joist lines and 9 of the 43 board row lines cross it in two parts, so 16 joists, 32 hangers, 52 board rows and 58 deck boards, and 6 rim joists, on the house side, the far edge and each of the hot tub's four sides, while the 3 beams pass beside it; the three rail runs of 25.5, 14 and 8.5 ft take 6 + 4 + 3 = 13 railing posts and 77 + 42 + 26 = 145 balusters; the stairs take 4 risers of 7.50 in, 3 treads and 4 stringers, and 5 risers of 7.20 in, 4 treads and 4 stringers. A rail round the whole outline, sent directly for a deck with no edge on the house side's line, such as the outline from (8, 0) to (20, 0), (20, 15) and (0, 15) ft, is one run of 12 + 15 + 20 + 17 = 64 ft. It takes 2 + 3 + 4 + 3 = 12 railing posts, one fewer than a run with two ends.
Outputs and interpretation
Deck boards, Joists, Beams, Posts and 80 lb concrete bags are the five headline results. The page groups every result: under "Decking" the deck boards and the deck screws, in pounds (US) or kilograms (Metric); under "Framing" the joists, rim joists, joist hangers, beams and posts, each post's length and the post stock to buy, as a length and a number of pieces; under "Footings and concrete" the footings and the bags; under "Railing" the railing length, in feet or metres, the number of rail runs, the railing posts and the balusters; under "Stairs" the number of stairs and their risers, treads and stringers added up; and under "Stair railing" the stair railing posts, the stair balusters, the stair guard rail length and the stair handrail length, in feet or metres. "Each stair" is a table with one row for each stair, under the headings the spreadsheet returns: its risers, its treads, its stringers and the height of each riser, in inches (US) or centimetres (Metric); its run and its sloped length, in feet or metres; the railing it requires; whether each side is open or on the house line; each side's posts and balusters; its guard rail length; and its handrail's side and length. "Each rail run" is a table with one row for each rail run as drawn: its name, its railing posts and its balusters; its columns add up to the railing totals.
Under "How the deck is counted" the page shows the steps the counts are built on: Deck length, left to right, and Deck width, top to bottom, the sides of the smallest rectangle around the deck, in feet or metres; and Board rows, Boards per row and Deck boards before waste, whole numbers. The page shows every figure to at most two decimals, so the angled deck's length of 21.6666666666667 ft reads 21.67 ft. The spreadsheet also measures the drawing's gross area, the area inside the drawn outline; the net deck area, that area less the exclusions, from which the screws are counted; and the area of each exclusion. The page does not print those seven areas, or the framing schedule the 3D view is drawn from, but the calculation still returns them. Every figure is computed from unrounded values, so a figure worked out by hand from the ones shown on the page can differ in its last place.
The drawing shows each rail run's length as it measures it, the width and height you typed for each stair beside it, and the deck height you set in its panel's Height row, so you can check what you drew; it never shows a step count, which is the spreadsheet's.
The 3D button on the drawing shows the deck in 3D, once the deck height is set; the 3D view only shows the deck, which is edited in 2D. The page draws it from the framing schedule the spreadsheet returns: every footing, post, beam, joist, rim joist and board row it counts, where it places them, with the posts the deck height tall and each footing at its returned size; the railing posts and balusters along each rail run you drew, a post at every corner the run turns, and each stair's stringers and treads, from the counts the spreadsheet returns, each tread as deep as the stair's returned run divided by its treads. A top rail and a bottom rail are drawn along each run; the rails are drawn but not counted. Each stair's railing is drawn from the "Each stair" table: on each side with balusters, its posts, balusters and a top and a bottom rail sloped along the stair, and the one handrail on its side, carried on posts; a top post that a deck rail run already ends at is drawn once. Member thicknesses and the rails' and handrail's heights are drawing sizes only, never results, and the 3D view shows no length, height, count or area. Every member is drawn where the spreadsheet places it: the joists, beams and board rows end where their lines leave the deck, and a rim joist is drawn along every edge it counts. Where an opening narrower than a board falls between two board rows' centre lines, the view can show full-width boards across it; on site those boards need trimming around the opening, which neither the view nor the count shows. Each stair hangs from the deck surface and keeps its own height, so a note names a stair that does not meet the ground. Screws, joist hangers and concrete bags are counted but not drawn, and the boards drawn are the boards before waste. The 3D shows the framing only for a result that is current for the drawing and the inputs on screen; press Calculate after any change, and until then it shows the outline, the rail runs and the stairs as drawn.
A result belongs to the drawing and the inputs it was calculated for. When you change either after pressing Calculate, the result is kept but marked stale until you press Calculate again; changing the value back makes it current again. Switching between US and Metric changes what is sent, so it marks the result stale too.
Validation and status logic
The drawing tool checks every edit to the drawing before it is kept, with the Area Calculator's rules: at least three points per shape, no two consecutive points in the same place, no wall crossing another wall of its shape, every exclusion inside the outline, no two exclusions overlapping, and at most five exclusions. It also keeps every rail and stair on the outline, keeps every rail off the house side, keeps stairs apart from each other, cuts a rail where a stair meets it, and holds at most 50 rail runs and 20 stairs. A refused edit leaves the drawing as it was, and an imported drawing is refused as a whole if any rule fails. The drawing tool always writes a shape's points, rail runs and stairs into consecutive rows; the spreadsheet refuses a request that leaves a point half written or a blank row between points, runs or stairs.
The status line is the spreadsheet's own verdict, the first of these that applies; R001 and S001 stand for the rail run's or the stair's own name, the first in the list that fails:
NOT VALID: choose US or MetricNOT VALID: draw at least three outline pointsNOT VALID: every outline point needs both coordinatesNOT VALID: every point of exclusion 1 needs both coordinatesNOT VALID: every point of exclusion 2 needs both coordinatesNOT VALID: every point of exclusion 3 needs both coordinatesNOT VALID: every point of exclusion 4 needs both coordinatesNOT VALID: every point of exclusion 5 needs both coordinatesNOT VALID: each exclusion needs zero or at least three complete pointsNOT VALID: outline and exclusion points must fill consecutive rows, with no blank row between themNOT VALID: the deck outline encloses no areaNOT VALID: the exclusions leave no deck areaNOT VALID: rail runs must fill consecutive rows, with no blank row between themNOT VALID: every rail run needs an ID, a start and an end on the outline's edges, and a length more than zeroNOT VALID: the ends and length of rail run R001 do not agree with the outlineNOT VALID: stairs must fill consecutive rows, with no blank row between themNOT VALID: every stair needs an ID, an edge of the outline, an offset and a width more than zeroNOT VALID: stair S001 needs a heightNOT VALID: the height of stair S001 must be a number more than zeroNOT VALID: the deck height must be 0.5 to 16 ft (0.15 to 4.80 m)NOT VALID: choose the house side, Left edge or Right edgeNOT VALID: rail run R001 runs along the house edge; a rail may touch the house only at a cornerNOT VALID: joist spacing must be greater than zeroNOT VALID: beam spacing must be greater than zeroNOT VALID: the beam spacing gives more than 50 beams across the deck; this calculator places 50 at mostNOT VALID: the beams cross the outline and its openings in more than 50 different parts on the deck; this calculator places 50 rows of posts at mostNOT VALID: the joist spacing gives more than 100 joist lines across the deck; this calculator lays out 100 at mostNOT VALID: deck board width must be greater than zeroNOT VALID: enter a gap between boards of zero or moreNOT VALID: deck board length must be greater than zeroNOT VALID: enter a deck board waste between 0% and 100%NOT VALID: the board width and gap give more than 200 board rows across the deck; this calculator lays out 200 at mostNOT VALID: the board joints need more than 128 joint lines across the deck; this calculator lays out 128 at mostNOT VALID: a joist, board-row or joint line meets the deck's edges over 12 times (a corner counts as two edges), or a deck edge is cut at over 2 distinct points, has over 4 edges along it or lies along over 2 others; this calculator follows those capsNOT VALID: the framing needs more than 250 rows in the framing schedule; this calculator lists 250 at mostCHECK: the deck is not a plain rectangle or has exclusions. Its framing and boards follow the outline and its openings; angled cuts, skewed hangers, blocking and doubled members around openings are not counted, so check them before ordering.OK
A stair you have added but not yet given a height is the one you will usually meet: the status names it, "needs a height", in the same words as the drawing's panel. The rail-run and stair checks after it catch a request the drawing tool would never write, such as a rail run whose length does not agree with its ends on the outline or a stair height of zero, which reach the spreadsheet only when it is called directly. The drawing refuses a rail drawn along the house edge; one that still reaches the spreadsheet, in a drawing imported from elsewhere or a direct call, is refused by the spreadsheet's own check. A beam spacing so small that more than 50 beams stand across the deck is refused, because the spreadsheet places 50 beams at most; so is a deck whose beams cross its outline and openings in more than 50 different parts, because the spreadsheet places 50 rows of posts at most. The framing is laid out within fixed limits, and a deck past any of them is refused rather than counted short: 100 joist lines, 200 board rows, 128 board joint lines, 250 rows of the framing schedule, and 12 meetings of one joist, board-row or joint line with the deck's edges, a corner on the line counting as two edges. A deck edge may be cut by the openings lying along it at no more than 2 distinct points, cuts that follow each other at 0.000001 ft (or m) or less counting as one, and it may have at most 4 edges lying along it and lie along at most 2 others. The checks on the spacings, the board size and the gap read the selected system's inputs only. A joist spacing, beam spacing, board width or board length of zero is refused, because a count divides by it; a deck height outside its range is refused, because no post stock is chosen for it; a gap of zero is an answer, boards laid tight, and so are no rail and no stair. The CHECK: line applies when the area inside the outline is smaller than the rectangle around it, or any exclusion has an area: worked example 11.5.2.2, the angled bay, reads CHECK:, as do the Metric deck with its tree and planter and the deck around a hot tub; the opening deck and examples 11.5.2.1 and 11.5.2.3 to 11.5.2.5, rectangles with no exclusion, read OK. A CHECK: verdict comes with the figures; a NOT VALID: verdict is shown in place of them.
Assumptions and limitations
- On a deck that is not a plain rectangle, or has exclusions, the joists, beams, rim joists and board rows follow the outline and its openings, and the status says
CHECK:. The angled cuts, mitres, skewed hangers, blocking and doubled members around openings are not counted, and the member framing an opening is counted as a rim joist, with no header or trimmer apart from it. Check them against your layout before ordering. - The deck must be drawn with its joists running left to right; on a deck drawn at an angle the joists and board rows still run left to right and top to bottom, and are cut at its angled edges like any other shape's.
- No member length is returned, and no joist, beam or rim joist is matched to a stock length; only the deck boards are counted from each row's length on the deck.
- The beams support the joists only with a ledger at the house side; a freestanding deck needs one more beam and its posts. Every beam has a post at both ends, as the requirement's worked examples do not: they print one post fewer for every beam after the first.
- Every post is the deck height tall and stands on its footing; post embedment, post bases and a guard's height above the ground are not modelled, and the stairs keep their own heights.
- Railing posts stand at every corner a rail run turns, collinear corners included, and at most 6 ft apart between them, so a run round several short edges takes more posts than its length alone would need. On the deck's rail runs the rails are drawn but not counted; only posts and balusters are counted. No rail runs along the house side. A stair's railing is counted from its class (see Stair railing); landings, newel posts, handrail returns and brackets, the tread and riser boards, the stringers' length and the landing or footing at a stair's foot are not counted. A rail run drawn across a stair, an open deck edge more than 30 in above the ground with no rail, and a stair on the house edge are not checked.
- The tallest riser and the stair railing classes are the residential code's; nothing else is checked against a code. The tread depth is taken as 10.5 in rather than drawn or typed, and the difference between risers is not checked. A guard is railed for the whole of each open side, a conservative reading of the code's 30 in measured within 36 in of the side.
- No member sizes, span tables, lumber lengths other than the posts', ledger, bracing, blocking or other fasteners, no framing waste and no pricing. The footing, the bag and the screw rate are review-before-use figures, not your frost depth, your concrete or your fastener maker's schedule.
- The spreadsheet's areas assume the outline is a simple polygon, one whose walls do not cross, with each exclusion inside it and apart from the others; and it does not test stairs against each other or against the rails. It does not check any of that itself, so this calculator is offered on its web page only, where the drawing tool keeps the outline simple, the exclusions inside it and the stairs apart.
- Drawing needs a mouse, a pen or a touch screen; a drawing prepared elsewhere can be loaded with Import.
Restrictions and non-computing states
This calculator accepts a joist spacing, beam spacing, board width, gap and board length of zero or more, of which a zero spacing, width or length is refused by the status line, a board waste from 0% to 100%, and a deck height of zero or more, of which the status line refuses any height outside 0.5 to 16 ft (0.15 to 4.80 m). On the page the drawing's Height takes only the heights valid in both unit systems, 0.5 to about 15.75 ft (0.1524 to 4.80 m). An input of the system that is not selected is not read. The drawing tool refuses any edit that would leave a shape, a rail or a stair outside its limits. Nothing is sent until you press Calculate, and pressing it again on an unchanged drawing with unchanged inputs sends nothing.
Errors and warnings
A blank required input keeps Calculate from sending, and pressing it names the input and moves to it. A stair with no height is sent as it is, and the status line says it needs a height. If the calculation service refuses an input, the status line names it and the input is marked until you change it. If the service does not answer, the page says so, keeps your drawing, your inputs and the last result, and lets you press Calculate again. A CHECK: status means the figures are returned with a reason to look again; a NOT VALID: status means they cannot be computed and none are shown.
References
Sources and further reading
- National Institute of Standards and Technology, Guide for the Use of the International System of Units (SI), NIST Special Publication 811, Appendix B.8. nist.gov. The exact foot (0.3048 m) and inch (2.54 cm) behind the drawing's two systems, and the exact square foot (0.09290304 m²). The Metric joist spacing, beam spacing, board width, gap and board length this calculator opens with are the US figures converted with that foot and inch: 16 in is 40.64 cm, 8 ft is 2.4384 m, 5.5 in is 13.97 cm, 1/8 in is 0.3175 cm and 16 ft is 4.8768 m; so are the 6 ft railing post spacing (1.8288 m), the 4 in baluster spacing (10.16 cm) and the 16 in stringer spacing (40.64 cm).
- Eric W. Weisstein, "Polygon Area," MathWorld, Wolfram Research. mathworld.wolfram.com/PolygonArea.html. The shoelace formula for the area of a polygon from the points of its corners, with the condition it needs, a flat polygon whose sides do not cross, which the spreadsheet uses to measure the deck and each exclusion, as on the Area Calculator.
- Town of Timnath, Colorado, 2018 Residential Stair Guide, Section R311.7 Stairways of the 2018 International Residential Code. timnath.org. The tallest riser this calculator allows: 7 3/4 in (196 mm) at most (R311.7.5.1), the same figure the Stair Calculator's default limit uses.
- International Code Council, 2021 International Residential Code, Chapter 3, Building Planning, as adopted by Colorado without amendment, on UpCodes. up.codes. The stair railing: a handrail on not less than one side of each flight of four or more risers (R311.7.8), 34 to 38 in high (R311.7.8.1) and continuous from above the top riser to above the lowest (R311.7.8.4); guards on the open sides of stairs more than 30 in (762 mm) above the floor or grade below (R312.1.1), at least 34 in high on stairs (R312.1.2), with openings on the open side of a stair that do not pass a 4 3/8 in (111 mm) sphere (R312.1.3); and the 10 in (254 mm) least tread depth (R311.7.5.2).
The maximum riser and the stair railing classes are the residential code's figures, taken for review before use: check it against the code adopted where you build. The 16 in stringer spacing is the Stair Calculator's rule. The default spacings, board size, gap and waste, and the spreadsheet's other rule figures (the post spacing, the footing, the bag, the screw rate, the rim joists and hangers, and the railing post and baluster spacing), are the figures of the worked examples and the requirement this calculator was built to, not values from these sources or from any code, span table or product sheet; the Metric figures are the US ones converted exactly. These sources describe the units, the measurement, the riser limit and the stair railing rules; the 10.5 in tread depth the stair railing is counted on is the Stair Calculator's default, above the code's minimum; they do not certify a particular deck, stair or result. Your span tables, your local deck, guard and stair codes, your frost depth and soil, and your supplier's figures govern: use those, and check the counts against your framing plan before ordering.
Found a problem, or have an idea?
Tell us if a result looks wrong, a label is unclear, or something is missing. We read every message.