Roof replacement cost in Canada by city (2026)
National range $10,000–$18,000 (asphalt shingle, ~2,000 sq ft roof).
- Abbotsford, BC — $10,200–$18,350
- Barrie, ON — $9,650–$17,400
- Calgary, AB — $10,300–$18,550
- Edmonton, AB — $10,100–$18,200
- Gatineau, QC — $10,650–$19,150
- Guelph, ON — $9,750–$17,550
- Halifax, NS — $9,500–$17,150
- Hamilton, ON — $9,650–$17,400
- Kelowna, BC — $10,450–$18,850
- Kingston, ON — $9,750–$17,550
- Kitchener, ON — $9,750–$17,550
- Lethbridge, AB — $10,250–$18,400
- London, ON — $10,250–$18,500
- Moncton, NB — $8,750–$15,750
- Montréal, QC — $10,500–$18,850
- Nanaimo, BC — $10,450–$18,850
- Oshawa, ON — $9,650–$17,400
- Ottawa, ON — $9,950–$17,900
- Québec City, QC — $11,000–$19,850
- Red Deer, AB — $10,250–$18,400
- Regina, SK — $10,550–$18,950
- Saint John, NB — $8,750–$15,750
- Saskatoon, SK — $9,700–$17,450
- Sherbrooke, QC — $10,650–$19,150
- St. Catharines, ON — $9,750–$17,550
- St. John's, NL — $9,650–$17,350
- Toronto, ON — $9,650–$17,400
- Trois-Rivières, QC — $10,650–$19,150
- Vancouver, BC — $10,200–$18,350
- Victoria, BC — $11,600–$20,900
- Windsor, ON — $9,750–$17,550
- Winnipeg, MB — $9,600–$17,300