Skip to content

Roof replacement cost calculator

The national average for a roof replacement is $10,000, and almost nobody pays it. The useful number is a range built from your square count, your material and how much old roof has to come off first — which is what this calculator produces, with the takeoff visible underneath.

Two-colour print of a replacement job in progress
Half stripped, half laid — the two halves of the price.

How the estimate is built

Squares × installed cost per square foot gives the covering. Tear-off is priced separately because it is priced by the layer: $50 per square for a straightforward single layer, up to $150 per square when there are two or three layers, or when the old covering is tile or slate and the dumpster fills by weight rather than volume. Steep and cut-up roofs then take a labour premium on top, because the crew is staging instead of walking.

What the range does not include

Deck repair is the honest unknown. Nobody sees the sheathing until the shingles are off, and a soft deck adds per-sheet cost that no estimate can predict. Permits, chimney reflashing, gutter replacement and skylight curbs are all separate lines — see the permit guide and the chimney flashing costs.

Read the range, not the midpoint

A wide band is not vagueness — it is the honest spread between a plain gable in a low-cost market and a cut-up roof in a high-wage one. Narrow it by fixing the variables you know: your exact square count from the square calculator, and your state’s labour level from the wage data.

A worked example

Twenty-one squares of architectural asphalt, one layer to strip, moderate pitch. Covering runs $9,975 to $39,375; tear-off adds $1,050 to $3,150. The top of that band is a premium designer shingle in an expensive market — for a mainstream laminate in a median market, expect the lower third. Compare the same roof in metal on the metal cost calculator.

Sources

  1. Fixr, Roof Replacement Cost (updated 4 February 2026) — read 2026-09-04
  2. Fixr, Slate Roof Installation Cost (updated 21 January 2026) — read 2026-09-04