Stairs & Railings

  • What this is: how interior stairs and guards/handrails work, what BC Building Code requires for safety, and what an owner can do vs. what needs a carpenter or permit — for any BC home.
  • Not: exterior deck railings (structural/waterproofing concerns are different); ramps and accessibility provisions (BCBC s. 3.8); stair carpet and treads as a floor-finishing question (see paint-finishes (Home Systems)); fire-rated stair enclosures in mid-rise strata buildings.
  • Figures: 2025–26 Metro Vancouver estimates — get your own quotes.

Bottom line

The rule (tripwire)

  • If a guard or handrail moves when you push it — test it now. A loose guard that has pulled out of its anchorage is a fall waiting to happen. Owner scope: re-anchor it properly (see procedures below), or call a carpenter. Do not defer.
  • If the guard or handrail fails a firm push-and-pull test → call a carpenter before using the stairs regularly. A guard that fails the structural load test (0.5 kN/m distributed, 1.0 kN concentrated per BCBC 9.8.8) needs proper structural fixing, not a temporary tighten.1
  • If stairs are irregular — different-height risers or different-depth treads within the same flight → flag it. Variation >5 mm between steps in a flight is a code violation (BCBC 9.8.4.2) and a documented trip cause.2
  • If balusters are spaced more than ~100 mm apart, or a child could fit through → that is a code violation and a child-safety hazard. The 100 mm sphere rule (BCBC 9.8.8.5) is non-negotiable. Fix or replace.1

Recurring upkeep

  • Check every guard and handrail annually — push firmly in both directions. Any movement means the anchorage has started to fail.
  • Look for newel posts that rock. A rocking newel is often the first sign the base attachment is loosening; easier to fix at stage 1 than after a fall.

One-time setup

  • If your home was built before 1990, don’t sand or strip painted railings without a lead test first. Health Canada confirms consumer paints were virtually lead-free only by ~1990;3 sanding pre-1990 painted wood creates toxic lead dust. Stairs and railings are explicitly named as high-risk surfaces.
  • Confirm strata bylaw responsibility before doing any railing work. Standard Bylaw 8(e) assigns common-area fences, railings, and similar structures to the strata corporation; your registered bylaws may differ. If the stairs or guard serve your unit only (interior unit stairs), that is almost always owner scope.4

Standing facts

  • Installing a new guard or replacing one in a changed design or material in Vancouver requires a building permit. Like-for-like replacement on a single-family home may be permit-exempt; check with your municipality.5
  • A non-conforming stair — one that was built before a code change and doesn’t meet current dimensions — does not automatically need to be brought up to today’s code. But if you alter or rebuild it, current code applies to the altered portion.6
  • An interior stair serving one dwelling unit that has a drop less than 1.8 m (6 ft) can use a 900 mm guard. Drops of 1.8 m or more require 1,070 mm.1

How it works — the one thing that matters

A stairway has two independent safety systems working in parallel, and owners routinely confuse them:

The guard is the barrier that stops you from falling off the side or open edge of a stair flight or landing. It is a structural element — it must resist a person falling into it at speed. BCBC requires the top rail to resist a 0.5 kN/m distributed horizontal load and a 1.0 kN concentrated point load.1 A guard that is not anchored into structure (framing, concrete, or a properly bolted newel into the floor framing) cannot meet that load — it will fail under the one impact it exists to stop.

The handrail is the thing you grip as you walk up or down. It runs continuously along the stair flight and gives you something to catch yourself with if you slip. Code requires it to be graspable — a round or near-round profile 30–43 mm in diameter7 — not just a flat board you can touch. A flat 2×4 on edge is a guard element, not a handrail. Many older stairs have a top rail that is neither graspable nor properly loaded as a structural guard.

So what: the primary in-home fall hazard is not “no railing” — it is a railing that looks intact but is not anchored. A guard that gives 50 mm when pushed is providing near-zero protection. The anchorage to structure is everything. → The Loose Guard Is the Load-Bearing Failure Mode for Stairs (Home Systems)

The dimensional consistency point: BC Building Code Section 9.8.4.2 limits riser variation within a flight to ≤5 mm.2 This exists because the human foot learns the step rhythm of a stair and falls when a step is unexpectedly different. Consistent stairs are safe stairs even at the code minimum dimensions (max 200 mm rise, min 210 mm run for private residential stairs).28

