Stairs Calculator

Staircase Dimension Calculator

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:

  1. 100 / 7 = 14.28. We round up to 15 risers.
  2. 100 / 15 = 6.67 inches (Actual Riser Height).
  3. Number of treads = 15 – 1 = 14 treads.
  4. 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'; }

Leave a Comment