5,000
heating degree-days
Calgary sits in climate zone 7A, the second-coldest category the code uses. This drives the insulation and eave-protection rules.
24/7 Emergency Roof Repair in Calgary
(403) 390-3076Every roof in Calgary is governed by one rulebook: the National Building Code – 2023 Alberta Edition (NBC(AE)), in force across Alberta since May 1, 2024. It runs over 1,300 pages. You don't need to read it. You need to know the dozen rules that decide whether your roof sheds water for 25 years or leaks by year three.
We work to this code every day on Calgary roofing work across all four quadrants. Here's what it actually says – in plain language, with the section numbers so you can hold any contractor (including us) to it.
Section 9.26.1.2 gives every roof three jobs: effectively shed water, keep water and moisture out of the building, and minimize water getting in from ice damming. That last one was written for winters like ours. Everything below – slopes, membranes, flashing, ventilation – exists to serve those three jobs.
Three Calgary numbers from the code's climate tables set the stage:
5,000
heating degree-days
Calgary sits in climate zone 7A, the second-coldest category the code uses. This drives the insulation and eave-protection rules.
1.1 kPa
ground snow load
About 23 lb per square foot — what your roof structure is designed to carry through a Calgary winter.
0.48 kPa
hourly wind pressure (1-in-50)
Below the 0.8 kPa threshold where the code demands upgraded fastening, so standard nailing patterns apply here.
Table 9.26.3.1 sets a minimum slope for every roofing type. The ones that matter in Calgary:
This is the rule behind most "flat" roof failures we see: someone shingled a slope that should have been membraned. If your roof pitch is below 2/12, the code points you to a membrane system – exactly what we install in our flat roof repair in Calgary work. And even a "flat" roof must slope: positive drainage to drains or scuppers is the code's baseline (9.26.3.1. and 9.26.18.).
The code has a second lever here: Sentence 9.26.2.2.(1) makes the manufacturer's written instructions legally binding for how roofing materials are installed. Malarkey, the shingle maker we install most, asks for more than the code on low slopes. Between 2/12 and 4/12, Malarkey's application calls for underlayment laid in double coverage – each course half-lapping the one below, so every part of the deck sits under two plies instead of one.
Malarkey also lists an optional installation for low-slope roofs: in coastal regions, areas of wind-driven rain, or homes with double-slope construction, the entire deck can be covered with a double layer of Arctic Seal® self-adhering underlayment (or equivalent conforming to ASTM D1970). That's superior protection, not a requirement – and Malarkey's own instructions add a condition we'd underline: choose it only once ventilation and moisture control are addressed, because a fully sealed deck that can't dry inward puts all the drying load on the attic side.
Skip the manufacturer's spec and the roof might still pass code – but the shingle warranty dies on the deck. Code is the floor. The warranty lives above it, and that's the standard we install to.
The code calls it eave protection (Section 9.26.5). On shingle, shake and tile roofs it must run from the roof edge at least 900 mm (3 ft) up the slope, reaching a line at least 300 mm (12 in) inside the inner face of the exterior wall. Self-sealing modified bituminous membrane – what everyone calls ice and water shield – is one of the four accepted materials (CSA A123.22).
In plain terms: standing in your attic, the membrane starts out at the roof edge, crosses the overhang, passes the top plate of the exterior wall, and continues at least 12 inches past it toward you – so any water backed up behind an ice dam is still sitting on membrane by the time it's over your living space. On a typical Calgary eave (2-ft overhang plus wall thickness plus 12 inches), that adds up to more than the 900 mm minimum – which is why a proper install often takes more than one course of membrane. Both conditions must be met; the deeper your overhang, the further the membrane runs.
The code waives it only in regions with 3,500 or fewer degree-days. Calgary has 5,000. So in Calgary, eave protection is mandatory, with narrow exceptions: unheated garages, carports and porches, roof overhangs deeper than 900 mm, and slopes of 1 in 1.5 or steeper.
If a quote for a Calgary re-roof doesn't include ice and water shield at the eaves, that's not a lean bid. That's a code violation waiting for its first ice dam, rotting your roof deck's perimeter sheathing and soaking the wall-top insulation until it shows as ceiling stains along your exterior walls.
The code is specific to the millimetre (9.26.7.4. and 9.26.2.3.):
Under the shingles, the roof deck itself is fastened to code too: sheathing nailed every 150 mm (6 in) along panel edges and 300 mm (12 in) on intermediate supports (Table 9.23.3.5.-A).
One thing the code does not require: impact resistance. The code sets a floor for wind and water, not hail. Class 4 shingles (UL 2218 impact rating) are an above-code upgrade – which is exactly why insurers reward them in our hail belt. We cover the insurance math in our hail damage roof repair in Calgary service, including Class 4 upgrades on claims.
Section 9.26.4 dedicates nine articles to flashing. The highlights:
Skylights get their own treatment: the code (Section 9.7) requires them to resist snow loads, precipitation and air leakage as installed – and in our climate zone, the shaft around a skylight must be insulated to full wall levels (9.36.2.6.(4)). Most "skylight leaks" we diagnose are actually flashing or condensation failures at these details – the first thing we check on any skylight call.
The manufacturer rule from earlier applies here too. We install VELUX skylights to the letter of VELUX's EDL flashing instructions: the frame wrapped in VELUX self-adhering skylight underlayment with water-shedding laps over the roofing underlayment, step flashing interwoven piece by piece with each shingle course, and the skylight cladding counter-flashed over all of it. VELUX voids its "No Leak" installation warranty the moment those steps are skipped – so the wrap-flash-counterflash sequence isn't our preference, it's the condition your warranty stands on.
Section 9.19 requires venting wherever insulation sits below the roof sheathing:
In Calgary, this isn't paperwork. An attic that can't breathe frosts up in a cold snap and "rains" indoors when the chinook hits – the root cause behind most of the winter ceiling drips we trace in attic rain diagnosis and repair. Blocked soffits and missing baffles are code deficiencies with a ceiling stain attached.
Malarkey looks at the same attic and asks for more. Their baseline is 1/150 – double the code's venting. They'll accept 1/300, but only when the venting splits roughly half and half: intake at the soffits, exhaust up near the ridge. That's tighter than the code's 25% top, 25% bottom – and the reason is simple. Air has to come in low and leave high, or it doesn't really move at all.
Here's the part most homeowners never hear: Malarkey's warranty excludes shingle damage caused by inadequate ventilation. A starved attic hits you twice – attic rain in February, a denied warranty claim in spring. One exception worth knowing: unvented "hot roofs," like spray-foamed decks, play by different rules. We call Malarkey Technical Services on those before a single shingle goes on.
For new construction and renovations under the energy section (9.36.2.6., zone 7A):
Older Calgary homes were built to far lower numbers and aren't required to retroactively comply – but every layer you top up pays back in heating costs and attic-rain prevention. Our rule on attic work: air-seal first, then insulate to R-50 or better.
For a straight like-for-like replacement – old shingles off, new shingles on – the City of Calgary does not require a building permit for most repair and replacement of roof material. That changes when structure changes: cutting a new skylight opening, repairing hail- or water-damaged framing, or altering rooflines can trigger a building permit. When in doubt, one call to the City's Planning Services Centre (or to us) settles it before work starts.
Worth knowing on top: the City of Calgary has offered a Resilient Roofing Rebate for homeowners upgrading to impact-resistant Class 4 roofing – check current availability, because in hail-prone quadrants it has meaningfully offset the upgrade cost.
The code is a minimum, not a target. Legally, every roofer in Calgary must hit these numbers. In practice, the failures we're called to fix – shingles on a 2/12 slope, missing eave membrane, valleys without metal, choked soffits – are code failures. You now know enough to spot them in a quote.
If you'd rather have it in writing, a photo-documented roof inspection in Calgary from Kole or Vlash checks your roof against exactly these code points and hands you the photos. And for the questions homeowners ask us most, our Calgary roofing FAQ goes deeper on costs and timelines.
Written with Kole Perkeqi & family
Founder, Vami Roof Repair Ltd. · 15+ years on Calgary rooftops
This guide simplifies the National Building Code – 2023 Alberta Edition (Division B, Part 9) for homeowners. It isn't a legal interpretation. For rulings on a specific project, consult the City of Calgary or a Safety Codes Officer. Code references: 9.26.1–9.26.18, 9.19.1, 9.23.3.5, 9.36.2.6; City of Calgary permit guidance at calgary.ca.
The National Building Code – 2023 Alberta Edition, in force province-wide since May 1, 2024. Residential roofing falls under Part 9, mainly Section 9.26 (roofing), 9.19 (attic venting) and 9.36 (energy efficiency). Calgary doesn't have a separate roofing code; the City enforces the provincial edition.
1 in 6 (about 2/12), and only with a special low-slope application using triple coverage and cemented tabs. Normal shingle application requires 1 in 3 (about 4/12) or steeper. Below 1 in 6, the code requires a membrane system such as SBS torch-on, not shingles.
Yes. Eave protection must extend at least 900 mm up the slope from the roof edge and at least 300 mm past the inner face of the exterior wall (Section 9.26.5). The code's exemption for mild regions (3,500 degree-days or fewer) doesn't apply here – Calgary has 5,000.
At least 4 nails per metre-wide shingle, placed 25–40 mm from each end and at least 12 mm above the cutouts, using roofing nails with 9.5 mm heads that penetrate through the roof sheathing or at least 12 mm into it.
No. The code sets no hail-impact requirement – it's a minimum standard for wind and water. Class 4 (UL 2218) shingles are an above-code upgrade, which is why many insurers discount premiums for them and why the City of Calgary has offered rebates for impact-resistant roofing.
Unobstructed vent area of at least 1/300 of the insulated ceiling area – doubled to 1/150 for low-slope or cathedral-style roofs – with at least 25% of venting high, 25% low, and 63 mm of clearance kept above the insulation so air can move.
Book a free assessment and we'll check your roof against exactly these code points – slopes, membrane, flashing, venting – with photos and plain-language answers.
Get Kole's Honest Assessment, FreeReal reviews from Calgary homeowners on Google.