Every railing project in Metro Vancouver starts with the same question from the homeowner or contractor: what does the code actually require? The BC Building Code (BCBC) gives clear answers on guard heights, opening sizes, and load ratings — but the specific numbers depend on the occupancy type, the fall height, and where the railing sits in the building. We fabricate and install guards from our Burnaby shop across Metro Vancouver, and we’ve seen enough inspection red tags to know which details trip people up.
Here’s what the code says, what inspectors actually check, and where projects run into trouble.
Guardrail vs handrail — they’re not the same thing
The BC Building Code treats these as two separate elements, and mixing them up causes confusion on almost every residential project we quote.
A guard (sometimes called a guardrail) is a protective barrier that prevents falls from an elevated surface. Guards are required on any walking surface more than 600 mm (about 24 inches) above the adjacent surface or grade. That includes decks, balconies, mezzanines, staircase open sides, and landings.
A handrail is a graspable rail that provides support while using stairs or ramps. Handrails have their own set of requirements — they need to be between 865 mm and 965 mm above the stair nosing, and the profile must be graspable (34–38 mm round or equivalent). Handrails are required on at least one side of any stairway with more than two risers in Part 9 residential buildings.
A railing system can serve both functions at the same time, and often does. But a glass guard with a flat top cap that’s 1,070 mm high doesn’t automatically satisfy the handrail requirement — if it’s not graspable, you still need a separate handrail. We’ve fabricated add-on handrail brackets for glass guard systems on several Burnaby and Coquitlam townhouse projects where this detail was missed in the original design.
Guard height: 900 mm vs 1,070 mm
This is the number that matters most, and the threshold between the two heights trips up homeowners and even some builders.
900 mm (36 inches) is the minimum guard height within a dwelling unit — your house, your suite — where the drop on the other side is less than 1,800 mm. This covers most single-family deck railings and interior balustrades in Metro Vancouver homes. It’s the lower threshold, and it applies only to the space within your own unit.
1,070 mm (42 inches) is required in three situations:
- The drop exceeds 1,800 mm (roughly six feet) — even within your own dwelling unit
- The guard is in a common area — strata hallways, shared rooftop decks, parkade ramps, commercial lobbies
- The building falls under Part 3 of the BCBC (buildings over 600 m2, more than three storeys, or certain occupancy types)
The measurement is taken vertically from the finished floor surface (or the stair nosing line on stairs) to the top of the guard. Not to the top of the handrail cap — to the top of the guard itself.
On staircase guards specifically, BC Building Code Section 9.8.8.2 requires the guard to be at least 900 mm high measured vertically from a line drawn through the stair nosings. This catches some people off guard (no pun intended) because the measurement reference point is different from a level floor. We set up a string line along the nosings during site measure to get this dimension right.

The 100 mm sphere test
Section 9.8.8.4 of the BCBC requires that no opening in a guard can allow a 100 mm sphere to pass through. This is the child-safety provision, and it governs everything from picket spacing to cable gaps to the clearance under bottom rails.
For vertical picket railings, the practical result is straightforward: the clear space between pickets can’t exceed about 89–95 mm, depending on the picket profile. Using 12 mm square bar stock, that means centre-to-centre spacing of roughly 101–107 mm. We typically detail pickets at 4 inches on-centre (101.6 mm) with 1/2-inch square bar, which gives a clear opening of about 89 mm — well within the limit.
The sphere test also applies to:
- The gap between the bottom rail and the floor or deck surface
- Any opening between glass panels and their frames
- The space between horizontal cables
- Decorative openings in ornamental railing panels
One detail that catches fabricators who don’t work in BC: the sphere test applies to the full height of the guard, including the bottom. A 4-inch gap under the bottom rail fails inspection just as quickly as a 5-inch gap between pickets. We’ve reworked railings from other shops where the pickets passed but the bottom clearance was 120 mm — an easy fix with a kick plate, but an avoidable one.

