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

Known inputs
Roof shape
Roof covering

Used only to flag a pitch below the manufacturer's minimum reference for this material. It does not change any shingle/panel or sheathing quantities below.

Footings

Volume is calculated per footing, then scaled by post count for the combined material list.

How you're buying it
Bag size

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.

Top plate
Basement included

Siding, shingles & sheathing waste

Coverage and waste assumptions for the exterior material takeoffs.

Shingle coverage input

Electrical Tier 1 (optional)

Toggle on to add wire footage and box counts to the combined material list.

Include electrical

Plumbing Tier 1 (optional)

Toggle on to add a single fixture run to the combined material list.

Include plumbing

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: ceil(perFootingWasteAdjustedCubicFeet x postCount / bagYieldCubicFt)

    One ceiling on the combined pour: bagged mix is divisible before it is mixed, so a partial bag carries to the next hole.

  • Gable area (when gable roof selected): 0.5 x buildingWidth x roofRise, per gable end

How these numbers read your entries

Assumptions that belong to the whole building rather than to one trade. Each stays editable — if one does not match the job, change the entry it names.

  • Roof plane count: Gable (2 planes)
  • Corner count: 4 (rectangular footprint)
  • Stud length source: Defaulted to wall height
  • Blocking rows: 0 — this template models a rectangular shell with no interior partitions, fire separation or fixture backing. Use the standalone Framing screen if this build carries blocking.
  • Post length: not asserted — the post count is ordered, the length is not, because embedment depth and eave height are not collected here
  • Roof run vs building width: Run is measured across the building width (half of it for a gable, all of it for a mono-slope). Not checked until the footprint is entered.
  • Wall height: Read as the eave-to-plate wall height. The two gable triangles above it are added separately from the roof rise, so this field is the rectangular wall only.

Warnings

  • ERROR Enter a building length greater than zero.
  • ERROR Enter a building width greater than zero.
  • ERROR Enter a wall height greater than zero.
  • ERROR Post or footing count must be zero or greater.
  • ERROR Roof plane count must be 1 (mono-slope) or 2 (gable).
  • INFO Post/footing count is zero — concrete quantities are not included.
  • ERROR Enter at least three vertices.
  • ERROR Enter at least one wall segment greater than zero.
  • ERROR Enter a stud length greater than zero.
  • ERROR Enter a roof length greater than zero.
  • ERROR Rise and run are required for the selected solve mode.
  • INFO This is a general reference only. Verify local code, loading, and manufacturer requirements.
  • ERROR Enter a roof area greater than zero.
  • 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.
  • ERROR Enter an area greater than zero.
  • ERROR Enter a depth greater than zero.
  • ERROR Diameter is required for round pours.
  • INFO Material estimate only. Footing depth, size, reinforcement, frost depth, and bearing capacity must be verified locally.
  • ERROR Enter the wall perimeter -- without it there is no wall area to cover.
  • ERROR Enter the wall height -- perimeter alone does not give an area.

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

    Warnings

    • ERROR Enter at least three vertices.
    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: not yet entered
    • Plate order: not yet entered
    • 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
    • Waste allowance: 10% -- applied to the plate stock and the blocking stock, the two lines bought by the foot. It does NOT reach any piece COUNT on this screen: wall studs, king and jack studs, joists, hangers and nails are the pieces the layout needs, with no spare for a stud culled for crown or cut short. The stud order above buys whole sticks, and its offcut is the drop left by the stock lengths the yard carries -- not a breakage allowance.

    Warnings

    • ERROR Enter at least one wall segment greater than zero.
    • ERROR Enter a stud length greater than zero.
    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 -- the whole-roof count is stated separately once the roof's plane count is entered, and is that figure times the count.

    • 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 EAVE overhang. Plane length is the entered roof length — the building length along the eave — so a gable-end (rake) overhang is not included. 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.

    • Whole-roof totals: perPlaneFigure x roofPlaneCount

      Adapter multiplier, not a new formula -- the same one shed-barn.ts applies. Scales the roof area, eave length, soffit area and rafter count from this plane to every plane, and is what the project chain publishes. Withheld entirely until the plane count is entered: it is a property of the roof, so it is asked and never assumed. Valid for a mono-slope or a gable only, where every plane shares this one's length and slope; a hip's eave is the building perimeter rather than four roof lengths, so a hip is deliberately not expressible here.

    • 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
    • Eave overhang included in roof area: No
    • Gable-end (rake) overhang: Not included. Roof plane area, ridge board and fascia are measured on the entered roof length — the building length along the eave — so any rake overhang past the gable end wall is on top of these figures.
    • Roof planes: 2 (gable) — whole-roof totals are double the per-plane figures, and are what the other calculators receive
    • 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 — not yet entered. Overhang is a cantilever past the support and is not part of the span, and the table is not indexed by sloped length.
    • Rafter span looked up at: No species group entered — the IRC span lookup did not run

    Warnings

    • ERROR Enter a roof length greater than zero.
    • ERROR Rise and run are required for the selected solve mode.
    • 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 - endLap) / (stockLength - endLap)) - 1) x endLap

      One end lap at each joint between 10 ft pieces. The piece count subtracts the lap on both sides because a lapped piece only advances the run by 10 ft minus the lap -- counting whole pieces comes out one short wherever the valley is an exact multiple of the stock length. 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

    • ERROR Enter a roof area greater than zero.
    • 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
    • Sheathing spec: 7/16" OSB for roof sheathing (not a code minimum — verify local requirements)
    • Estimated waste: 10% for an average project

    Warnings

    • ERROR Enter an area greater than zero.
    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

    Assumptions

    • Supply method: Bagged mix, mixed on site
    • Bag yield: 0.6 cu ft per 80 lb bag (check the bag)
    • Reinforcement: not entered -- no reinforcement counted

    Warnings

    • ERROR Enter a depth greater than zero.
    • ERROR Diameter is required for round pours.
    • 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) / 100
    • House wrap rolls: ceil((grossWall + gables) / coveragePerRoll)

      Sized on the gross wall: the wrap is run over the openings and cut out afterwards.

    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: not counted — an opening entered as an area has no edge to trim
    • 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.

    Warnings

    • ERROR Enter the wall perimeter -- without it there is no wall area to cover.
    • ERROR Enter the wall height -- perimeter alone does not give an area.
    Material List

    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?

    Not the building itself. Length, width, wall height, and openings are entered once and propagate into Room Layout, Framing, Roof, and Siding, and on into Shingles and Sheathing through the roof area. Two things stay their own entries because the footprint does not determine them: the footing diameter, depth, and post count that drive Concrete, and the roof run. If the run disagrees with the building width for the roof type you picked, the calculator flags the mismatch rather than silently overruling the number you entered.

    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?

    Volume and bags combine differently, on purpose. Concrete volume is one footing's waste-adjusted volume multiplied by the post/footing count you enter. Bag count is a single rounding up of the whole pour — the combined volume divided by the bag yield, rounded up once — not a whole bag rounded onto every hole and then multiplied, because bagged mix is divisible before it is mixed and what is left over carries to the next footing. Buying ready-mix by the yard states no bag count at all rather than a count of zero.

    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.