HomeConstruction & Home › Stair Calculator

Stair Calculator

Divides a total floor-to-floor rise into equal risers close to a target riser height, derives the tread count, total run, stringer length and stair angle, and checks the result against the IRC residential limits (riser ≤ 7¾ in / 196 mm, tread ≥ 10 in / 254 mm) and the 2R + T comfort rule.

When to use

You are laying out a straight flight of interior or deck stairs and need the number of risers, the exact riser height, the total run and the stringer length.

Do not use when: The stair has winders, landings or curves (design each straight flight separately), or you need a roof/rafter slope (use roof-pitch).

Formula

risers = round(total_rise / ideal_riser_height); riser = total_rise / risers; treads = risers − 1; total_run = treads × tread_depth; stringer = √(total_rise² + total_run²); angle = atan(total_rise / total_run); comfort: 63 cm ≤ 2·riser + tread ≤ 65 cm (24–25 in).

The 2R + T rule (Blondel, 1675) approximates a natural stride; the IRC limits are the US one- and two-family dwelling maximums (R311.7.5.1–.2), with a 3/8 in (9.5 mm) allowed variation between risers. UK Part K allows risers 150–220 mm and goings ≥ 220 mm for private stairs.

Inputs

ParameterTypeUnitRequiredDescription
unit_systemenum: metric | imperialdefault metricUnit system of the length inputs (metric: m / cm / mm; imperial: ft / in). Outputs are reported in both systems.
total_risenumbercm or inyesFinished-floor to finished-floor height in centimetres (metric) or inches (imperial). Range: > 0, ≤ 2000
ideal_riser_heightnumbercm or innoPreferred riser height; the riser count is total_rise / this value rounded to the nearest whole number. Default 18 cm (metric) or 7 in (imperial). Range: > 0, ≤ 40
tread_depthnumbercm or innoHorizontal depth of each tread, nosing to nosing. Default from the comfort rule: 63 cm − 2 × riser (metric) or 25 in − 2 × riser (imperial). Range: > 0, ≤ 100

Outputs

OutputTypeUnitDescription
risersintegerround(total_rise / ideal_riser_height), at least 1.
treadsintegerrisers − 1 (the upper floor acts as the last tread).
riser_height_cmnumbercmtotal_rise / risers.
riser_height_innumberinRiser height in inches.
tread_depth_cmnumbercmTread depth used.
tread_depth_innumberinTread depth in inches.
total_run_cmnumbercmtreads × tread_depth (horizontal length of the flight).
total_run_innumberinTotal run in inches.
stringer_length_cmnumbercm√(total_rise² + total_run²), the sloped length of the flight.
stringer_length_innumberinStringer length in inches.
stair_angle_degreesnumber°atan(total_rise / total_run).
comfort_checkstringWhether 2 × riser + tread falls in the 63–65 cm (24–25 in) comfort range.
code_checkstringComparison with IRC R311.7.5: riser ≤ 7¾ in (196 mm), tread ≥ 10 in (254 mm).

Example

106 in rise, 7 in target riser, 10.5 in treads: {"unit_system":"imperial","total_rise":106,"ideal_riser_height":7,"tread_depth":10.5}{"risers":15,"treads":14,"riser_height_in":7.067,"riser_height_cm":17.95,"total_run_in":147,"stringer_length_in":181.23,"stair_angle_degrees":35.8,"comfort_check":"2R + T = 24.63 in: within the 24–25 in comfort range","code_check":"Meets IRC R311.7.5 (riser 7.07 in ≤ 7.75 in, tread 10.5 in ≥ 10 in)"}

270 cm rise, 18 cm target riser, 27 cm treads: {"unit_system":"metric","total_rise":270,"ideal_riser_height":18,"tread_depth":27}{"risers":15,"treads":14,"riser_height_cm":18,"riser_height_in":7.087,"total_run_cm":378,"stringer_length_cm":464.5,"stair_angle_degrees":35.54,"comfort_check":"2R + T = 63 cm: within the 63–65 cm comfort range"}

GET https://tttkmbb.com/api/v1/calculate/stairs?unit_system=imperial&total_rise=106&ideal_riser_height=7&tread_depth=10.5

Machine access

Sources

FAQ

Why is the number of treads one less than the risers?

The top riser lands on the upper floor, which serves as the final walking surface, so a flight with n risers has n − 1 treads (unless the top tread is a separate landing board).

Which rise do I measure?

From finished floor to finished floor, including floor coverings on both levels; a 20 mm difference in finish thickness would otherwise create an uneven first or last step.

Is the IRC check valid outside the USA?

The limits are from the US residential code. Many other codes are similar but not identical (e.g. UK Part K max riser 220 mm, min going 220 mm), so verify against the local code.

Related calculators