What goes wrong, and the warning signs

Watch forWhat it means
Guard moves under a firm push or pullAnchorage has failed — loose newel, pulled lag screw, or rotted framing below
Newel post rocks at the baseBase connection loosening — earlier stage than full guard failure
Handrail not continuous along the flightCan’t use it to catch yourself mid-fall; code violation on any stair with >2 risers7
Baluster gaps >~100 mm anywhere in the guardChild can fit through — code violation (BCBC 9.8.8.5); fix or replace1
Risers that are noticeably different heights>5 mm variation is a code non-conformance and a trip hazard2
Slippery treads (especially hardwood with no nosing treatment)Tread surface failure — the second most common stair injury cause
Chipped or peeling paint on older railingsPre-1990 painted wood: lead exposure risk when disturbed3
Guard height looks shorter than shoulder height at a dropMay be non-conforming — verify against 900 mm / 1,070 mm thresholds1

What actually fails (the load-bearing failures):

  • Loose guard / failed anchorage — the dominant failure. A guard that has started to pull from its base will eventually come away under a body impact. Lag screws into end grain, posts toenailed to trim, and guards screwed into drywall rather than structure all fail this way.
  • Non-graspable handrail — a flat board that can be touched but not gripped; useless in an actual slip.
  • Irregular risers — a step that is 30 mm taller than the others causes a predictable stumble. Often introduced by floor-finish changes (added carpet, tile, new subfloor) that raise some treads and not others.
  • Baluster gap violation — a gap a child can squeeze through; the injury outcome is a fall from height with the child’s weight on a narrow railing edge.
  • No guard where one is required — open loft edges, landing drops >600 mm with no barrier.1

When to replace vs repair

What you seeDo this
Guard wobbles but framing is soundRepair — re-anchor the post properly (structural lag, through-bolt, or epoxy-anchored rod depending on construction)
Newel post rocking at base, no structural damageRepair — re-anchor; a carpenter can often fix without replacing
Framing below the post is rotted or damagedReplace the affected section — structure must be sound before any re-anchoring holds
Baluster gaps exceed 100 mmFix — add balusters or replace the infill panel; this is owner or carpenter scope
Guard height non-conforming after a floor or stair alterationUpgrade to current code — required when the alteration triggers code compliance; carpenter scope
Handrail not graspable (flat board)Replace — add a properly profiled handrail on the same hardware; moderate carpenter job
Stair riser variation >5 mm introduced by new flooringFix — shim or re-set the affected treads; carpenter scope if structural
Guard is structurally sound, pre-code height (pre-alteration)No immediate action required — existing non-conforming guards are not required to be upgraded unless the stair is altered6
Full stair rebuild — non-conforming to current codeRebuild to current code — carpenter or millwork contractor; permit required

Verdict (reversibility × cost): re-anchoring a loose newel or adding balusters is reversible and typically under 500 — that crosses both thresholds and earns the full The Decision Lifecycle treatment.

Typical cost (BC / Metro Vancouver)

TierWhat’s includedRangeSources
DIY / parts onlyLag screws, through-bolts, epoxy anchor kit, replacement balusters, sandpaper, hardware; you supply the labour150 depending on repair type910indicative (limited sources)
BasicCarpenter re-anchors 1–2 loose newels or posts; no permit; like-for-like repair; 1–3 hours labour500911indicative (limited sources)
StandardFull handrail or guard replacement on a single stair flight (≈8–12 linear ft), like-for-like material, permit where required, baluster upgrade to code spacing, haul-away3,000 (wood) · 5,000 (aluminum or iron)101112
Premium / rebuildCustom glass railing or full stair rebuild; frameless glass 680/linear ft installed in Metro Vancouver; full stair rebuild for a code-non-conforming interior stair15,000+101213

Metro Vancouver labour rates run higher than the rest of BC — expect the upper half of any range. A simple re-anchor job (tighten one post, no permit) is under 1,500–$3,000 when permit + code-compliant baluster count + labour are included. Glass railing costs are significantly higher and depend on stair geometry. Get 2–3 written quotes — a quote far below Standard scope for the same job is a flag that permit and baluster count may not be included.