Load requirements — what the guard has to withstand
This is where code compliance moves from dimensions into engineering. The BC Building Code references the National Building Code of Canada structural requirements, which specify minimum loads that guards must resist.
Residential guards (single dwelling units):
- Horizontal line load: 0.5 kN per metre, applied at the top of the guard
- Concentrated load: 1.0 kN applied to any 100 mm x 100 mm area of the guard assembly
Commercial, assembly, and common-area guards:
- Horizontal line load: 0.75 kN per metre (and up to 3.0 kN/m for areas subject to crowd loading like stadiums or concert venues)
- Concentrated load: 1.0 kN
What does this mean in practice? The 0.5 kN/m residential line load works out to about 34 pounds per linear foot of horizontal force at the top of the railing. That doesn’t sound like much, but it’s applied across the full length simultaneously. Post spacing, post size, base plate connections, and anchor bolt pull-out strength all need to handle this load.
The 1.0 kN concentrated load (about 225 pounds) applied to a single point is actually the test that more often governs post sizing and glass panel thickness. A person leaning hard on one section of railing, or someone bumping into it — the guard has to hold.
For commercial work in Metro Vancouver — lobbies, mezzanines, restaurant patios — we typically work with a structural engineer who stamps the connection details. On residential projects, our standard post details (HSS 2x2 or 2x3 steel posts at 4-foot centres with 3/8-inch base plates and four 3/8-inch anchors) are engineered to meet the residential load requirements. But non-standard conditions — cantilevered mounts, side-mounted posts, concrete anchoring into older slabs — need project-specific engineering.
Glass railing requirements
Glass guards have additional requirements beyond the standard height and sphere test rules. The BCBC and referenced CSA A500 standard specify:
Tempered safety glass is the minimum for any guard application. We use 12 mm tempered glass as the standard for residential guards and 15 mm or laminated tempered for commercial. The glass must comply with CAN/CGSB-12.1 safety glazing standards.
Frameless glass guards (where the glass is the structural guard element, held by standoffs or base shoes) require engineering for each project. The glass panel itself must resist the full guard load — not just the posts or frame. This is why frameless glass guards cost significantly more than framed systems. The glass thickness, panel dimensions, and connection hardware all need to be calculated together.
Gaps between glass panels and between glass and posts must pass the 100 mm sphere test. On a typical semi-frameless system with aluminum base channel, the glass sits in the channel with rubber gaskets, and the gap between adjacent panels is usually 10–15 mm. No issues there. But top-mounted standoff systems can create larger gaps between panels if not detailed carefully.
Laminated glass is required in some situations — specifically when the guard protects a drop of more than 4,200 mm or when it’s in a location where a panel failure could result in someone falling through. The laminated interlayer holds the glass together even after breakage.
We’ve installed glass guard systems on several high-rise condo balcony renovations in Burnaby and New Westminster where the strata required laminated tempered glass even though the original building had single tempered. The cost difference is roughly $30–$50 per square foot of glass, but the safety improvement is real — and some municipal inspectors are now asking for it on any guard over the third storey.
Climbability — the rule that kills creative designs
BCBC Section 9.8.8.5 states that guards can’t have elements between 100 mm and 900 mm above the floor that would facilitate climbing. This is aimed at preventing children from climbing over guards, and it’s the rule that creates the most friction between design intent and code compliance.
Horizontal bars spaced like a ladder are the most obvious problem. A homeowner in Port Moody who wants that modern horizontal-bar look with bars every 6 inches will get flagged. The bars act as footholds.
Horizontal cable railings are an exception — they’re now permitted in BC for fall heights up to 4,200 mm. The cables are thin enough that they don’t provide a meaningful foothold. But the cables still need to meet the 100 mm sphere test between them, which means tight spacing (roughly 3 inches on-centre).
Wire mesh and perforated metal panels can also pass the climbability test depending on the opening size and pattern. We’ve used expanded metal mesh infill on several commercial projects where the architect wanted an industrial aesthetic — the openings are too small to serve as footholds, and the mesh itself passes the sphere test.
Ornamental railings with scrollwork that creates horizontal ledges above 100 mm are a grey area. Some inspectors pass them, some don’t. If you’re designing a heritage-style railing for a character home in East Vancouver, keep decorative horizontals below 100 mm or above 900 mm to avoid the argument.
When you need a permit
In Metro Vancouver, you need a building permit for railing work in most circumstances. Here’s how it generally breaks down:
Permit required:
- New guard installation on any deck, balcony, or mezzanine more than 600 mm above grade
- Replacement of an existing guard if the new guard differs from the original in material, height, or design
- Any guard on a Part 3 building (most multi-unit residential and commercial buildings)
- Guard work that involves structural modifications to the supporting floor or wall
Permit may not be required:
- Like-for-like replacement on a single-family home where the new guard matches the original specs (varies by municipality)
- Interior handrail-only installation (no guard function) on a single-family home
The City of Vancouver, City of Burnaby, and City of Coquitlam all require permits for guard replacement. The City of North Vancouver and District of North Vancouver have similar requirements. New Westminster treats guard replacement as a building permit item in most cases.
Permit fees across Metro Vancouver municipalities typically run $100–$300 for a residential guard permit, plus plan review time of 2–4 weeks. Some municipalities — Vancouver and Burnaby in particular — require engineered drawings for guards on decks higher than 1,800 mm or on any multi-family building.
What inspectors actually look for
We’ve been through hundreds of guard inspections across Burnaby, Vancouver, North Vancouver, Coquitlam, and New Westminster. Here’s what gets flagged most often:
Guard height short. The inspector measures from the finished floor to the top of the guard. If the floor finish wasn’t installed when the guard went in, and the tile or hardwood added 15 mm, the guard might now measure 885 mm instead of 900 mm. We always confirm finished floor heights before finalizing post lengths.
Sphere test failure at the bottom. The gap between the bottom of the infill and the deck surface exceeds 100 mm. This happens when decking is replaced and the new surface sits lower, or when the guard was fabricated to a theoretical deck height that didn’t match the field condition.
Post anchorage inadequate. Inspectors check that base plates are properly bolted — not just screwed — into the structure. Lag screws into a rim joist don’t cut it on most guards. Through-bolts with backing plates, or concrete anchors with proper embedment, are what they want to see.
Missing handrail on stairs. A guard along a staircase doesn’t automatically serve as a handrail. If the top of the guard isn’t graspable (flat cap, glass top, wide wood cap), the inspector will ask for a separate handrail.
Climbable elements. Horizontal mid-rails, decorative cross-pieces, or shelf-like elements between 100 mm and 900 mm get flagged. We had a project in New Westminster where the architect specified a horizontal flat bar at 450 mm as a design detail — the inspector called it a step rail. We replaced it with a thin cable at the same height, which passed.
Glass panel thickness or type not documented. On glass guard inspections, the inspector may ask for the glass supplier’s certification showing tempered safety glass compliance. Have the documentation on site.
How to avoid rework
The pattern we see across projects is this: the problems almost always come from missing the code check during design, not during fabrication. A railing built to the right dimensions and load ratings passes inspection every time. A railing designed without checking the code — even if the metalwork is beautiful — gets a red tag.
Before you finalize a railing design, run through these questions: Is the guard height correct for the occupancy and fall height? Does every opening pass the sphere test, including the bottom clearance? Are the posts and connections engineered for the required loads? Is there a graspable handrail where stairs are involved? Are there any climbable elements in the danger zone?
If you’re working with an architect, they should be checking these. If you’re a homeowner working directly with a fabricator, ask to see how the design meets code before fabrication starts. At our Burnaby shop, we include a code compliance note on every set of shop drawings — it lists the applicable BCBC sections and shows how each requirement is met. That documentation makes the permit and inspection process straightforward.
If you have a railing project and want to make sure the design meets BC Building Code before you commit to fabrication, send us your scope or call the shop — we’ll walk through the code requirements with you and flag anything that needs attention.