The overall rise, run, and headroom is one calculation — handled by the stair calculator next door. This page is the other half of the job: the tread nosing, the notched stringer, and the handrail. The numbers below come from Ontario Building Code 2024, Division B, Section 9.8.
OBC 9.8.4.2.(2) sets the relationship between run and tread depth in one line: tread depth shall be not less than its run and not more than its run plus 25 mm. The nosing projection is just the arithmetic difference — tread depth minus run — so the legal range is 0 to 25 mm beyond the riser face. Zero is only realistic on exterior concrete where the nosing is integral; on any interior wood stair you want 19–25 mm so the ball of the foot has a real place to land on the descent. Drop below that and toes catch risers; push past 25 mm and you fail inspection. A separate rule in 9.8.4.8.(1) requires the top of the nosing to have a rounded or beveled edge extending 6 mm to 14 mm horizontally — the reason the ⅜″ (≈10 mm) round-over bit exists. A square-sawn nosing is a shin-catcher and a fail; a beveled or bullnosed profile takes 10 seconds and sidesteps the question.
OBC 9.8.9.4.(1)(a) is the most-missed rule on site: after a stringer is notched for the treads and risers, there must be at least 90 mm of intact wood remaining, measured perpendicular to the bottom edge at the point of minimum cross-section (directly under the nosing). The arithmetic is effective_depth = stock_depth × cos θ − rise × sin θ, where θ is the stair pitch. A 2×12 (286 mm) with 195 mm rise and 260 mm run gives θ = 37°, so effective depth = 286 × 0.80 − 195 × 0.60 = 112 mm. Passes. Swap to a 2×10 (235 mm) with the same rise/run: 235 × 0.80 − 195 × 0.60 = 71 mm. Fails by 19 mm. That's why 2×10 stringers only work on shallow flights — deck stairs with 170 mm rise, or short interior flights. The fix is always the same: upsize to a 2×12 (or an LVL stringer for long flights). Never shim the stringer up to fake the depth — bearing fails in shear at the notch, and you've built an unsafe stair that reads fine on the tape.
OBC 9.8.7.5.(2) says handrails must be continually graspable along their entire length with no obstruction on or above them to break a handhold. Appendix note A-9.8.7.5.(2) sets the profile window: round rails 32–51 mm in diameter (1¼–2″); any oval or rectangular profile must allow the hand to close around it. A flat 2×4 on edge is 38 × 89 mm — the 38 mm side is fine, but the 89 mm side is too wide for adult fingers to wrap. The grip test: grab the rail one-handed and try to hold your weight; if your fingertips don't meet your thumb, it's a shelf, not a handrail. The fixes are a 1½″ (38 mm) round dowel, purpose-milled handrail stock, or a 2×4 with heavy corner round-overs AND side dadoes so the gripped upper 38 mm has real finger clearance below. A 2×4-on-edge with a ¼″ round-over does not pass — the note is explicit that the obstruction below the grip breaks the handhold.
OBC 9.8.7.3.(2) requires at least one handrail to extend horizontally not less than 300 mm beyond the top and bottom of each flight, with an exemption for stairs serving a single dwelling unit. The piece framers miss is what "top and bottom" means in a switchback: each flight is its own unit, so a two-flight corridor stair needs four 300 mm tails. The extension exists because the last step is the highest-slip moment — the ankle unbends and stride changes, and a rail stopping at the last riser leaves no grab-point. Practical terminations: a horizontal 300 mm return into the wall (cleanest), a 90° turn-down (common on commercial stairs), or a loop back to the balustrade. The dwelling exemption is narrow — once the stair enters a common corridor or a commercial occupancy, the 300 mm tails are back on.
OBC 9.8.9.4.(1)(d) caps wooden stringer spacing at 900 mm o.c. in dwelling stairs and 600 mm o.c. in all others. Sentence (2) stretches dwelling spacing to 1 200 mm o.c. only where closed risers support the front of each tread. A 36″ (915 mm) interior dwelling stair with open risers exceeds 900 mm — three stringers (outer pair plus one carriage). Same width with closed risers sneaks under 1 200 mm on two. A 42″ commercial stair is well over the 600 mm public cap — outer pair plus one carriage minimum; 48″+ wants two. The classic mistake is a 40″ open-riser 2-stringer basement stair that squeaks on every descent. A 1× "ribbon" under tread centres is not a carriage — 9.8.9.4 is written around stringer geometry, not tread reinforcement.
OBC 9.8.4.4 is deceptively gentle: adjacent risers or runs may vary by 5 mm, and the full flight by 10 mm end to end. 5 mm is 3/16″ — roughly the width of a pencil line. The trap is that variation compounds: if each riser is "a little tall" by 2 mm and the bottom riser gets the leftover, you can be 8 mm off before nosings go on. Prevention: (1) lay out the rise on ONE stringer and use it as the pattern for the rest — never start each from scratch; (2) cut the bottom of every stringer from the same line after layout; (3) measure as-built total rise before cutting anything and re-divide if rough rise deviates. The circular saw adds ~3 mm of cut drift; careful framers over-cut with the circular saw and finish each notch with a jigsaw to the chalk line. Slower, but uniform — and uniform is what keeps people on their feet, because the brain calibrates by step three and stops looking, so the single odd riser is always the one that trips people.
Scope: the tool above checks nosing geometry, wooden stringer cut-outs, and handrail details. Winder and spiral stairs (OBC 9.8.4.3, 9.8.4.6, 9.8.4.7), tapered-tread exit stairs falling under Part 3, and handrail structural attachment design per 9.8.7.7 are out of scope. For rise/run/headroom against Table 9.8.4.1, see the OBC Stair Calculator. Guards (9.8.8) are handled by the OBC Guard Height & Load Checker.