Calculate riser height, tread count, and total run for your next project.
The vertical distance between levels.
Standard is usually around 7 inches.
The depth of the step surface.
Inches
Centimeters
Calculation Results
Number of Risers:
Actual Riser Height:
Number of Treads:
Total Run:
Stair Angle: °
Stringer Length:
How to Use the Stairs Calculator
Planning a staircase requires precision to ensure safety and compliance with local building codes. This tool calculates the exact dimensions needed for stringers, risers, and treads based on your total floor-to-floor height.
Key Definitions
Total Rise: The total vertical distance between the top of the lower floor and the top of the upper floor.
Riser Height: The vertical height of each individual step. Codes typically limit this to a maximum of 7.75 inches.
Tread Depth: The horizontal depth of each step where you place your foot. Codes typically require a minimum of 10 inches.
Total Run: The total horizontal distance the staircase covers.
The "7-11" Rule
A common rule of thumb in carpentry is the "7-11" rule: a 7-inch riser and an 11-inch tread. This generally results in a comfortable stair angle of roughly 32 to 37 degrees. If your space is tight, you may need a steeper angle, but always check local regulations regarding the "Stringer Rule" (Rise + Run should equal between 17 and 18 inches).
Example Calculation
If your total rise is 100 inches and your target riser height is 7 inches:
100 / 7 = 14.28. We round up to 15 risers.
100 / 15 = 6.67 inches (Actual Riser Height).
Number of treads = 15 – 1 = 14 treads.
If tread depth is 10.5 inches, Total Run = 14 * 10.5 = 147 inches.
function calculateStairs() {
var totalRise = parseFloat(document.getElementById('totalRise').value);
var targetRiser = parseFloat(document.getElementById('targetRiser').value);
var targetTread = parseFloat(document.getElementById('targetTread').value);
var unit = document.getElementById('unitType').value;
if (isNaN(totalRise) || totalRise <= 0 || isNaN(targetRiser) || targetRiser <= 0 || isNaN(targetTread) || targetTread <= 0) {
alert("Please enter valid positive numbers for all fields.");
return;
}
// Number of risers must be an integer. We round the division result.
var numRisers = Math.ceil(totalRise / targetRiser);
var actualRiserHeight = totalRise / numRisers;
// In most standard stairs, the top tread is the floor of the second level,
// so there is one fewer tread than there are risers.
var numTreads = numRisers – 1;
var totalRun = numTreads * targetTread;
// Calculate Angle: tan(theta) = Rise / Tread
var angleRad = Math.atan(actualRiserHeight / targetTread);
var angleDeg = angleRad * (180 / Math.PI);
// Calculate Stringer Length using Pythagorean theorem on the total triangle
var stringerLength = Math.sqrt(Math.pow(totalRise, 2) + Math.pow(totalRun, 2));
// Display results
document.getElementById('resRisers').innerText = numRisers;
document.getElementById('resRiserHeight').innerText = actualRiserHeight.toFixed(3) + " " + unit;
document.getElementById('resTreads').innerText = numTreads;
document.getElementById('resTotalRun').innerText = totalRun.toFixed(2) + " " + unit;
document.getElementById('resAngle').innerText = angleDeg.toFixed(2);
document.getElementById('resStringer').innerText = stringerLength.toFixed(2) + " " + unit;
document.getElementById('stairResults').style.display = 'block';
}