Shed / Barn / Pole Building Calculator
Enter building dimensions once and get a combined material list across every trade.
Master building dimensions
Enter these once. Framing, Roof, Concrete, Siding, Shingles, and Sheathing all reuse these values — no re-entry per calculator.
Roof
Rise/run/pitch feed the Roof calculator; roof plane count is a shed-barn adapter (1 = mono-slope, 2 = gable).
Footings
Volume is calculated per footing, then scaled by post count for the combined material list.
Openings
Doors and windows are subtracted from siding and add extra framing studs. Enter matching comma-separated widths and heights.
Framing assumptions
Corner count is fixed at 4 for a rectangular footprint; other assumptions stay editable.
Siding, shingles & sheathing waste
Coverage and waste assumptions for the exterior material takeoffs.
Electrical Tier 1 (optional)
Toggle on to add wire footage and box counts to the combined material list.
Plumbing Tier 1 (optional)
Toggle on to add a single fixture run to the combined material list.
Results
Shed / barn overview
Shopping list
Every purchase-relevant quantity from every chained trade — framing lumber, roofing, sheathing, footing concrete, and siding — rolled up into one list. This is what you take to the counter.
What to buy
Formula details
- Perimeter: 2 x (buildingLength + buildingWidth)
- Total roof area: roofPlaneArea x roofPlaneCount
roofPlaneCount is 1 for mono-slope, 2 for gable — adapter multiplier, not a new formula.
- Total rafters or trusses: rafterCountPerPlane x roofPlaneCount
Roof's own rafter count is per single plane; this applies the same roofPlaneCount multiplier used for roof area.
- Footing concrete total: perFootingWasteAdjustedCubicYards x postCount
- Footing bags total: perFootingBagCount x postCount
- Gable area (when gable roof selected): 0.5 x buildingWidth x roofRise, per gable end
Warnings
- WARNING Rough Estimate: header sizes use the jobsite "span (ft) ~ lumber depth (in)" rule of thumb, not an engineered or IRC-table lookup. This is not load, species, or story-count aware. Verify with a span table or engineer before ordering.
- INFO This is a general reference only. Verify local code, loading, and manufacturer requirements.
- INFO Enter eave, rake, ridge, hip, and valley lengths to size starter strip, drip edge, cap shingles, and valley flashing. These are skipped without them.
- INFO Material estimate only. Footing depth, size, reinforcement, frost depth, and bearing capacity must be verified locally.
Per-trade detail
The shopping list above is rolled up from these. Expand a trade to see its full calculator result — quantities, formulas, assumptions, and warnings — exactly as it appears on that calculator's own page.
Room Layout
Room Layout quantities
Formula details
- Floor area: 0.5 x abs(sum(xi x yi+1 - xi+1 x yi))
The shoelace (surveyor's) formula for the area of a simple polygon, wrapping the last vertex to the first; the perimeter is the Euclidean distance summed around that same closed list. Both are mathematical identities -- no trade convention and no published source stands behind either, and none is needed.
Assumptions
Framing
Framing quantities
Formula details
- Regular studs (per story): sum(ceil(wallLengthInches / spacing) + 1)
- Corner studs (per story): cornerCount x extraStudsPerCorner
Omitted, and named as a material still to be counted, until the corner count is entered -- the wall lengths cannot imply it.
- Opening studs (per story): (doorCount + windowCount) x extraStudsPerOpening
Ordered as king and jack studs, under the same material ids the header/opening screen uses, so a job that runs both screens reports the overlap instead of buying the pieces twice. Half the allowance is booked as kings and half as jacks, which is the split that screen's own model makes at its defaults; an allowance that does not halve evenly puts the odd piece on the kings.
- Story multiplier: storyCount + (basementIncluded ? 1 : 0)
Applied to every wall-run total (studs, plates, linear feet), mirroring shed-barn.ts's roofPlaneCount multiplier pattern.
- Total linear feet: (bottomPlate + topPlate + (totalStuds x studLength)) x storyMultiplier
- Framing nails: (totalStuds x 2 x nailsPerConnection) + ceil(doubleTopPlateLapInches / nailSpacing)
Two connections per stud, one into each plate. Both rates are jobsite practice figures, NOT rows read from a fastening schedule -- an inspector's schedule outranks them. Excludes the bottom-plate fixing, which is nails to a subfloor or anchors to a slab depending on what this wall sits on.
- Blocking: wallLength x blockingRows x storyMultiplier x (1 + waste%)
Omitted, and named as a material still to be counted, until the rows are entered -- a wall's length says nothing about how many rows of blocking it carries. Measured as the full run per row; blocks cut to fit between studs come out slightly shorter.
- Joist hangers: joistCount x (hung both ends ? 2 : hung one end ? 1 : 0)
Omitted, and named as a material still to be counted, until the run says how its ends are carried. A joist hung off a ledger or a beam face takes a hanger per hung end; one bearing on top of a plate takes none, and the run's dimensions are identical either way.
- Header rough estimate: recommendedNominalDepthIn = smallest standard depth >= openingSpanFt
"span (ft) ~ lumber depth (in)" jobsite rule of thumb -- see shared/header-sizing.ts. Not code-based; verify before ordering.
- Joist deflection-limited span: L = cbrt(384 x E x I / (5 x N x u)); floors N=360 on live load and N=240 on dead+live, governing span the lesser; ceilings N=240 on dead+live
L/360 for floors is IRC Table R301.7 ("floors and plastered ceilings"), applied to the live load alone -- the basis the published floor span tables are built on; the dead-plus-live L/240 companion check is IBC Table 1604.3's D+L column for floor members. L/240 for ceilings is IRC Table R301.7's "all other structural members" row. DEFLECTION ONLY: bending and shear are not checked, so this is not the code's allowable span. The modulus-of-elasticity values behind it are AWC's published No. 2 dimension-lumber design values and have NOT been verified against the NDS supplement itself -- see shared/joist-sizing.ts for the derivation.
Assumptions
- Corner count: 4
- Extra studs per corner: 3
- Extra studs per opening: 2
- Stud size: 2x4 -- every lumber line here is ordered in this size; it does not change the stud count, which follows spacing
- Stud order: 37 x 16 ft (2 pieces per stick) — 0 ft offcut
- Plate order: 17 x 14 ft — 0.4 ft offcut
- Story count: 1
- Nails per framing connection: 2 per stud end, plus one every 16 in along a double top plate lap. Jobsite practice figures, NOT read from a fastening schedule. Counted as NAILS -- nails are sold by weight or by the collated stick, so convert at the counter.
- Blocking rows: 0 row(s), measured as the full wall run per row. Blocks cut to fit between the studs come out roughly 9% shorter at 16 in o.c., which is inside the waste allowance and left in deliberately.
- Ceiling joist ends: no ceiling joist run entered
- Floor joist ends: no floor joist run entered
- Header sizing method: Rough estimate only, from the jobsite rule of thumb that span in feet approximates lumber depth in inches. Not code-based and no IRC reference is cited for it. Kept out of purchase quantities -- verify against a span table or an engineer before ordering.
Warnings
- WARNING Rough Estimate: header sizes use the jobsite "span (ft) ~ lumber depth (in)" rule of thumb, not an engineered or IRC-table lookup. This is not load, species, or story-count aware. Verify with a span table or engineer before ordering.
Roof
Roof quantities
Formula details
- Rafter length: sqrt(rise^2 + run^2)
- Pitch: (rise / run) x 12
- Angle: atan(rise / run) x (180 / pi)
- Rafter count: ceil(roofLength / spacing) + 1
Layout arithmetic, not a published figure: one rafter at every on-center position along the plane, plus one to close the last bay. Per single roof plane -- multiply by the number of planes (2 for a gable, more for a hip) for the whole roof.
- Ridge-cut rafter length: rafterLength - (ridgeBoardThickness / 2) x (rafterLength / run)
Shortens the theoretical rafter length by the ridge board's half-thickness, projected onto the slope, so the ordered board matches the actual birdsmouth/ridge cut.
- Roof plane area: roofLength x (rafterLength + overhangDiagonal)
Single roof plane, including the overhang. Measured on the theoretical rafter length rather than the ridge-cut length: the ridge cut is where the board stops, and the covering runs over it to the ridge centerline.
- Soffit area: roofLength x overhangRun
Underside of the overhang only; zero when no overhang is entered.
- Rafter span lookup: Use verified IRC "Rafter Spans for Common Lumber Species" table row for species, rafter size, and spacing.
Roof live load 20 PSF, L/delta=180, ceiling not attached to rafters. Not a snow-load table.
Assumptions
- Pitch warning reference: IRC R905.2.2: asphalt shingles, 2:12 minimum, with double underlayment required from 2:12 up to 4:12
- Overhang included in roof area: Yes
- Ridge board thickness: 1.5 in (1.5 in default matches a standard 2x ridge board)
- Rafter span table load basis: IRC "Rafter Spans for Common Lumber Species" table: 20 PSF roof live load, 10 or 20 PSF dead load, L/delta=180, ceiling not attached to rafters. Not a ground-snow-load table.
- Rafter span measured as: Horizontal run, wall to ridge — 6.00 ft. Overhang is a cantilever past the support and is not part of the span, and the table is not indexed by sloped length.
Warnings
- INFO This is a general reference only. Verify local code, loading, and manufacturer requirements.
Shingles
Shingles quantities
Formula details
- Squares: roofArea / 100
- Adjusted squares: squares x (1 + wastePercent)
- Bundles to buy: ceil(adjustedSquares x bundlesPerSquare)
- Drip edge: eaveLength + rakeLength
- Ridge cap: ridgeLength + hipLength
Cap shingles run the ridge and every hip off the same bundle, so they are one length. A hip roof's hips are often longer than its ridge, and the roof area cannot tell them apart -- a gable and a hip roof of equal area measure the same.
- Valley flashing: valleyLength + (ceil(valleyLength / stockLength) - 1) x endLap
One end lap at each joint between 10 ft pieces. The 6 in lap is a common manufacturer installation instruction, not an IRC dimension -- the code sends you to the manufacturer's instructions for valley lining. Check your product and change it here if it differs.
- Underlayment rolls: ceil(adjustedArea / coveragePerRoll)
- Ice barrier area: (eaveLength x 3 ft per course x courses) + (valleyLength x 3 ft)
IRC R905.1.2. Required only where there is a history of ice forming along the eaves. Where it is required, each valley gets one 36 in course down its centreline -- that 3 ft is the membrane's own width, not a second assumption about how far up the valley it runs.
- Required net free vent area: atticFloorArea / 150 x 144
IRC R806.2. The 1/300 ratio applies only where BOTH exception conditions are met: 40 to 50 percent of the required ventilating area comes from ventilators in the upper portion of the attic, no more than 3 ft below the ridge measured vertically, with the balance at the eaves; and, in Climate Zones 6, 7 and 8, a Class I or II vapor retarder is installed on the warm-in-winter side of the ceiling. Otherwise the ratio is 1/150.
- Roofing nails: ceil(adjustedSquares x fastenersPerSquare)
IRC R905.2.6 sets not less than four fasteners per strip shingle, or two per individual shingle, as the minimum; six is required in high-wind areas and wherever the manufacturer says so. R905.2.5 governs the nail itself (gauge, head, penetration), not how many.
Assumptions
- Shingle type: Architectural / dimensional
- Coverage input: Bundles per square
- Estimated waste: 10% for an average project
- Underlayment coverage: 400 sq ft per roll -- a No. 15 felt roll (36 in x 144 ft) after its salvage lap. Synthetic underlayment usually ships nearer 1,000 sq ft; check the wrapper and change this.
- Valley flashing lap: valley length not entered -- valley flashing not counted
- Ice barrier: not entered -- membrane not counted
- Ice barrier roll coverage: 200 sq ft per roll -- a 36 in x 66.7 ft roll. No field for it on this screen yet; check the wrapper before ordering.
- Underlayment cap fasteners: not entered -- cap nails/staples not counted
- Ventilation ratio: attic floor area not entered -- ventilation not sized
- Ridge vent net free area: not entered -- ridge vent not counted
- Intake vent net free area: not entered -- intake vents not counted
- Fasteners: 320 per square -- four nails into each of the ~80 strip shingles a square takes at a 5 in exposure (IRC R905.2.6 minimum)
Warnings
- INFO Enter eave, rake, ridge, hip, and valley lengths to size starter strip, drip edge, cap shingles, and valley flashing. These are skipped without them.
Sheathing
Sheathing quantities
Formula details
- Sheet area: sheetWidth x sheetLength
- Base sheets: area / sheetArea
- Purchase sheets: ceil(baseSheets x (1 + wastePercent))
Assumptions
- Default panel size: 4 ft x 8 ft when unchanged
- Sheathing spec: 0.4375" OSB for roof sheathing (not a code minimum — verify local requirements)
- Estimated waste: 10% for an average project
Concrete / Footings
Concrete / Footings quantities
Formula details
- Rectangular volume: length x width x depth
- Round volume: pi x radius^2 x depth
- Cubic yards: cubicFeet / 27
- Bag count: ceil(wasteAdjustedCubicFeet / bagYieldCubicFt)
Volume yield per bag, as printed on the bag. NOT cured weight / dry bag weight -- that double-counts the mix water and over-orders by 12.5%.
Assumptions
- Bag yield: 0.6 cu ft per 80 lb bag (check the bag)
- Bag mode enabled: Yes
- Reinforcement: not entered -- no reinforcement counted
Warnings
- INFO Material estimate only. Footing depth, size, reinforcement, frost depth, and bearing capacity must be verified locally.
Siding
Siding quantities
Formula details
- Net wall area: perimeter x wallHeight + gables - openings
- Squares: netArea x (1 + wastePercent) / 100
- House wrap rolls: ceil((grossWall + gables) / coveragePerRoll)
Sized on the gross wall: the wrap is run over the openings and cut out afterwards.
- J-channel: sum over openings of 2 x (width + height)
The perimeter of each opening — head, sill and both jambs. An opening entered as an area alone has no perimeter and is not in this total.
- Siding fasteners: sidingSquares x 100 x lbPerSqFt
Vinyl Siding Institute installation manual, "How to Measure — Estimating Required Materials": multiply the total square feet of siding by 0.005 for aluminum nails, or 0.01 for roofing nails, staples and screws. A trade association's installation manual, not a code or a standard. Published for vinyl only — the other siding systems on this screen are fastened per course at each stud and are listed as a gap instead of being counted from a rate that does not cover them.
Assumptions
- Material: Vinyl
- Corner count: 4
- Estimated waste: 10% for an average project
- House wrap coverage: 900 sq ft per roll — the nominal 9 ft x 100 ft face. No seam or corner lap is deducted, so a roll covers somewhat less wall than this.
- J-channel: counted around all four edges of every opening. A door meeting a threshold takes no sill leg — deduct its width if any opening entered is a door. A takeoff convention, not a code requirement.
- Siding fasteners: Aluminum nails at 0.005 lb per sq ft of siding (Vinyl Siding Institute installation manual: 0.005 for aluminum nails, 0.01 for roofing nails, staples and screws). Switch the fastener type if you are using the other.
About this calculator
This guided flow chains the existing Room Layout, Framing, Roof, Shingles, Sheathing, Concrete, and Siding calculators from a single master input set, with optional Electrical and Plumbing Tier 1 add-ons. No math is duplicated — every number below comes from the same calculators available on their own pages.
FAQ
Do I need to re-enter dimensions for each trade?
No. Building length, width, wall height, and openings are entered once and propagate into Framing, Roof, Concrete, and Siding automatically.
Can I still see each calculator's own result detail?
Yes. Expand any trade in the Per-trade detail section to see the exact quantities, formulas, assumptions, and warnings that calculator would show on its own page.
How are footing quantities combined for multiple posts?
Concrete volume and bag count are calculated for one footing, then scaled by the post/footing count you enter for the combined material list.
What if I don't need Electrical or Plumbing?
They are optional Tier 1 add-ons. Leave them off and the combined material list and per-trade detail simply omit those sections.
Disclaimer
Material estimate only. Local code, structural design, footing depth, frost depth, and bearing capacity must be verified locally before construction.