Roofing Costs Across Canada — 2026

Published March 25, 2026

Asphalt shingle roof replacement for a typical 1,500 sq ft home ranges from $8,000 to $15,000 in New Brunswick, while similar projects in British Columbia run $12,000 to $18,000 for basic installations. The provincial cost differences reflect distinct climate requirements, building code specifications, and material sourcing that drive roofing expenses across Canada.

Provincial Roofing Cost Breakdown

Job Type Low Cost High Cost Province
Full Asphalt Shingle Replacement (1,500 sq ft) $8,000 $15,000 New Brunswick
Basic Asphalt Shingle Replacement (avg home) $12,000 $18,000 British Columbia
Standard Architectural Shingles (per 100 sq ft) $350 $550 Alberta
Impact-Resistant Class 4 Shingles (per 100 sq ft) $450 $950 Alberta
Metal Roofing Installation (avg home) $15,000 $25,000 New Brunswick
Metal Roofing Installation (Vancouver home) $18,000 $35,000 British Columbia
Standing Seam Metal (per sq ft) $12 $22 New Brunswick/BC
Slate Roofing Installation $20,000 $35,000 New Brunswick/BC
Cedar Shake Replacement (per sq ft) $15 $30 British Columbia

Alberta shows the clearest cost distinction between standard and impact-resistant materials. Standard architectural shingles cost $350 to $550 per 100 square feet, while Class 4 impact-resistant shingles run $450 to $950 per 100 square feet. This premium reflects Alberta's severe hail exposure — the province experiences the highest frequency of damaging hailstorms in Canada, making impact resistance a practical necessity rather than an upgrade.

British Columbia's higher baseline costs stem from both climate complexity and building code requirements. The BC Building Code mandates specific seismic considerations for roof structures, while coastal properties require enhanced corrosion protection. The province's $12,000 to $18,000 range for basic asphalt shingle replacement includes these enhanced specifications that aren't required in other provinces.

Metal roofing shows the widest provincial variation, from $15,000 to $25,000 in New Brunswick versus $18,000 to $35,000 in British Columbia for similar-sized homes. This gap reflects material transportation costs to BC's coastal markets and the province's preference for standing seam systems that better handle heavy rainfall. British Columbia sources show metal roofing at $15 to $22 per square foot, while New Brunswick installations run $12 to $18 per square foot for steel standing seam.

Climate-Driven Cost Factors

New Brunswick's extreme winter conditions drive specific roofing investments that don't appear in other provincial data. Ice dam protection systems cost $1,500 to $3,000, while snow guard installation adds $500 to $1,500. The province's 5 to 6-foot frost depths require enhanced structural considerations that Alberta's data doesn't reflect, despite Alberta's colder temperatures.

Coastal corrosion protection appears exclusively in maritime provinces. New Brunswick sources cite $500 to $1,200 for corrosion-resistant fasteners and flashing on coastal properties — costs that don't exist in Alberta's prairie environment. This reflects the Technical Safety Authority of New Brunswick's specific requirements for salt air exposure.

British Columbia's seismic requirements add structural costs not found elsewhere. Premium roofing projects with complex rooflines reach $25,000 to $40,000, reflecting both earthquake-resistant fastening systems required under Technical Safety BC oversight and the complex roof geometries common in hillside construction.

Alberta's hail damage focus creates unique market pricing. The $2,000 to $4,000 premium for impact-resistant shingles on a 1,500 sq ft roof reflects insurance industry pressure and Safety Codes Council of Alberta recommendations. This upgrade cost doesn't appear in other provinces where hail damage occurs less frequently.

Practical Cost Planning

Material choice significantly impacts total project costs across all provinces. Slate roofing represents the premium option at $20 to $35 per square foot in both New Brunswick and British Columbia, while basic architectural shingles provide the most cost-effective solution at $12 to $16 per square foot in BC.

Geographic factors within provinces affect accessibility costs. British Columbia sources specifically note $500 to $1,500 premiums for difficult access work on steep hillside properties in areas like North Vancouver and Burnaby — costs that reflect the province's mountainous terrain rather than building code requirements.

Timing of additional work influences total investment. Chimney re-flashing during roof replacement costs $800 to $1,500 in British Columbia, while skylight replacement runs $500 to $1,200 per unit. Combining these tasks with primary roofing work reduces mobilization costs compared to separate projects.

Methodology: Analysis based on 31 roofing cost data points aggregated from construction industry sources across Alberta, British Columbia, New Brunswick, and Ontario during 2024-2025.