How to Calculate Roof Angle

Roof Angle & Pitch Calculator

Calculate roof slope, pitch, and degrees from rise and run.

Vertical distance from peak to eaves.
Horizontal distance from peak to wall.
Inches (Standard for 12″ Pitch) Feet Centimeters Meters

Calculation Results:

Roof Pitch (Ratio)
Roof Angle (Degrees)
Rafter Length
Slope Percentage

How to Calculate Roof Angle

Understanding your roof angle is critical for construction, solar panel installation, and determining which roofing materials (like asphalt shingles vs. metal) are suitable for your home. Roof angle is typically expressed in two ways: Pitch (ratio) and Degrees.

The Formula

The roof angle is calculated using basic trigonometry based on the "Rise" and "Run":

  • Rise: The vertical height from the top of the wall to the ridge of the roof.
  • Run: The horizontal distance from the outside of the wall to a point directly below the ridge.

Angle in Degrees = arctan(Rise / Run) × (180 / π)

Common Roof Pitch Examples

Pitch (x/12) Angle (Degrees) Roof Type
2/12 9.46° Low Slope
4/12 18.43° Standard Residential
8/12 33.69° Steep Slope
12/12 45.00° A-Frame / Very Steep

Why Angle Matters

A roof's angle determines how fast water, snow, and debris shed from the surface. For example, standard asphalt shingles generally require a minimum pitch of 2/12, and even then, they require special underlayment if the pitch is below 4/12. Extremely steep roofs (over 9/12) may require specialized safety equipment for maintenance and specific installation techniques for shingles.

function calculateRoofAngle() { var rise = parseFloat(document.getElementById('roofRise').value); var run = parseFloat(document.getElementById('roofRun').value); var unit = document.getElementById('unitType').value; var resultDiv = document.getElementById('roofResults'); if (isNaN(rise) || isNaN(run) || run <= 0) { alert("Please enter valid positive numbers for Rise and Run."); return; } // 1. Calculate Angle in Radians then Degrees var angleRadians = Math.atan(rise / run); var angleDegrees = angleRadians * (180 / Math.PI); // 2. Calculate Pitch (Rise over 12 units of Run) var pitchMultiplier = 12 / run; var pitchRise = rise * pitchMultiplier; // 3. Calculate Rafter Length (Hypotenuse) var rafterLength = Math.sqrt(Math.pow(rise, 2) + Math.pow(run, 2)); // 4. Calculate Slope Percentage var slopePercent = (rise / run) * 100; // Display Results document.getElementById('resDegrees').innerHTML = angleDegrees.toFixed(2) + "°"; document.getElementById('resPitch').innerHTML = pitchRise.toFixed(1) + " : 12"; document.getElementById('resRafter').innerHTML = rafterLength.toFixed(2) + " " + unit; document.getElementById('resSlope').innerHTML = slopePercent.toFixed(1) + "%"; // Show the result container resultDiv.style.display = 'block'; }

Leave a Comment