Method and Sources

Checked October 14, 2026

What is observed, assumed and derived

The published asphalt unit rate is an observed source record. Your measurements, entered rates and ordering allowance are user inputs. Surface area from a footprint, roofing squares and dollar subtotals are derived values. Unknown costs remain outside the known subtotal. This tool does not inspect a roof, predict a failure date or quote work.

Equations and units

One roofing square = 100 square feet. For a simple equal-pitch roof, surface area A = eave footprint F × √(1 + (rise ÷ 12)²). For measured surface mode, A is the entered area. Mixed slopes require measured plane areas; one pitch must not stand in for all planes.

Installed low/high subtotal = A × installed low/high rate + explicitly excluded, separately entered fixed extras. No ordering waste is added to an installed surface-area rate. Labor, removal and disposal are not added again if included in a package.

Itemized low/high subtotal = A × (1 + user waste ÷ 100) × material-only rate + A × labor-only rate + A × removal/disposal-only rate + separate fixed extras. Each component must cover distinct work. A blank pair is unknown; a known pair may be zero. Waste is required in itemized mode and is not inferred from roof shape. This continuous-area model does not round to bundles, panels or sheets and must not be used as a purchase quantity list.

The form rejects missing required quantities, nonfinite or negative inputs, nonpositive area and reversed range bounds. A footprint needs a known nonnegative rise over twelve. There are no pitch, regional, inflation, access, story or damage price multipliers. Displayed money rounds to whole dollars after calculation.

National cost records and scope

Method 2.0 uses US material references from HomeGuide, Western States Metal Roofing and Angi. Each row below links the original guide and shows its published date. These are materials-and-installation ranges, without local price multipliers. Removal, deck repair, taxes, permits and unspecified assembly details remain unknown until documented. Installed roof-surface rates receive no purchase allowance.

US material and installation references; checked October 14, 2026
SystemUSD / roof-surface ft²Source and published date
Architectural asphalt shingles$4 to $6HomeGuide; November 7, 2025
Three-tab asphalt shingles$2 to $5HomeGuide; November 7, 2025
Standing-seam steel$10 to $16Western States Metal Roofing; January 11, 2026 (price basis stated by source)
Corrugated steel$7 to $12Western States Metal Roofing; January 11, 2026 (price basis stated by source)
Clay tile$8 to $25HomeGuide; April 5, 2023
Concrete tile$7 to $19HomeGuide; April 5, 2023
Natural slate$10 to $30HomeGuide; April 5, 2023
Synthetic slate$9 to $12HomeGuide; April 5, 2023
Real cedar shakes$25 to $30HomeGuide; November 23, 2025
Steel modular shingles$6 to $13HomeGuide; April 5, 2023
Aluminum modular shingles$6.7 to $16HomeGuide; April 5, 2023
Stone-coated steel$7 to $13HomeGuide; April 5, 2023
Aluminum roofing, general guide$4 to $11Angi; July 20, 2026
TPO membrane, general installation$4 to $10HomeGuide; April 19, 2024
PVC membrane, general installation$5 to $12HomeGuide; April 19, 2024
EPDM membrane, general installation$3.5 to $10HomeGuide; April 19, 2024
Modified bitumen, general installation$4 to $7.5HomeGuide; April 19, 2024

Older publication dates remain visible. A check of an older guide does not turn it into a new price survey. Review is due January 14, 2027; after that the interactive preset is disabled until renewed. HomeGuide and Angi publish consumer cost guides with commercial referral interests. Western States sells metal panels and states it does not install them. These are source interests, not endorsements.

JLC's 2025 national Cost vs. Value report provides specified-project context: $31,871 asphalt and $51,865 metal. Those averages are kept separate from unit-price ranges and are not scaled from an assumed project area. The archived Maryland record is retired from interactive and editorial defaults.

Worked example and manual worksheet

A hypothetical eave footprint of 1,200 ft² at 6:12 gives A = 1,200 × √1.25 = 1,341.640786 ft², or 13.41640786 roofing squares. Applied to HomeGuide architectural asphalt at $4 to $6 per square foot, the derived installation subtotal rounds to $5,367 to $8,050. No purchase waste or second labor line is added; removal and disposal remain unknown. Unpriced extras remain unknown. This is arithmetic from a declared source, not an observed job.

Without JavaScript, write down the area basis, material, source region/date and included work. Calculate surface area only if the footprint and pitch assumptions fit. Multiply by each end of the compatible rate. Add only explicit excluded work, and list unknown items beside the subtotal. Keep the input sheet with the result. The interactive form has a print action that includes this same information.

