# Roof pitch and slope calculator: angle, grade and rise over run

> Angle, percent grade and roof pitch (x in 12) from rise and run or from any one of them, with the sloped length and rafter factor.

Interactive version: https://www.calcopenly.com/geometry/slope-roof-pitch-calculator
Subject: Geometry calculators

Every way of stating a slope comes from one ratio, m = rise ÷ run. The angle from horizontal is arctan m, the percent grade is 100m, the roof pitch is 12m (units of rise per 12 of run), and the rafter factor √(1 + m²) turns a horizontal run into the sloped length. Enter a rise and run, or any one of the other forms, and the rest follow.

The default rise of 6 over a run of 12 is a 6/12 roof: 26.57°, a 50% grade and a rafter factor of 1.1180, so 12 cm of run needs 13.4164 cm of rafter. Ramps and roads use the same numbers: the steepest ramp the 2010 ADA Standards allow, 1:12, is an 8.33% grade, or 4.76°.

Percent grade is not an angle: a 100% grade is 45°, and a vertical face has no finite grade or pitch, so angles must lie between −90° and 90°. A negative rise describes a downhill slope.

## Inputs

- **I know the** (options: Rise and run, Angle, Percent grade, Roof pitch)
- **Rise**: Negative for a downhill slope
- **Run (horizontal distance)**
- **Angle from horizontal**: Between −90° and 90°
- **Grade**: Rise per 100 of run
- **Pitch**: Rise for every 12 of run, as in a 6/12 roof
- **Show results in** (options: Millimetres (mm), Centimetres (cm), Metres (m), Kilometres (km), Inches (in), Feet (ft), Yards (yd), Miles (mi))

## Results

- Angle (°) — main result
- Grade
- Roof pitch (in 12)
- Ratio (rise : run)
- Rise per unit of run
- Rafter length factor
- Slope length

## Formula

$$
\begin{gathered} m = \frac{\text{rise}}{\text{run}},\quad \theta = \arctan m,\quad \text{grade} = 100m\,\% \\[6pt] \text{pitch} = 12m \text{ in } 12,\quad \text{factor} = \sqrt{1 + m^2} \end{gathered}
$$

## Worked examples

### Rise 6, run 12 (a 6/12 roof)

- I know the: Rise and run
- Rise: 6 cm
- Run (horizontal distance): 12 cm
- Show results in: Centimetres (cm)
- **Angle: 26.565051 °**
- **Grade: 50%**
- **Roof pitch: 6 in 12**
- **Ratio (rise : run): 1 : 2**
- **Rafter length factor: 1.118034**
- **Slope length: 13.416408 cm**
- Checked against: Python 3.8 math: degrees(atan(0.5)), sqrt(1.25), sqrt(6**2 + 12**2)

### 45°

- I know the: Angle
- Angle from horizontal: 45 °
- **Grade: 100%**
- **Roof pitch: 12 in 12**
- **Ratio (rise : run): 1 : 1**
- **Rafter length factor: 1.414214**
- Checked against: tan 45° = 1; Python 3.8 math.sqrt(2)

### 8 % road grade

- I know the: Percent grade
- Grade: 8%
- **Angle: 4.573921 °**
- **Roof pitch: 0.96 in 12**
- **Ratio (rise : run): 1 : 12.5**
- Checked against: Python 3.8 math: degrees(atan(0.08)); 12 × 0.08; 1/0.08

### 4/12 roof pitch

- I know the: Roof pitch
- Pitch: 4 in 12
- **Angle: 18.434949 °**
- **Grade: 33.333333%**
- **Rafter length factor: 1.054093**
- Checked against: Python 3.8 math: degrees(atan(4/12)), sqrt(1 + 1/9)

### ADA ramp 1:12

- I know the: Rise and run
- Rise: 1 cm
- Run (horizontal distance): 12 cm
- Show results in: Centimetres (cm)
- **Grade: 8.333333%**
- **Angle: 4.763642 °**
- **Ratio (rise : run): 1 : 12**
- Checked against: ADA §405.2 maximum ramp slope 1:12; Python 3.8 math: degrees(atan(1/12))

### Flat ground (edge case)

- I know the: Rise and run
- Rise: 0 cm
- Run (horizontal distance): 5 cm
- Show results in: Centimetres (cm)
- **Angle: 0 °**
- **Grade: 0%**
- **Roof pitch: 0 in 12**
- **Rafter length factor: 1**
- **Slope length: 5 cm**
- Checked against: Zero rise: tan θ = 0

## Questions

### How do you convert percent grade to degrees?

Take the arctangent of the grade divided by 100: θ = arctan(grade/100). An 8% road grade is arctan 0.08 = 4.57°, and a 100% grade is 45°, not 90°. The reverse is grade = 100 × tan θ, so a 30° slope is a 57.7% grade.

### What angle is a 6/12 roof pitch?

26.57°. A pitch of x/12 means x units of rise for every 12 of run, so the angle is arctan(x/12): 4/12 is 18.43°, 6/12 is 26.57°, 8/12 is 33.69° and 12/12 is 45°. The rafter factor for 6/12 is √1.25 = 1.118, so 12 ft of horizontal run needs 13.42 ft of rafter before any overhang.

### What is the maximum slope for a wheelchair ramp?

1:12 under the 2010 ADA Standards for Accessible Design (§405.2): one unit of rise for every 12 of run, an 8.33% grade or 4.76°. Each ramp run may rise at most 30 in (§405.6), so a 30 in rise needs a run of at least 30 ft. Other countries set their own limits in their building codes.

### How do you calculate rise over run?

Divide the vertical rise by the horizontal run, both in the same unit: m = rise/run. A roof that rises 6 in over 12 in of run has m = 0.5. Measure the run horizontally, not along the surface: the sloped length here is 13.42 in, and dividing by it gives 0.447, the sine of the angle rather than the slope.

### How accurate is the roof pitch and slope calculator?

Accuracy depends on your inputs and the method's assumptions. Decimal arithmetic uses 50 significant digits, but estimates, numerical methods and source data can be less precise; the displayed rounding does not remove those limits. It is checked against 8 worked examples whose answers come from independent sources; for example, “Rise 6, run 12 (a 6/12 roof)” is checked against Python 3.8 math: degrees(atan(0.5)), sqrt(1.25), sqrt(6**2 + 12**2).

### Where does the method come from?

OpenStax College Algebra 2e, §4.1 — slope as rise over run; US Access Board, ADA Standards §405.2 — ramp slope 1:12 (8.33 %).

## Sources

- [OpenStax College Algebra 2e, §4.1 — slope as rise over run](https://openstax.org/books/college-algebra-2e/pages/4-1-linear-functions)
- [US Access Board, ADA Standards §405.2 — ramp slope 1:12 (8.33 %)](https://www.access-board.gov/ada/#ada-405)