DIY tier: materials only — hardware, anchor bolts, replacement balusters. Owner scope is limited to re-anchoring within existing structural conditions and replacing in-kind balusters. Any change to guard height, design, or material triggers a permit obligation in Vancouver and most Metro Vancouver municipalities.

Pricing data is triangulated from US-based cost aggregators (Angi/HomeAdvisor/HomeGuide) adjusted for Vancouver, from Vancouver-specific railing contractors (Jeff & Simon, Vancouver Stairs, Tenmar), and from SI Handrails 2026 replacement data. BC-specific per-linear-foot data for interior stairs is thin — treat Standard tier ranges as indicative and verify with local quotes.

How to maintain it — the procedures

Procedure: Annual guard and handrail load test

Why: a guard that has started to pull from its anchorage shows no visible sign until it fails. An annual push test catches it at stage 1 — when a re-anchor is a $20 bolt job — rather than stage 3 (a person’s weight in a fall).

You’ll need: your body weight applied via your hands; a flashlight; 5 minutes.

  1. Stand at the top of each stair flight. Face the guard. MUST push firmly outward (away from the stair, toward the open drop side) with both hands. Also push sideways along the run. Any movement or creaking means anchorage failure has started.
  2. Push and pull the handrail along its length. It should be rigid with no flex between brackets.
  3. At each newel post, push and pull the post at shoulder height. Rock it side to side. No movement = pass.
  4. Look at the baluster spacing. Pass a hand along the bottom gap (between the bottom rail and the floor/tread). If a 4-inch (100 mm) width fits through anywhere, that is a code violation — flag for repair.
  5. With a flashlight, look at the base of each newel post for rot, dark staining (water damage), or missing fasteners.

Done when: no movement in any guard element, no rocking newels, no baluster gap violation, no rot at bases.

Stop and call a pro if:

  • Any guard moves under firm pressure — the anchorage has already partially failed
  • You see rot or dark staining at the base of a newel — structural framing may be compromised
  • Any newel post is only attached via toenailed nails or screws into drywall (not into structural framing)

Procedure: Re-anchor a loose newel post (owner scope — simple cases)

Why: a rocking newel post at its early stage is a DIY fix. Caught late or with structural damage, it needs a carpenter.

You’ll need: drill, 3/8” bit, 3/8” lag screw × 4” (minimum), structural washer, socket wrench; or a threaded rod + epoxy anchor kit for concrete/LVL substrate; 30–60 min.

  1. Identify what the post is sitting on — wood subfloor over framing, concrete, or engineered beam.
  2. MUST ensure the post is plumb before anchoring.
  3. For wood subfloor: drill pilot hole through the post base into the floor framing (not into the joist cavity — locate the joist first). Drive a 3/8” × 4” lag screw through a structural washer into the joist. Repeat on the opposite face.
  4. For concrete: use an epoxy anchor with a threaded rod set into the concrete, allow full cure time before loading.
  5. Test: push firmly in all directions. No movement = done.

Done when: post does not move under firm hand pressure in any direction.

Stop and call a pro if:

  • The subfloor or framing below is soft, spongy, or shows rot
  • The post base is embedded in a stringer or balustrade assembly that requires disassembly to access
  • You cannot locate structural framing to anchor into
  • After anchoring, the post still moves — the problem is deeper than the surface attachment

Procedure: Check tread consistency (trip-hazard catch)

Why: a riser change of >5 mm within a flight is a code-limit non-conformance and a documented trip cause — especially at the top and bottom of a flight where the eye is not tracking individual steps.

You’ll need: a tape measure or ruler; 5 minutes.

  1. Measure the rise (vertical face) of each step in a flight from the nose of one tread to the nose of the next.
  2. Note any variation. Under 5 mm across all steps: pass. Over 5 mm on any single step vs the others: flag it.
  3. Pay particular attention to the top and bottom step — floor-finish changes (carpet pad, new tile, area rug) most commonly shift these.

Done when: all risers within 5 mm of each other; or flagged for carpenter review.

Stop and call a pro if: any riser is more than 10 mm different from its neighbours — this is both a trip hazard and a permit-triggering code issue if the stair is being altered.

Maintenance calendar:

  • Annually (e.g. each spring): guard/handrail load test — push every post, push every guard run, check baluster gaps.
  • After any flooring work near stairs: re-measure riser heights — new tile or carpet can shift the top and bottom step.
  • On move-in or purchase: full stair inspection — load test all guards, measure rise/run consistency, check handrail graspability, confirm baluster spacing at 100 mm or less.
  • Before sanding or stripping any painted railing in a pre-1990 home: lead test first.3

