Building safe and code-compliant deck stairs involves careful calculation of stair components, primarily the stair stringers. Stair stringers are the angled supports that hold the treads and risers. Accurate measurements are crucial for structural integrity, safety, and aesthetics.
Key Components and Calculations
This calculator helps determine the essential dimensions for your deck stair stringers based on fundamental stair-building principles:
Total Rise: This is the total vertical distance from the ground or landing surface to the top of the deck. It dictates the overall height your stairs need to cover.
Tread Depth: This is the horizontal depth of each step (the part you step on). A standard tread depth is often between 10 to 12 inches for comfortable walking.
Desired Riser Height: This is the vertical height of each individual step. Building codes typically mandate a consistent riser height for all steps, usually between 4 and 7 inches. Consistent riser heights are crucial for preventing trips.
Stringer Width: This refers to the width of the lumber used for the stringer itself, typically 11.25 inches for a standard 2×12 board (which is actually 1.5 inches thick and 11.25 inches wide). This affects the tread support.
How the Calculator Works
The calculator uses the following formulas:
Number of Risers: This is determined by dividing the Total Rise by the Desired Riser Height. Since you can't have a fraction of a riser, the result is rounded up to the nearest whole number.
Number of Risers = ceil(Total Rise / Desired Riser Height)
Actual Riser Height: Once the number of risers is determined, the actual riser height is calculated by dividing the Total Rise by the Number of Risers. This ensures consistent step heights.
Actual Riser Height = Total Rise / Number of Risers
Number of Treads: For stairs, the number of treads is always one less than the number of risers. This is because the top landing of the deck often serves as the final "tread".
Number of Treads = Number of Risers - 1
Run (Total Going): This is the total horizontal distance the stairs will cover. It's calculated by multiplying the Number of Treads by the specified Tread Depth.
Run = Number of Treads * Tread Depth
Total Stair Length (Diagonal): This is the actual length of the stringer board needed before cuts. It's calculated using the Pythagorean theorem, where the Total Rise and the Run are the two shorter sides of a right triangle, and the Total Stair Length is the hypotenuse.
Total Stair Length = sqrt(Total Rise^2 + Run^2)
Cut Lines (Approximate): While not directly displayed as a single number, the rise and run for each step are critical for marking the stringer. The "run" for each tread cut on the stringer will be the Tread Depth, and the "rise" will be the Actual Riser Height. Professional stringer layout involves marking these values sequentially along the edge of the stringer board. The nose of the tread typically extends about 1 inch past the stringer face.
Important Considerations:
Building Codes: Always consult your local building codes. There are specific regulations regarding maximum riser height, minimum tread depth, minimum tread width, and the number of risers before a landing is required.
Consistency: Ensure all riser heights are uniform, and tread depths are consistent.
Lumber Thickness: Remember that the indicated tread depth is the finished dimension. Account for the thickness of your treads when determining the actual cut lines on the stringer.
Stringer Placement: Typically, stringers are spaced about 12 to 16 inches on center.
Safety: Handrails are essential for stair safety and are often required by code.
Using this calculator will provide a solid foundation for accurately cutting your deck stair stringers, ensuring a safe, functional, and code-compliant addition to your deck.
function calculateStringer() {
var totalRise = parseFloat(document.getElementById("totalRise").value);
var treadDepth = parseFloat(document.getElementById("treadDepth").value);
var desiredRiserHeight = parseFloat(document.getElementById("riserHeight").value);
var stringerWidth = parseFloat(document.getElementById("stringerWidth").value);
var resultDiv = document.getElementById("result");
resultDiv.innerHTML = "; // Clear previous results
if (isNaN(totalRise) || isNaN(treadDepth) || isNaN(desiredRiserHeight) || isNaN(stringerWidth) ||
totalRise <= 0 || treadDepth <= 0 || desiredRiserHeight <= 0 || stringerWidth <= 0) {
resultDiv.innerHTML = "Please enter valid positive numbers for all fields.";
return;
}
// Calculations
var numRisers = Math.ceil(totalRise / desiredRiserHeight);
var actualRiserHeight = totalRise / numRisers;
var numTreads = numRisers – 1;
var totalRun = numTreads * treadDepth;
var totalStringerLength = Math.sqrt(Math.pow(totalRise, 2) + Math.pow(totalRun, 2));
// Display results
var resultHtml = "
Stringer Dimensions
";
resultHtml += "Number of Risers: " + numRisers + "";
resultHtml += "Actual Riser Height: " + actualRiserHeight.toFixed(2) + " inches";
resultHtml += "Number of Treads: " + numTreads + "";
resultHtml += "Total Run (Horizontal Distance): " + totalRun.toFixed(2) + " inches";
resultHtml += "Total Stringer Length (Diagonal): " + totalStringerLength.toFixed(2) + " inches";
resultHtml += "(Mark " + actualRiserHeight.toFixed(2) + "\" rise and " + treadDepth + "\" run for each step on your " + stringerWidth + "\" wide stringer board)";
resultDiv.innerHTML = resultHtml;
}