Pressure-treated wood
Optional independent rate; enter both ends to calculate.
Optional independent rate; enter both ends to calculate.
No rates configured.
No cost estimate yet. Enter at least one complete low/high cost assumption.
320 ft² · Composite · Professional installation
Height context: Ground level. Railing: None. Stair sets: 0.
Not configured, excluded: Materials, Professional labor, Height/complexity allowance, Other/permit allowance. This may be a partial project estimate.
This range reflects only your configured assumptions. It is not local pricing, a contractor offer or evidence of what a project should cost.
No structural design, joist/beam sizing, footing or post sizing, load checks, ledger attachment, railing/code requirements, stair geometry/code, permit determination, labor availability or site assessment is provided. Demolition, delivery, tax, financing and other costs are excluded unless you explicitly include them in an entered allowance. No construction approval or exact contractor pricing is implied.
Enter independent material rates. Every row keeps the same area, project mode, labor, railing, stairs and other allowances. These are entered scenarios, not a material ranking. Blank pairs are not calculated.
Optional independent rate; enter both ends to calculate.
Optional independent rate; enter both ends to calculate.
No rates configured.
Optional independent rate; enter both ends to calculate.
Optional independent rate; enter both ends to calculate.
No rates configured.
Optional independent rate; enter both ends to calculate.
Optional independent rate; enter both ends to calculate.
No rates configured.
Optional independent rate; enter both ends to calculate.
Optional independent rate; enter both ends to calculate.
No rates configured.
This range reflects only your configured assumptions. It is not local pricing, a contractor offer or evidence of what a project should cost.
No structural design, joist/beam sizing, footing or post sizing, load checks, ledger attachment, railing/code requirements, stair geometry/code, permit determination, labor availability or site assessment is provided. Demolition, delivery, tax, financing and other costs are excluded unless you explicitly include them in an entered allowance. No construction approval or exact contractor pricing is implied.
Material and height are labels only. Currency changes relabel numbers without FX conversion. No local prices, location inputs, retailer data or contractor leads are used.
Model deck costs from your own material, labor, railing and stair assumptions. Compare materials, DIY and an entered quote without local price estimates.
For a rectangular deck, enter width and length; area = width × length. If you already have a measured area, choose I know my area. This estimator does not draw irregular shapes or measure a site. Known area must represent the scope you intend to price.
Use decimal feet/ft² or meters/m². A unit change converts physical measurements and inversely converts material, labor, railing and comparison rates so the modeled cost is preserved. Lump sums and the quote do not change. Switching from dimensions to known area carries over the calculated area; switching back restores your last dimensions rather than inventing a shape.
This deck cost estimator has no local price data. Every monetary field starts blank. Material selections describe your scenario; they do not populate prices or imply that one material costs more. Ground level, Raised, Second story and Other are context labels without automatic multipliers.
Open Cost assumptions to enter a low/high pair for each component you want included. Two blank fields omit that component; a half-filled pair is an error. Explicit zero rates are allowed. The primary result identifies unconfigured components so a partial estimate is not mistaken for a complete project budget.
Material low/high = area × entered material low/high rate. Professional labor low/high = area × entered labor low/high rate. Railing low/high = entered railing length × entered linear rate. Stairs low/high = number of stair sets × allowance per set. Configured height/complexity and other/permit allowances are added as lump sums.
Monetary accounting rounds each component to the nearest cent once after multiplication, with machine-level tolerance at half-cent boundaries. Low and high totals sum integer cents separately, making the displayed breakdown reconcile exactly. The range combines all entered low endpoints and all entered high endpoints; it is not a statistical confidence interval.
Midpoint = (total low + total high) ÷ 2. It is the center of your assumption range, not the most likely outcome. Cost per area = the corresponding total ÷ deck area. It includes every configured active component, including lump sums, rather than only the material rate. Midpoint and unit costs are rounded for display; they do not feed back into totals.
DIY excludes only the entered professional labor component. Material, railing, stairs and both lump-sum allowances remain included. DIY does not automatically price your time, tools, equipment or help. Labor assumptions remain visible and editable for the professional comparison, even in DIY mode.
When labor is configured, the scenario section shows the other mode using the same model. The difference reflects removal or addition of that labor allowance only. It is not a promise of savings or a recommendation to perform the work yourself.
Choose Enter railing length and supply a linear rate pair to include railing. None excludes and clears railing length/rates. Stair counts are sets, not steps, rises or runs. Enter one low/high allowance per set; the estimator does not calculate stair geometry.
A height/complexity allowance is included only when you enter its pair, regardless of the height label. Other/permit allowance can represent additional costs you choose to aggregate. Neither allowance establishes permit fees or construction requirements. Avoid double-counting costs already included in a material or labor rate, and ensure all assumptions use the same scope.
Pressure-treated wood, Cedar, Composite and PVC comparison rows have separate, initially blank material rates. A configured row replaces only the main material rate/context and keeps the same area, mode, labor, railing, stairs and allowances. Invalid comparison rows pause independently; they do not replace a valid main estimate.
Modeled midpoint differences compare entered scenarios with the main result. Railing and stair removal scenarios appear only when those components have an active quantity and configured rates. No material is ranked. A computationally excessive scenario reports its own limit error instead of changing the main total.
An optional quote is rounded to cents and compared with the modeled endpoints. Inclusive endpoints are inside the range; outside quotes show the difference above the high or below the low. At least one active cost component is required before a comparison is meaningful.
This does not determine whether a quote is fair, overpriced or a good deal. The modeled range is not market-price truth. Compare scope, quantities and inclusions yourself; no contractor data is requested or evaluated.
The following invented, editable numbers demonstrate arithmetic. They are not market rates, defaults or claims about any material: a 16 × 20 ft deck (320 ft²), professional mode, material 10–15 USD/ft², labor 5–8 USD/ft², 40 ft of railing at 20–30 USD/ft, one stair set at 300–500 USD, other/permit allowance 100–200 USD and complexity allowance 0–400 USD.
Materials contribute 3,200–4,800 USD, labor 1,600–2,560 USD, railing 800–1,200 USD and stairs 300–500 USD. With the two lump sums, the modeled range is $6,000.00 – $9,660.00, midpoint $7,830.00. DIY removes only the 1,600–2,560 USD labor component. The interactive form starts with these dimensions but all monetary fields blank.
Canonical lengths are meters and area is m². Dimensions: 0.1–100 m; area: 0.01–10,000 m²; railing: 0–1,000 m; stairs: whole sets 0–20. Material/labor rates are bounded at 1,000,000 currency units per m²; railing at 1,000,000 per m; stairs at 1,000,000 per set; each lump sum at 1,000,000,000. Totals and quote are bounded at 10,000,000,000. These are computational safeguards, not realistic project ranges.
Every configured pair requires finite, nonnegative low and high with low ≤ high. Plain decimal input accepts no commas, fractions, exponents or evaluated expressions, and is limited to 32 characters. Required geometry cannot be blank. Inactive size fields, disabled railing and zero-set stair assumptions are excluded from the accepted estimate.
No structural design, joist/beam sizing, footing or post sizing, load checks, ledger attachment, railing/code requirements, stair geometry/code, permit determination, labor availability or site assessment is provided. Demolition, delivery, tax, financing and other costs are excluded unless you explicitly include them in an entered allowance. No construction approval or exact contractor pricing is implied.
Currency choices are labels only: USD, EUR, GBP, CAD or AUD. Changing the label preserves every numeric assumption and is not FX conversion.
Copy Estimate includes accepted area/context, range, midpoint, cost per area, active breakdown, railing/stairs, configured allowances, active quote comparison and limitations. It excludes raw drafts, comparison drafts and inactive labor costs. A denied or unavailable clipboard exposes labeled selectable text with status feedback.
Print Estimate uses the browser print dialog and scoped styles for the result, breakdown, configured comparisons, quote and limitations. Reset restores 16 × 20 ft, Composite, Professional, Ground level, no railing or stairs, and USD; it clears all monetary pairs, comparisons, quote and copy feedback, then focuses width.
No ZIP/postcode, contact details, accounts, location tracking, storage, analytics, Share, URL state or calculation networking is used. Assumptions stay in tab memory unless you explicitly copy or print them.
The model multiplies area by material and professional labor rates, railing length by its rate, and stair sets by their allowance. It adds configured lump sums, rounds each component to cents and sums the low and high endpoints separately.
The estimator has no current market prices. Your entered ranges define the scenario. Changing the material label does not supply or change a price; comparison materials need their own independent rates.
No. There is no location input, local-price lookup or contractor API. The output is based only on quantities and monetary assumptions you enter.
Professional includes configured labor. DIY removes that component only and keeps every other entered cost. It does not value your own time or tools, and the resulting difference is not guaranteed savings.
With railing enabled, entered length multiplies a low/high cost per linear foot or meter. The tool does not determine how much railing is required or whether a design complies with code.
A bounded whole number of stair sets multiplies a user-entered allowance per set. There is no automatic price, step count, height calculation or stair-code assessment.
It is the arithmetic average of your modeled low and high totals. It does not represent a median market price, a probability estimate or the amount a contractor will charge.
It divides the total of every configured active component by deck area. Railing, stairs and lump sums therefore affect it. Unconfigured categories are excluded and listed; the metric equivalent is available through unit conversion.
Your entered quote is checked against the inclusive modeled range. If outside, the difference from the nearest endpoint is shown. This is a scope-dependent arithmetic comparison, not a judgment about value or fairness.
No. Costs require entered assumptions; professional labor also requires Professional mode. A permit allowance does not establish permit requirements or fees. Structural design, code compliance and construction approval are outside this estimator.
Reviewed September 27, 2026 for entered-assumption arithmetic, not market-price or professional construction approval. NIST: SI conversion factors (opens in a new tab) supports the international foot conversion used here: 1 ft = 0.3048 m, with its squared factor for area. No pricing source, regional multiplier or market forecast is used.