Strata reality

Interior unit stairs (stairs that serve only your dwelling unit — inside your strata lot) are owner scope under Standard Bylaw 2: the owner is responsible for repair and maintenance of their strata lot.4 This is the most common situation: a townhouse interior staircase between floors, or a stair from a private entrance.

Common-area stairs and guards — shared corridor stairs, parkade ramps, stairwells, and any guard on a shared balcony or rooftop — are strata corporation responsibility under SPA s. 72 (strata’s duty to repair and maintain common property) and Standard Bylaw 8(e) (fences, railings, and similar structures enclosing common areas).414

The ambiguity: limited common property (LCP) stairs. Some townhouse stair entries, private balcony edge guards, or unit-specific landings are designated LCP — common property that only your unit has exclusive use of. Under Standard Bylaw 2(c), you must repair and maintain LCP in your exclusive use, unless the bylaws shift it. Read your registered bylaws and the strata plan before doing any structural stair work.

The key question before any guard or stair work:

  • Is this element inside my strata lot boundary? → Owner scope.
  • Is it common property (even if it feels “mine”)? → Strata scope — get written strata council approval before starting.

SPA deductible chargeback note: a failed guard that injures a strata neighbour, or structural stair rot that spreads to common-property framing, can expose you to a SPA s. 15815 chargeback if loss originates in your unit. Keeping owner-scope stairs in good repair is both a safety and a financial obligation.

Permit rule in strata: the same permit rules apply regardless of strata status. A guard replacement in Vancouver that changes material or design still requires a City of Vancouver building permit. Strata approval is an additional step layered on top of, not instead of, the municipal permit process.

When you hire someone

Ask:

  • Are you a licensed carpenter or millwork contractor? (Structural stair and guard work is carpenter scope — no specific provincial licence beyond city business licence, but structural work should go to a qualified tradesperson.)
  • Will you pull a building permit if required? (Required for guard replacement in Vancouver that changes design or material; required for any stair rebuild.)
  • Does your quote include bringing balusters to the 100 mm spacing code requirement?
  • Is the handrail profile graspable to BCBC spec (30–43 mm diameter or equivalent)?
  • Is haul-away of old materials included?
  • Do you carry liability insurance?

Verify the work:

  • No movement in any guard under a firm push in all directions
  • Baluster gaps ≤100 mm throughout (run a 4” / 100 mm wide object along the full run to check)
  • Handrail is continuous along the full flight and graspable (can wrap your hand around it)
  • Guard height: ≥900 mm on interior stairs with drop <1.8 m; ≥1,070 mm where drop is ≥1.8 m1
  • If permit was required: permit issued and inspection passed (not just “submitted”)
  • Newel posts do not move under body-weight pressure applied at the top
  • No visible rot at any post base

Who to call

These become real when filled in the Tier-B MOCs:

  • Carpenter / millwork contractorvendor-roster (Home Systems). Fill: name, phone, whether they pull permits, experience with stair/guard work and strata approval process.
  • Insurer / brokerinsurance-warranties (Home Systems). Fill: policy number, and written confirmation of coverage if a guard failure injures someone in your unit or damages an adjacent strata lot.
  • Strata manager → Strata MOC. Fill: after-hours line, process for getting strata council written approval for any stair or guard work that may affect common property or LCP.

Sources

Idea Compass

North: Where this comes from

East: Tensions / failure

South: Where this leads

West: What’s similar

