BC Step Code Requirements by Municipality
Key takeaway: Step 3 is the provincial minimum for Part 9 residential across BC, but many municipalities require a higher Energy Step and/or a Zero Carbon Step Code emission level (EL) on top of it. Climate zone and heating degree days (HDD) change what wall assembly actually passes. Always confirm the current bylaw with the local building department before you apply for a permit — municipal requirements change on their own schedules, ahead of provincial timelines.
The 2024 BC Building Code consolidated the Energy Step Code (formerly hosted at energystepcode.ca) and the Zero Carbon Step Code into one structure. Since March 10, 2025, every Part 9 permit application must comply with the consolidated code. The provincial floor is Step 3 plus Zero Carbon EL-1, but a municipality can — and many do — adopt a higher step or a higher carbon tier through a local bylaw or a Building Bylaw amendment.
This page compares what builders actually face city by city. For the cities where there is a dedicated guide, the city name links to the full breakdown (permit office, fees, local failure modes, rebate stack).
How to read this table
- Energy Step — the airtightness + energy-modelling tier (Step 3 = 2.5 ACH50, Step 4 = 1.5 ACH50, Step 5 = 1.0 ACH50).
- Zero Carbon (EL) — the operational greenhouse-gas tier. EL-1 measures and discloses; EL-2/EL-3 cap emissions; EL-4 is effectively zero-carbon (strong-electrification).
- Climate Zone / HDD — Climate Zone 4 is the mildest (coast), 5 is the Interior valley floors, 6 is the mountains and north. Higher HDD (heating degree days) means a tighter envelope and more exterior insulation to clear the same step.
- Notable local rule — anything that deviates from the bare provincial minimum.
Energy Step Code by municipality
| Municipality | Energy Step | Zero Carbon | Climate Zone / HDD | Notable local rule |
|---|---|---|---|---|
| Kelowna | Step 3 | EL-1 | CZ5 / 3,715 | $325 mid-construction blower door rebate (max 3/builder/yr) |
| West Kelowna | Step 3 | EL-1 | CZ5 / ~3,750 | Wildfire (WUI) overlays affect cladding and venting on Glenrosa/Smith Creek slopes |
| Lake Country | Step 3 | EL-1 | CZ5 / ~3,800 | Permit-fee rebate for Step 4/5 builds (Bylaw 1070) |
| Peachland | Step 3 | EL-1 | CZ5 / ~3,700 | Steep-slope lakeshore lots; stack effect on tall builds |
| Vernon | Step 3 | EL-1 | CZ5 (cold end) / ~3,900 | Elevation belts — Predator Ridge/Silver Star model as upper-CZ5 to CZ6 |
| Coldstream | Step 3 | EL-1 | CZ5 / ~3,900 | Permitted via Vernon-area trades; same North Okanagan climate |
| Armstrong | Step 3 | EL-1 | CZ5 / ~3,950 | Spallumcheen agricultural lots; larger rural footprints |
| Enderby | Step 3 | EL-1 | CZ5 / ~3,950 | Shuswap River valley; cold-air pooling |
| Lumby | Step 3 | EL-1 | CZ5 (cold end) / ~3,950 | Monashee cold-air drainage; Village vs RDNO permit boundary |
| Salmon Arm | Step 3 | EL-1 | CZ5 / ~4,000 | Shuswap lake-effect humidity; envelope drying matters |
| Penticton | Step 3 | EL-1 | CZ5 (mild end) / ~3,400 | Mildest Okanagan HDD; Naramata Bench micro-climate |
| Summerland | Step 3 | EL-1 | CZ5 / ~3,450 | Bench elevation variance above the lake |
| Oliver | Step 3 | EL-1 | CZ5 (hot/dry) / ~3,300 | High cooling load; overheating-protection rule bites here |
| Osoyoos | Step 3 | EL-1 | CZ5 (hottest) / ~3,200 | Lowest HDD in BC; design for summer overheating, not just heating |
| Kamloops | Step 3 | EL-1 | CZ5 (semi-arid) / ~3,650 | Significant cooling load; Sun Peaks builds model as CZ6 |
| Merritt | Step 3 | EL-1 | CZ5 / ~3,900 | Nicola Valley; wide diurnal swing |
| Revelstoke | Step 3 | EL-1 | CZ6 / ~4,500 | CZ6 snow loads; R-15+ exterior typical; ski-chalet complexity |
| Big White | Step 3 | EL-1 | CZ6 (alpine) / 4,500+ | Deep snow loads; treat as full CZ6 with thermal-bridge-free roofs |
| Vancouver | Step 3–4* | Zero Carbon | CZ4 / ~2,825 | Vancouver Building By-law (separate from BCBC); strong electrification + carbon limits |
| Whistler | Step 4 | advancing | CZ6 / ~4,000 | At Step 4 (1.5 ACH50) since January 2024; advancing carbon tier |
| Burnaby | Step 3 | EL-4 | CZ4 / ~2,900 | Zero Carbon EL-4 (near-zero-carbon) since January 2025 |
| Surrey | Step 3 | EL-1 | CZ4 / ~2,900 | Mandatory mid-construction blower door test at 4.0 ACH50 before insulation inspection |
| North Vancouver | Step 3+ | EL | CZ4 / ~3,000 | District/City both push carbon ahead of the provincial floor |
| Victoria | Step 3 | EL-1 | CZ4 (mild) / ~2,650 | Mildest HDD on the table; envelope is easy, modelling is the constraint |
| Langford | Step 3 | EL-1 | CZ4 / ~2,700 | Fast-growth West Shore; high-volume Part 9 |
| Nanaimo | Step 3 | EL-1 | CZ4 / ~2,900 | Mid-Island coastal; standard CZ4 |
| Squamish | Step 3+ | EL | CZ4/6 transition / ~3,000 | Sea-to-Sky corridor; coastal-to-alpine transition |
* Vancouver operates under its own Vancouver Building By-law rather than the provincial BC Building Code; its requirements are functionally at or above Step 4 with explicit carbon limits. Confirm directly with the City of Vancouver.
What this means for your build
The envelope target follows the climate zone, not the step number alone. A wall that clears Step 3 in Victoria (CZ4, ~2,650 HDD) will not necessarily clear the same step in Revelstoke (CZ6, ~4,500 HDD). The colder the zone, the more exterior insulation and the tighter the air barrier you need to hit the same modelled energy use. Run a fresh HOT2000 model on the actual city’s weather file — do not copy a spec sheet from a milder town.
Watch the Zero Carbon tier separately. Several municipalities (Burnaby EL-4, Vancouver, North Vancouver) require a carbon/electrification performance that is independent of the airtightness step. You can pass the Energy Step and still fail the local carbon requirement if you specify the wrong heating fuel.
Mid-construction testing is sometimes mandatory, often smart. Surrey requires a mid-construction blower door test at 4.0 ACH50 before the insulation inspection. Even where it is optional, a pre-drywall test catches leaks while they are still cheap to fix — after drywall, the cost to remediate a failed envelope multiplies. See pre-drywall air sealing.
Overheating protection is now a code requirement. Since 2024, at least one living space must be designed to stay below 26°C in summer. In the hot/dry South Okanagan (Oliver, Osoyoos) and semi-arid Kamloops, this rule drives design more than the heating side does.
Heading toward Step 4
Step 4 (1.5 ACH50) is expected to become the provincial minimum around 2027. Municipalities already at Step 4 — Whistler since 2024 — show what is coming. Builders capturing higher FortisBC rebates today by building above the local minimum are also de-risking that transition. The practical move in any jurisdiction: build tighter than today’s bylaw requires, test mid-construction, and use the data to dial in your air sealing before Step 4 lands.
Verify before you apply
Municipal requirements change on local schedules. This table reflects the situation as of the date above and is a starting point, not a permit document. Before you finalize a design or submit a building permit application, confirm the current Energy Step, Zero Carbon tier, and any mandatory testing directly with the municipality’s building department and your registered energy advisor.
- Compare ACH50 targets by step level
- Review the Step Code compliance checklist
- See how to hit 1.5 ACH50 on wood-frame builds