Decision-guide evidence

GAF roof costs explains cost drivers, not the rate above. GAF warranties and Owens Corning warranties describe specific coverage; warranty terms are not service-life forecasts. ARMA recover versus replacement explains the assembly distinction and the need for individual evaluation. NRCA roofing materials distinguishes covering families. OSHA residential construction provides roof-work hazard guidance. EPA asbestos guidance explains limits of visual identification. Source content was checked October 14, 2026.

The guides provide observations and questions, not remote diagnosis, structural approval or a universal adopted-code claim. Model-code editions differ from local adoption. Context images are credited on the image-credits page. They provide no evidence of roof age, damage or completed work.

Correction history

October 14, 2026: method 2.0 replaces the method 1.0 Maryland-only default ($5.50 to $9) with named US material references. Reason: the regional contractor example did not serve a national estimator. Scope now leaves removal and disposal unknown unless explicitly priced. Later corrections will record the old statement, replacement statement, source, reason and checked date. Use Contact and Corrections to identify a factual or arithmetic error. Return to the estimator or roof lifespan guide.

Measurement worksheets: version 2.0

The roofing calculator accepts measured net surface, a rectangular equal-pitch eave footprint or separate nonoverlapping horizontal plane areas with their own pitches. Let t = rise / horizontal run. Surface equals horizontal area × √(1 + t²). A known sloped surface receives no further pitch factor. Divide surface by 100 for roofing squares. Optional ordering area equals surface × (1 + the visitor's explicit allowance / 100). No allowance is supplied by default.

The gable worksheet uses a simple equal-pitch rectangular footprint. Each side has half the full horizontal span. Its slope length equals that half-span × √(1 + t²); each side's surface is half the total. The hip worksheet uses the same total-area factor only for the stated equal-pitch rectangular hip. Neither result supplies framing, structural loads, diagonal panel cuts or a roof-access plan.

The pitch worksheet uses t = rise / run, or tan(angle × π / 180). Rise-in-12 = 12t; degrees = atan(t) × 180 / π; percent = 100t; area factor = √(1 + t²). Rise may be zero; run must be positive. Angle must be at least zero and less than ninety degrees. The chart derives its displayed rows from those equations, with display rounding only. Geometry does not approve a roofing product's minimum slope.

Panel and shingle quantities

The metal panel worksheet supports separate rectangular planes using one panel length per plane, with no end laps, hips, valleys or diagonal cuts. Convert verified net width from inches to feet. For each plane, panels = ceiling(eave width / net width). Requested length = measured slope length + visitor-specified length allowance. Round each plane count before summing. Ordered linear feet = sum of each plane's whole count × requested length. Trim, fasteners, clips and cut-piece reuse remain outside the result. Exact product coverage source and date are required.

The shingle worksheet uses O = measured surface × (1 + explicit allowance / 100). Field bundles = ceiling(O / exact bundle coverage), or ceiling(O × exact bundles per square / 100). It preserves an exact ratio rather than first rounding bundle coverage. Whole-package rounding uses a tiny floating-point tolerance at exact integer boundaries. Starter and cap packages each use their own length / verified linear coverage, rounded up. A missing length/coverage pair stays unknown; a half-filled pair is rejected. No common bundle ratio or waste percentage is a default.

For example, assumed surface 2000 ft², explicit allowance 10% and exact ratio three bundles per square give ordering area 2200 ft² and 66 field bundles. Assumed net panel width 36 inches, eave 20 feet and slope length 15 feet with zero extra length give seven panels and 105 panel linear feet. Two separate ten-foot eaves need four panels each, not a pooled seven. These are declared arithmetic examples, not product specifications or observed jobs.

Input validation and retained records

Worksheets reject missing required fields, invalid signs, nonfinite results and incompatible supported-geometry choices. Errors identify and focus the first affected field while retaining entries. Changed inputs hide the earlier result. Output records keep the input basis, product source where applicable, equations, assumptions and unknown tasks. Print actions retain that context. With JavaScript disabled, the manual formulas remain available; no fake result is shown. No worksheet predicts roof condition, product suitability or local fees.

Editing a published range

Each published material choice pre-fills its low and high rates. The optional adjustment panel is editable. A changed range is labelled a visitor assumption, and the result retains the original source range, date and scope. Edits are remembered per material while the page is open. They do not change the stored source record or waive the review-date check. A current project quote can still use the separate user-range path.