Calculator overview
Inputs and outputs
This summary comes from the calculator's published input and output contract.
Inputs
- Tread depth (required) Conditional
-
Unit in Default 10.5 Range At least 0
About this input
The run of each tread, nosing to nosing, as building codes measure it, in inches. Used when the unit system is US. The default is the requirement's 10.5 in.
- Minimum tread depth (required) Conditional
-
Unit cm Default 25.4 Range At least 0
About this input
The shallowest tread allowed, in centimetres. Used when the unit system is Metric. The default 25.4 cm (254 mm) is the International Residential Code's (R311.7.5.2).
- Minimum tread depth (required) Conditional
-
Unit in Default 10 Range At least 0
About this input
The shallowest tread allowed, in inches. Used when the unit system is US. The default 10 in is the International Residential Code's (R311.7.5.2).
- Total rise (required) Conditional
-
Unit cm Default 274.32 Range At least 0
About this input
The vertical height the stair climbs, from finished floor to finished floor, in centimetres. Used when the unit system is Metric. The default 274.32 cm is worked example 11.5.4.1's 108 in converted exactly.
- Total rise (required) Conditional
-
Unit in Default 108 Range At least 0
About this input
The vertical height the stair climbs, from finished floor to finished floor, in inches. Used when the unit system is US. The default 108 in is worked example 11.5.4.1's.
- Tread depth (required) Conditional
-
Unit cm Default 26.67 Range At least 0
About this input
The run of each tread, nosing to nosing, as building codes measure it, in centimetres. Used when the unit system is Metric. The default 26.67 cm is 10.5 in converted exactly.
- 2R + T, maximum (required) Conditional
-
Unit cm Default 63.5 Range At least 0
About this input
The upper end of the range for twice the riser height plus the tread depth (2R + T), in centimetres. Used when the unit system is Metric. It is a comfort rule of thumb, not a code requirement. The default 63.5 cm is 25 in converted exactly.
- Unit System (required)
-
Default US Allowed US, Metric
About this input
US uses inches, Metric uses centimetres. Each system keeps its own values in every field; switching does not convert what you typed. The Metric defaults are the US figures converted exactly, except the riser limits, which are the codes' own metric figures.
- Stair width (required) Conditional
-
Unit cm Default 91.44 Range At least 0
About this input
The stair's width, in centimetres. Used when the unit system is Metric. It sets how many stringers are needed at 16 in (40.64 cm) spacing. The default 91.44 cm is 36 in converted exactly.
- Stair width (required) Conditional
-
Unit in Default 36 Range At least 0
About this input
The stair's width, in inches. Used when the unit system is US. It sets how many stringers are needed at 16 in (40.64 cm) spacing. The default 36 in is worked example 11.5.4.1's.
- 2R + T, maximum (required) Conditional
-
Unit in Default 25 Range At least 0
About this input
The upper end of the range for twice the riser height plus the tread depth (2R + T), in inches. Used when the unit system is US. It is a comfort rule of thumb, not a code requirement. The default is 25 in.
- 2R + T, minimum (required) Conditional
-
Unit cm Default 60.96 Range At least 0
About this input
The lower end of the range for twice the riser height plus the tread depth (2R + T), in centimetres. Used when the unit system is Metric. It is a comfort rule of thumb, not a code requirement. The default 60.96 cm is 24 in converted exactly.
- 2R + T, minimum (required) Conditional
-
Unit in Default 24 Range At least 0
About this input
The lower end of the range for twice the riser height plus the tread depth (2R + T), in inches. Used when the unit system is US. It is a comfort rule of thumb, not a code requirement. The default is 24 in.
- Target riser height (required) Conditional
-
Unit in Default 7.5 Range At least 0
About this input
The riser height you would like, in inches. Used when the unit system is US. The rise is divided into the nearest whole number of equal risers; an exact half goes to the even count. The default is the requirement's 7.5 in.
- Minimum headroom (required) Conditional
-
Unit cm Default 203.2 Range At least 0
About this input
The least headroom allowed, in centimetres. Used when the unit system is Metric. Checked only when you enter a headroom. The default 203.2 cm (2032 mm) is the International Residential Code's (R311.7.2).
- Minimum headroom (required) Conditional
-
Unit in Default 80 Range At least 0
About this input
The least headroom allowed, in inches. Used when the unit system is US. Checked only when you enter a headroom. The default 80 in (6 ft 8 in) is the International Residential Code's (R311.7.2).
- Headroom Conditional
-
When omitted Blank
Unit in Default Not set Range At least 0
About this input
Optional. The lowest clear height above the stair, measured straight up from the sloped line through the tread nosings, in inches. Used when the unit system is US. Leave it blank to skip the headroom check.
- Available run Conditional
-
When omitted Blank
Unit cm Default Not set Range At least 0
About this input
Optional. The horizontal floor length the stair may use, from the face of the top riser to the face of the bottom one, in centimetres. Used when the unit system is Metric. Leave it blank for no limit. If the stair at your target riser height needs more, the riser count drops to the most that fit.
- Available run Conditional
-
When omitted Blank
Unit in Default Not set Range At least 0
About this input
Optional. The horizontal floor length the stair may use, from the face of the top riser to the face of the bottom one, in inches. Used when the unit system is US. Leave it blank for no limit. If the stair at your target riser height needs more, the riser count drops to the most that fit.
- Headroom Conditional
-
When omitted Blank
Unit cm Default Not set Range At least 0
About this input
Optional. The lowest clear height above the stair, measured straight up from the sloped line through the tread nosings, in centimetres. Used when the unit system is Metric. Leave it blank to skip the headroom check.
- Nosing (required) Conditional
-
Unit cm Default 2.54 Range At least 0
About this input
How far each tread's front edge overhangs the riser below, in centimetres. Used when the unit system is Metric. It adds to the tread board, not to the run, and no limit is checked on it. The default 2.54 cm is 1 in converted exactly.
- Minimum riser height (required) Conditional
-
Unit cm Default 10.2 Range At least 0
About this input
The shortest riser allowed, in centimetres. Used when the unit system is Metric. The default 10.2 cm is the International Building Code's own metric figure (102 mm, 1011.5.2); the residential code sets no minimum.
- Minimum riser height (required) Conditional
-
Unit in Default 4 Range At least 0
About this input
The shortest riser allowed, in inches. Used when the unit system is US. The default 4 in is the International Building Code's (1011.5.2); the residential code sets no minimum.
- Target riser height (required) Conditional
-
Unit cm Default 19.05 Range At least 0
About this input
The riser height you would like, in centimetres. Used when the unit system is Metric. The rise is divided into the nearest whole number of equal risers; an exact half goes to the even count. The default 19.05 cm is 7.5 in converted exactly.
- Nosing (required) Conditional
-
Unit in Default 1 Range At least 0
About this input
How far each tread's front edge overhangs the riser below, in inches. Used when the unit system is US. It adds to the tread board, not to the run, and no limit is checked on it. The default 1 in is a typical projection.
- Maximum riser height (required) Conditional
-
Unit cm Default 19.6 Range At least 0
About this input
The tallest riser allowed, in centimetres. Used when the unit system is Metric. The default 19.6 cm is the International Residential Code's own metric figure (196 mm, R311.7.5.1); use the figure your jurisdiction adopted.
- Maximum riser height (required) Conditional
-
Unit in Default 7.75 Range At least 0
About this input
The tallest riser allowed, in inches. Used when the unit system is US. The default 7 3/4 in is the International Residential Code's (R311.7.5.1); use the figure your jurisdiction adopted.
Outputs
- Stringers
-
No unit declared
About this output
How many stringers the width needs: one at each side and enough between that none are more than 16 in (40.64 cm) apart. A single step has no stringer and reads 0.
- Stringer length
-
Unit in
About this output
The length of the sloping line from the bottom to the top of the stair, the square root of the rise squared plus the run squared. Allow extra for the cuts. A single step (one riser, no treads) has no stringer and reads 0.
- Total run
-
Unit in
About this output
The treads times the tread depth: the floor length the stair covers.
- Treads
-
No unit declared
About this output
One fewer than the risers; the upper floor is the last step.
- Tread depth with nosing
-
Unit in
About this output
The tread depth plus the nosing: how deep each tread board is.
- Risers
-
No unit declared
About this output
How many equal risers the stair has.
- Checks against your limits
-
No unit declared
About this output
Each check with the stair's value, the limits it is held to, whether it is within them, and where the default limit comes from. The headroom row reads Not checked when no headroom is entered.
- Within every limit checked
-
No unit declared
About this output
Yes when every check that was made is within its limits. The headroom counts only when you enter it; the run, the stringers, the nosing and the width are not checked.
- Model Status
-
No unit declared
About this output
OK when the stair is within every limit checked and needed no reduction. CHECK names every limit the stair is outside, and a riser count reduced to fit your run. NOT VALID names the first input to fix; every figure then reads 0 and every verdict NOT VALID.
- Riser height
-
Unit in
About this output
Each riser's height: the total rise divided by the number of risers.
- Riser count reduced to fit the run
-
No unit declared
About this output
Yes when the stair at your target riser height would need more run than you entered, so the riser count was reduced to the most that fit.
LogicCommons is in beta. If a result, label, or reference looks wrong, tell us here; we read every message.
Methodology
Purpose and model boundary
This calculator lays out one straight flight of stairs from the height it climbs. You enter the total rise, the riser height and tread depth you would like, the nosing and the stair's width, and, if you have them, the horizontal run the stair may use and the headroom above it. The spreadsheet returns the number of risers and treads, the actual riser height, the total run, the stringer length and the number of stringers, and it checks the riser height, the tread depth, twice the riser height plus the tread depth (2R + T) and, when you enter it, the headroom against limits you can change. If you enter the run you have and the stair at your target riser height would need more, it cuts the riser count to the most that fit and says so. It is not a stair design, a building-code determination or an inspection: it lays out equal risers in one flight with no landing, winder or spiral, and it does not check the stair's width, the nosing, the handrails, the guards or the difference between the tallest and the shortest riser.
Inputs and units
The unit system is US or Metric: US works in inches and Metric in centimetres, for every input and every result that has a unit. The inputs are:
- Total rise: the vertical height the stair climbs, from finished floor to finished floor.
- Target riser height: the riser height you would like. The rise is divided into the nearest whole number of equal risers, so the actual riser height is usually a little different.
- Tread depth: the run of each tread, nosing to nosing, as building codes measure it.
- Nosing: how far each tread's front edge overhangs the riser below. It adds to the tread board, not to the run, and no limit is checked on it.
- Stair width: it sets how many stringers are needed at 16 in (40.64 cm) spacing.
- Available run (optional): the horizontal floor length the stair may use, from the face of the top riser to the face of the bottom one. Leave it blank for no limit.
- Headroom (optional): the lowest clear height above the stair, measured straight up from the sloped line through the tread nosings. Leave it blank to skip the headroom check.
- The limits to check against: Maximum riser height, Minimum riser height, Minimum tread depth, the 2R + T minimum and maximum, and Minimum headroom.
Every input but the unit system has one field for each system, each with its own default, and each system keeps its own values: switching between US and Metric shows the other system's fields with their own values and never converts a number you typed. The spreadsheet reads only the fields of the selected system.
The US defaults are worked example 11.5.4.1 of the requirement this calculator was built against: a 108 in rise at a 7.5 in target riser with 10.5 in treads, 36 in wide, with a 1 in nosing, a typical projection inside the 3/4 to 1 1/4 in range the International Residential Code (IRC) sets for nosings. The default limits are 7 3/4 in for the maximum riser height (IRC R311.7.5.1), 4 in for the minimum riser height (International Building Code 1011.5.2; the IRC sets no minimum), 10 in for the minimum tread depth (IRC R311.7.5.2), 24 to 25 in for 2R + T, a comfort rule of thumb rather than a code requirement, and 80 in, 6 ft 8 in, for the minimum headroom (IRC R311.7.2). The Metric defaults are the US figures converted exactly, at 2.54 cm to the inch (274.32, 19.05, 26.67, 2.54 and 91.44 cm, and limits of 25.4 cm, 60.96 to 63.5 cm and 203.2 cm), except the two riser limits, which are the codes' own metric figures: 19.6 cm (the IRC prints 196 mm) and 10.2 cm (the IBC prints 102 mm), not 19.685 and 10.16 cm. The limits are common US model-code figures and a rule of thumb for review before use; they are not the code in force where you build, so replace them with the figures your jurisdiction adopted.
Governing relationships
The rise divided by the target riser height is rounded to six decimal places, and then to the nearest whole number of risers, with at least one riser. A result exactly halfway between two whole numbers goes to the even one, so 12.5 becomes 12 and 13.5 becomes 14. That tie rule is a convention, not a physical preference: both counts are equally near the target.
Risers at the target = total rise ÷ target riser height, to the nearest whole number, a half to the even count
When you enter an available run, the most risers that fit it are one more than the whole treads that fit, again rounded to six decimal places first:
Most risers that fit = available run ÷ tread depth, rounded down, + 1
If that is fewer than the risers at the target, the stair takes the most that fit and the riser count is reduced; otherwise it keeps the risers at the target. The requirement asks for the "minimum" riser count that fits, which read literally would always be one riser; this calculator takes the largest count that fits, which gives the lowest risers the run allows.
Riser height = total rise ÷ risers
Treads = risers − 1, because the upper floor is the last step
Total run = treads × tread depth
Stringer length = √(total rise² + total run²), or 0 when there are no treads
Stringers = stair width ÷ stringer spacing, rounded up, + 1, or 0 when there are no treads
The stringer spacing is 16 in, 40.64 cm in Metric, and the ratio is rounded to six decimal places before it is rounded up, so a width that is an exact multiple of the spacing is not given an extra stringer by the last digit of the arithmetic: 48 in holds 3 spaces and 4 stringers.
Tread depth with nosing = tread depth + nosing
2R + T = 2 × riser height + tread depth
The checks compare the riser height with its maximum and its minimum, the tread depth with its minimum, 2R + T with its range, and, when you enter it, the headroom with its minimum. Each value is rounded to six decimal places before it is compared, and a value equal to its limit is within it. Within every limit checked is Yes when every check that was made is within its limits; a headroom you left blank is not checked and does not count against it.
Calculation sequence
- The spreadsheet reads the unit system and the fields of the selected system.
- The risers at the target: the rise over the target riser height, rounded to six decimal places, then to the nearest whole number, a half to the even count, and at least one.
- When an available run is entered, the most risers that fit it; the riser count is reduced when that is fewer than the risers at the target.
- Riser height, treads, total run, stringer length and stringers, tread depth with nosing, and 2R + T.
- The five checks, and whether the stair is within every limit checked.
- The status line is chosen, as described below. When it begins
NOT VALID:, every figure reads 0 and every verdict readsNOT VALID.
For the stair the page opens with, worked example 11.5.4.1: 108 ÷ 7.5 = 14.4, so 14 risers of 108 ÷ 14 = 7.71 in and 13 treads; the total run is 13 × 10.5 = 136.5 in and the stringer √(108² + 136.5²) = 174.06 in long; 36 ÷ 16 = 2.25 rounds up to 3 spaces, so 4 stringers; each tread board is 10.5 + 1 = 11.5 in deep. Its 2R + T is 2 × 7.71 + 10.5 = 25.93 in, above the 25 in maximum, so the page opens on CHECK: 2R + T is outside its range; the requirement's own default proportions miss that range, as every one of its examples does. Worked example 11.5.4.2 is a 96 in rise with only 110 in of run: 96 ÷ 7.5 = 12.8 gives 13 risers, whose 12 treads need 126 in, so the count drops to the 11 risers that fit (110 ÷ 10.5 = 10.48, 10 treads), at 8.73 in each, over 105 in of run with a 142.27 in stringer. Worked example 11.5.4.3, a 48 in deck stair with 11 in treads, has 6 risers of 8 in, above the 7 3/4 in maximum, 5 treads, 55 in of run and a 73 in stringer. Worked example 11.5.4.4, a 100 in rise at an 8 in target with 9 in treads, is an exact tie, 12.5, so it has 12 risers of 8.33 in, 11 treads and 99 in of run; conventional rounding would give 13. With 76 in of headroom added, its riser, tread, 2R + T and headroom all miss their limits. Worked example 11.5.4.5 is a 21 in rise at 7 in with 12 in treads, 60 in wide: 3 risers of 7 in, 2 treads, 24 in of run, and 60 ÷ 16 = 3.75, so 4 spaces and 5 stringers; its 2R + T is 26 in. In Metric, a 270 cm rise at an 18 cm target with 27 cm treads, 90 cm wide, has 15 risers of 18 cm, 14 treads, 378 cm of run, a 464.53 cm stringer and 4 stringers, and its 2R + T of 63 cm is within 60.96 to 63.5 cm, so with 210 cm of headroom it is within every limit checked and reads OK.
Outputs and interpretation
Within every limit checked is the headline verdict, Yes or No. Risers, Riser height, Treads, Total run, Stringer length and Stringers are the headline figures; Riser height, Total run and Stringer length are in inches (US) or centimetres (Metric), and the counts are whole numbers. Riser count reduced to fit the run is Yes when the stair at your target riser height would need more run than you entered, and Tread depth with nosing, in inches or centimetres, is how deep each tread board is.
Checks against your limits is a table of the five checks, one row each, in the order the checks are listed above. Its columns are the check with its unit, the stair's value (the riser height twice, the tread depth, 2R + T, and the headroom you entered, blank when you entered none), the minimum and the maximum it is held to as you entered them (a check with one limit leaves the other blank), whether it is within them (Yes, No, or Not checked for a headroom you left blank), and the source of the default limit. The source names where the default figure comes from, whatever figure you entered.
The page shows every figure to at most two decimals, and every figure is computed from unrounded values, so a figure worked out by hand from the ones shown on the page can differ in its last place.
Validation and status logic
The status line is the spreadsheet's own verdict. It is the first of these that applies:
NOT VALID: choose US or MetricNOT VALID: total rise must be greater than zeroNOT VALID: target riser height must be greater than zeroNOT VALID: tread depth must be greater than zeroNOT VALID: stair width must be greater than zeroNOT VALID: enter a nosing of zero or moreNOT VALID: enter an available run of zero or more, or leave it blankNOT VALID: enter a headroom of zero or more, or leave it blankNOT VALID: the riser height limits need a minimum of zero or more, no greater than the maximumNOT VALID: enter a minimum tread depth of zero or moreNOT VALID: the 2R + T range needs a minimum of zero or more, no greater than the maximumNOT VALID: enter a minimum headroom of zero or more
Otherwise the status is OK when the stair is within every limit checked and needed no reduction. When it is not, the status is one CHECK: line naming every reason, in this order, separated by semicolons:
the riser count was reduced to fit the available runthe riser height is above its maximumthe riser height is below its minimumthe tread depth is below its minimum2R + T is outside its rangethe headroom is below its minimum
So worked example 11.5.4.2 reads CHECK: the riser count was reduced to fit the available run; the riser height is above its maximum; 2R + T is outside its range. Every check reads the selected system's fields only. A total rise, target riser height, tread depth or stair width of zero is refused by the status line, because the layout divides by it or has no stair to count; a nosing, an available run or a headroom of zero is accepted. An available run too short for a single tread leaves one riser with no tread and no stringer. A CHECK: verdict comes with the figures; a NOT VALID: verdict is shown in place of them.
Assumptions and limitations
- One straight flight of equal risers with no landing. The rise is the height between finished floors; where a floor finish and the tread finish differ in thickness, the first and the last risers come out taller or shorter than the rest, so allow for it before cutting.
- The riser count at the target is the nearest whole number, an exact half going to the even count; that rule is a convention, and the other count may suit the stair as well.
- When the run is limited, the count is the largest that fits, which gives the lowest risers the run allows; a count further reduced would only make every riser taller.
- The stringer length is the sloping line from the bottom to the top of the stair; allow extra for the cuts at each end. A single step, one riser with no treads, has no stringer and reads 0.
- Stringers are counted at 16 in (40.64 cm) spacing, one at each side; that spacing is the requirement's, not a code value, so check it against your framing plan.
- Only the riser height, the tread depth, 2R + T and the headroom are checked. The run, the stringers, the nosing, the width and the difference between the tallest and the shortest riser are not.
- The headroom is checked only when you enter it.
- The default limits are review-before-use figures, not the code in force where you build.
- The Deck Material Takeoff Calculator counts deck stairs by a simpler rule; use this calculator to lay out the stair.
- The drawing beside the results is drawn from the returned figures and the lengths you entered. The flight, the treads, the nosing, the run, the available run and the headroom share the elevation's scale; the enlarged step and the view across the width each have their own scale bar. The floor slabs, the board thickness, the stringer's depth below the notches and the stringers' size across the width are not modelled: they are drawn at a fixed size and never dimensioned, and the stringers are drawn evenly spaced because only their count is returned. The stringer length is dimensioned along the line from the foot of the bottom riser to the top of the top riser, the line it is measured on, so it is not parallel to the cut stringer. The headroom is drawn as a clear line parallel to the line through the nosings, with no ceiling, because no ceiling position is entered. Landings, winders, rails, guards, floor finishes and the nosing on the upper floor are not drawn. A limit is drawn red only where the checks table says No, and a
NOT VALID:status shows no drawing.
Restrictions and non-computing states
This calculator accepts every length and every limit of zero or more, and the unit system US or Metric; the available run and the headroom may also be left blank. A field of the system that is not selected is not read. A total rise, target riser height, tread depth or stair width of zero, a riser height or 2R + T range whose minimum is above its maximum, and a blank required field are not computed.
Errors and warnings
The results update as you change the inputs. A blank required input stops the calculation until you fill it, and the page asks for the required inputs in place of the results. If the calculation service refuses an input, the page names the input and the reason. If the service does not answer, the page shows the error and keeps your inputs. A CHECK: status means the figures are returned with a reason to look again; a NOT VALID: status means they cannot be computed and none are shown.
References
Sources and further reading
- Town of Timnath, Colorado, 2018 Residential Stair Guide, Section R311.7 Stairways of the 2018 International Residential Code. timnath.org. The residential figures behind the default limits: a riser of 7 3/4 in (196 mm) at most (R311.7.5.1), a tread of 10 in (254 mm) at least (R311.7.5.2), headroom of 6 ft 8 in measured from the sloped plane through the tread nosings (R311.7.2), and a nosing of 3/4 to 1 1/4 in on stairs with solid risers. The guide prints 2036 mm beside 6 ft 8 in; 80 in is 2032 mm, the figure this calculator's Metric default uses.
- Illinois Building Code 2021, Section 1011.5.2, Riser height and tread depth, on UpCodes. up.codes. The 4 in (102 mm) minimum riser height behind the default minimum; the residential code sets none. Its exception for Group R-3 occupancies and for dwelling units in Group R-2 occupancies allows a riser of 7 3/4 in and a tread of 10 in, the residential figures above.
- National Institute of Standards and Technology, Guide for the Use of the International System of Units (SI), NIST Special Publication 811, Appendix B.8. nist.gov. The exact inch, 2.54 cm, behind the Metric defaults that are the US figures converted exactly.
- Michael Maines, "2 Rules for Building Comfortable Stairs Like a Pro," Fine Homebuilding. finehomebuilding.com. The comfort rule behind the 2R + T check: twice the rise plus the run should be about 25 in, within 24 to 26 in. The default range here, 24 to 25 in, is the requirement's, inside the article's.
The default limits are figures for review before use, not the code in force where you build: a jurisdiction adopts a code edition with its own amendments, and the figures it adopted are the ones to check against. The default rise, target riser height, tread depth, nosing and width are the figures of the worked example and the requirement this calculator was built to, not values from these sources. These sources describe the limits and the units; they do not certify a particular stair.
Found a problem, or have an idea?
Tell us if a result looks wrong, a label is unclear, or something is missing. We read every message.