How it works
Roof area = footprint area × pitch factor; required squares = roof area × waste factor ÷ 100 square feet.; material = unrounded purchase quantity × entered unit price; middle = material + labor + delivery; low/high = middle × (1 ∓ variation/100).
Enter dimensions, an appropriate purchasing allowance and supplier-specific yields. Use the displayed purchase unit consistently. The US page starts with US customary dimensions and USD prices. The metric selector changes measurement units, not currency or local construction rules.
Input query strings and outputs
Use an input name in this page’s URL as ?name=value, and join additional inputs with &. Portable shared links may instead use the compact ?ac= state parameter.
Input query strings
9-
?unitSystem=Dimension unitsChoice · Optional · Default: imperial · Accepted values: imperial, metric
-
?area=Footprint area (ft² / m²)Number · Optional · Default: 2,000
-
?pitch=Roof Pitch (rise per 12ft)Number · Optional · Default: 4
-
?wastePercent=Purchasing allowance (%)Number · Optional · Default: 10
-
?bundlesPerSquare=Supplier bundles per roofing squareNumber · Optional · Default: 3
-
?unitCost=Material price (USD / roofing square (100 ft²))Money · Optional · Default: 0
-
?laborCost=Total labor allowance (USD)Money · Optional · Default: 0
-
?deliveryCost=Delivery allowance (USD)Money · Optional · Default: 0
-
?costSpreadPercent=Low/high variation around entered subtotal (%)Percentage · Optional · Default: 15
Outputs
13-
squaresRoofing squaresNumber · Primary output
-
bundlesWhole bundlesNumber
-
totalAreaRoof area with allowance (ft²)Number
-
squareMetresRoof area with allowance (m²)Number
-
materialCostMaterial costCurrency · Currency: USD
-
laborCostLabor allowanceCurrency · Currency: USD
-
deliveryCostDelivery allowanceCurrency · Currency: USD
-
unitRateEntered USD rate / roofing square (100 ft²)Currency · Currency: USD
-
estimatedTotalEntered subtotalCurrency · Currency: USD
-
costLowLow budget scenarioCurrency · Currency: USD
-
costMidMiddle budget scenarioCurrency · Currency: USD
-
costHighHigh budget scenarioCurrency · Currency: USD
-
pricingStatusPricing statusText
Worked example: illustrative US-dollar assumptions
A flat 1,000 ft² footprint with 10% allowance is 11 roofing squares. At an illustrative $120 per square, materials are $1,320. Add $900 labor and $80 delivery for $2,300; the ±15% budget scenarios are $1,955 and $2,645.
These are arithmetic examples, not researched regional prices. Load the worked example.
Limitations
Planning quantities and user-entered USD costs, not a contractor quote, structural design or code approval. Default prices are zero (unpriced); enter your supplier and labor quotes. New changes await independent review.
The unit-price field is never a regional cost index. Labor and delivery are separately entered totals. Low and high outcomes are a sensitivity check around your own quote, not promises that a contractor can complete the work within that range. Verify product coverage, actual site dimensions, minimum order sizes and waste before buying.
Frequently asked questions
What does a zero price mean in the roofing estimate?
It means the corresponding item has not been priced. Quantities can still be useful, but a zero subtotal must not be treated as free materials or a real quotation.
Where do the roofing low and high budgets come from?
They apply the adjustable percentage to your material, labor and delivery subtotal. They are scenarios using your assumptions, not local market-price evidence or statistical confidence limits.
How do metric dimensions affect this roofing calculation?
The selector converts dimensions already entered. The engine uses consistent underlying units. USD prices retain the purchasing unit printed on their labels; changing dimensions does not convert a per-yard price into a per-metre price.
Sources
NIST SI conversion factors — accessed 10 September 2026
GAF manufacturer shingle specifications — accessed 10 September 2026