Everyday Tools

Stair Calculator

Estimate riser count, actual riser height and horizontal run for a straight flight of stairs. The calculation divides the total rise evenly while keeping each riser at or below your chosen maximum.

01

Your inputs

02

Your result

Ready when you are.

Adjust the inputs, then calculate to see your result here.

Calculated on your device. Inputs are not saved by this calculator.

GET MORE FROM YOUR RESULT

Using the Stair Calculator

The calculator rounds the required number of risers up, then recalculates the actual height. It assumes the upper floor serves as the final landing, so there is one fewer tread than risers. Tread depth determines the resulting horizontal run.

Worked example

Use the example inputs below to reproduce this result. These are the form's starting values, not recommended targets. Changing your inputs updates your result above; this worked example stays fixed for comparison. Results are rounded for display.

Example inputs

Total rise (cm)
280
Desired maximum riser (cm)
18
Tread depth (cm)
28

Example result

Number of risers
16
Actual riser height (cm)
17.5
Number of treads
15
Horizontal run (cm)
420

Method and assumptions

Rounds the riser count up and divides total rise evenly. Assumes the upper floor is the final landing. Check local building codes, headroom and landing requirements before construction.

Check the geometry against the available space

A stair calculation can distribute height evenly yet still require more horizontal space than is available. Compare the calculated run with the actual opening and layout. The simplified geometry does not check landings, headroom or every construction requirement. Those constraints need to be resolved before dimensions are treated as a buildable design.

Common question

Why does the actual riser height differ from my entry?

Your entry is the desired maximum, not a height the tool forces exactly. The total rise usually does not divide into that height evenly. Rounding the riser count up allows equal risers without exceeding the selected maximum.