Stair Stringer Layout (with code check)
Riser count, exact rise, total run, stringer hypotenuse, throat depth.
Example
You enter
- Total rise (in) 108
- Target rise (in) 6.75
You get
- Riser count 16
- Exact rise 6.75 in
- Tread depth 11 in
- Tread count 15
- Total run 165
- Angle (deg) 31.53
- Rise pass Yes
- Tread pass Yes
Checked against published worked examples from: IRC R311 (residential stair geometry, project bundled defaults).
Details, formula, and sources
ScopeRiser count, exact rise, total run, stringer hypotenuse, throat depth, and pass/fail against your AHJ's max rise / min tread.
Formula or tableRiser count = ceil(total_rise / target_rise). Exact rise = total / count. Total run = (count − 1) × tread. Stringer hypotenuse = sqrt(rise² + run²). Stair angle theta = atan2(exact_rise, tread), the unit pitch. Throat depth = stringer depth − exact_rise × tread / sqrt(exact_rise² + tread²), the board depth less the altitude of the notch triangle. Pass/fail against user-entered local-code rise max and tread min.
Source and editionIRC 2024 (International Residential Code). §R318.7 [R311.7 in IRC 2021] referenced by name; the user supplies the AHJ's adopted max rise and min tread (the tile does not bundle code values).
Free accessFree read-only access at codes.iccsafe.org.
What governsEstimate. AHJ and licensed structural engineer govern.
API field namestotal_rise_in, target_rise_in, riser_count, exact_rise_in, tread_depth_in, tread_count, total_run_in, angle_deg, rise_pass, tread_pass
- Default target rise / tread 7.0 in / 11.0 in (engineering practice typical)engineering practice
- Default code max rise / min tread 7.75 in / 10.0 in (IRC 2024 §R318.7 [R311.7 in IRC 2021] typical; verify your AHJ)IRC 2024 R318.7 default (unchanged from 2021)