Footnotes

  1. Jeff & Simon Ironworks, a Metro Vancouver railing fabricator — 2024/2026 BCBC guard requirements: 900 mm interior (drop <1.8 m), 1,070 mm where drop ≥1.8 m; 100 mm sphere rule; 0.5 kN/m distributed load, 1.0 kN concentrated; stair guard from nosing line — https://jeffandsimon.com/news/bc-building-code-railing-requirements/ and https://jeffandsimon.com/custom-railings/bc-building-code/ 2 3 4 5 6 7 8

  2. Classic Railings BC, a BC railing contractor — BC Building Code Section 9.8.4.2 stair rise/run dimensions and consistency requirements; max 200 mm rise, min 210 mm run for private residential stairs, ≤5 mm variation within a flight — https://www.classicrailings.ca/post/bc-railing-code-guide-what-builders-need-to-know-with-visual-examples 2 3 4

  3. Health Canada, the federal health authority — lead-based paint in Canadian homes: consumer paints virtually lead-free by ~1990; sanding pre-1990 painted wood surfaces (stairs and railings named explicitly) creates toxic lead dust; use chemical stripper instead of mechanical methods — accessed via reader proxy from https://www.canada.ca/en/health-canada/services/home-safety/lead-based-paint.html 2 3

  4. Province of BC, BC government — strata division of repair duties: Standard Bylaw 2 owner responsibility for strata lot; Standard Bylaw 8(e) strata responsibility for railings and similar structures on common property — https://www2.gov.bc.ca/gov/content/housing-tenancy/strata-housing/operating-a-strata/repairs-and-maintenance/division-of-repair-duties 2 3

  5. Jeff & Simon Ironworks — Metro Vancouver permit requirements for railing: permit required for guard replacement in Vancouver, Burnaby, Coquitlam when design or material changes; like-for-like on single-family may be exempt; interior handrail-only on single-family may be exempt — https://jeffandsimon.com/news/bc-building-code-railing-requirements/

  6. TrustedPros Canada, a renovation forum — whether current building code applies to renovation of existing stairs; non-conforming existing stairs are not required to upgrade unless altered — https://trustedpros.ca/forum/home-improvements/does-current-building-code-apply-to-a-renovation 2

  7. Century Railings, a BC railing company — handrail height 865–965 mm above nosing; continuity requirement along full flight; load 0.9 kN minimum — https://www.centuryrailings.com/handrail-height-bc-canada/ 2

  8. Louei Metal Arts, a Metro Vancouver metal fabricator — 2025–2026 homeowner guide to BCBC railing numbers: guard heights, sphere rule, climbability rule; 36″ interior / 42″ high-drop or commercial — https://loueimetalarts.com/blog/bc-building-code-railing-requirements-2025-2026-vancouver-homeowner-guide

  9. Angi (US cost aggregator) — stair railing repair costs: loose railing tighten 200; full railing repair 1,000; note: US figures, Metro Vancouver labour typically higher — https://www.angi.com/articles/stair-railing-repair-cost.htm (flagged — 403 on direct fetch; figures from search result summary; treat as indicative for US baseline) 2

  10. SI Handrails, a stair products retailer — 2026 stair railing replacement costs: 15,000 total; 650/linear ft; wood 60/linear ft, metal 250/linear ft, glass 600/linear ft; labour 150/hr; permits 500 — https://sihandrails.com/blogs/article/how-much-does-it-cost-to-replace-stair-railings 2 3

  11. LatestCost, a cost research site — 2026 stair rail replacement: full project 9,000 (average 6,000); materials 4,000; labour 6,000; permits 600; real-world examples: basic pine 3,000, metal decorative $6,000 — https://latestcost.com/stair-rail-replacement-cost/ 2

  12. Vancouver Stairs, a Metro Vancouver stair contractor — balcony railing replacement costs in Vancouver: aluminum 320/linear ft, steel 380/linear ft, cable 480/linear ft, semi-frameless glass 680/linear ft, frameless glass 950/linear ft; typical project 8,000 (low-rise); these are exterior/balcony rates — interior stair rates are lower — https://www.vancouverstairs.com/trends/balcony-railing-replacement-cost-vancouver/ 2

  13. Tenmar, a Vancouver glass railing company — 2026 frameless glass railing in Vancouver 400/linear ft; semi-frameless 350/linear ft; custom stair panels ~25% more than straight sections — https://tenmar.ca/blog/glass-railing-costs-revealed-2026

  14. Province of BC, BC government — Strata Property Act s. 72 (strata’s duty to repair common property) and Standard Bylaws (Bylaw 2 owner scope; Bylaw 8(e) strata responsible for fences, railings, similar structures in common areas) — https://www.bclaws.gov.bc.ca/civix/document/id/complete/statreg/98043_18

  15. Strata Property Act (BC Laws) — the governing statute (incl. ss. 135, 158, 164) — https://www.bclaws.gov.bc.ca/civix/document/id/complete/statreg/98043_09