How much does a new roof cost?
A new asphalt-shingle roof typically costs about $4.50–$9 per square foot installed — roughly $450–$900 per roofing "square" (100 sq ft). For a typical 1,700 sq ft roof, that's about $8,000–$15,000+. Material, roof pitch, tear-off, and your region all move the number, so treat these as planning ranges.
Cost breakdown
Roofers price by the "square" (100 sq ft of roof area). Here's where the money goes (US estimates):
| Item | Typical cost |
|---|---|
| Architectural shingles (materials) | $1.50–$3 / sq ft |
| Underlayment, drip edge, flashing | $0.50–$1 / sq ft |
| Labor | $2–$5 / sq ft |
| Tear-off of old roof | $1–$2 / sq ft |
| Metal roof (installed, alternative) | $8–$16 / sq ft |
Estimate the materials first
Use our roofing calculator to turn your roof size and pitch into squares and bundles of shingles, then add labor from the ranges above.
Open the Roofing CalculatorWhat changes the price
- Pitch & height. Steep or tall roofs are slower and riskier to work on, raising labor.
- Tear-off & layers. Removing old shingles (especially multiple layers) adds cost and disposal fees.
- Complexity. Hips, valleys, dormers, and skylights mean more flashing, cuts, and labor.
- Material. Asphalt is cheapest; metal, tile, and slate cost considerably more but last longer.
Should you DIY?
For most homeowners, no. Roofing is genuinely dangerous and mistakes cause leaks that damage the whole house. DIY can save the labor portion on a low, simple roof, but for anything steep or complex, hire a licensed, insured roofer and get at least three quotes — confirm whether tear-off and disposal are included.