Skip to content

Home project cost

How Much Does It Cost to Replace a Roof?

Replace roofing on an average 1,800 sq ft single-story home

How Much Does It Cost to Replace a Roof?

DIY range

$1,500-$4,000 (materials only, if self-installed)

Professional range

$8,000-$25,000

What drives the cost

  • Roofing material — asphalt shingle, metal, tile, or slate
  • Roof pitch and number of stories, which affect labour and safety equipment
  • Tear-off of existing layers vs roofing over
  • Decking repair if rot or damage is found underneath

Roofing is one of the few projects on this list where the DIY range mostly reflects a homeowner comfortable with the physical risk and code requirements — most insurers and manufacturers void warranties on self-installed roofs, and steep or multi-story roofs are a real fall hazard.

MaterialInstalled cost per square (100 sq ft)
Asphalt shingle (3-tab)$350-$550
Asphalt shingle (architectural)$450-$750
Standing seam metal$800-$1,600
Concrete/clay tile$1,000-$2,200
Slate$1,500-$3,000

Put this into practice

More cost guides