Repairs
Stair Rise and Run Calculator
Enter total rise and run to get code-compliant step count, rise, and tread depth for any staircase.
Your answer
Meets typical IRC riser/tread limits.

Why rise and run have to be calculated together
A staircase is only as good as its worst step. Building code does not just set a maximum riser height and a minimum tread depth in isolation — it assumes every riser in a flight is identical, because a single step that is even half an inch taller than the rest is a documented tripping hazard, especially descending in low light.
The math starts with total rise: the exact vertical distance between the two finished floor levels the stair connects, measured from the top of the lower floor to the top of the upper floor. You cannot pick a riser height first and hope it divides evenly — instead, divide total rise by your target riser height, round to the nearest whole number of risers, then divide total rise by that whole number to get the actual, code-compliant riser height every step will use.
Code minimums and comfort targets
| Element | Code maximum/minimum | Comfortable target |
|---|---|---|
| Riser height | 7.75 in max | 7.0-7.5 in |
| Tread depth | 10 in min | 10-11 in |
| Riser variance in a flight | 3/8 in max | 0 (identical) |
| Stair width | 36 in min (residential) | 36-42 in |
| Headroom | 6 ft 8 in min | 7 ft+ |
The 2R + T comfort rule
Beyond code minimums, stair designers use a simple formula to judge whether a set of dimensions will actually feel natural to walk: twice the riser height plus the tread depth should land between about 24 and 25 inches. Go below that and steps feel steep and cramped; go above it and your stride feels stretched, which is tiring on long flights and can itself become a fall risk.
This is why steep, narrow staircases in old houses feel dangerous even when each individual dimension is 'close enough' — the combination violates natural stride length. Outdoor steps typically use a shallower ratio than indoor stairs because they are walked more casually and often in wet conditions.
Working out stringer length
The stringers are the diagonal boards that support the treads, and their length is simply the hypotenuse of a right triangle formed by total rise and total run — total run being the horizontal distance covered by all the treads combined (number of treads, which is one fewer than the number of risers, multiplied by tread depth). Add a bit extra at each end for the horizontal cuts where the stringer meets the floor and the header.
Practical layout steps
- Measure total rise precisely with a straight board and level, or a laser level, from finished floor to finished floor.
- Divide by a target riser height (commonly 7 to 7.5 inches) and round to the nearest whole number of risers.
- Recalculate the exact riser height by dividing total rise by that whole number — this is the number you actually build to.
- Choose a tread depth that satisfies both code minimum and the 2R + T comfort check.
- Lay out stringers full-scale on the actual stock before cutting, marking each riser and tread with a framing square.
What is the maximum riser height allowed by code?
Most US residential codes (IRC) cap riser height at 7.75 inches and require a minimum tread depth of 10 inches. Riser height variance across a single flight cannot exceed 3/8 inch.
Why do steps feel wrong even when they meet code?
Comfort depends on the relationship between rise and run, not just each number alone. The common rule of thumb is that 2x riser height + tread depth should land between 24 and 25 inches for a natural stride.
Do I count the top floor as a step?
No. Total rise is the vertical distance between finished floor levels, but the number of risers always equals the number of steps down, and the number of treads is one less than the number of risers because the top floor itself is the final tread.
What if my total rise does not divide evenly?
Round up to the next whole number of risers, then divide total rise by that number to get an exact riser height slightly under your target — this keeps every riser identical, which code requires.
Last reviewed February 2026