About this calculator
This calculator takes off a whole two-slope (gable, duo-pitch) roof: the ridge length, each slope's rafter length, rafter count and surface area, the total roof area next to its plan projection, the gable-end triangles for cladding, and the rafter and ridge-board timber volume.
The two slopes need not match. An asymmetric roof — one slope steeper than the other, the ridge off-centre — is a real design, and the calculator handles it: give the second slope its own pitch and the ridge position, both rafter lengths and both areas are computed separately.
As with every roof, the surface is larger than the plan. Each slope is its
projection divided by cos(pitch), and the overhangs add area the footprint
does not have. The calculator reports footprint, projected area and true area
side by side so the difference is visible before covering is ordered.
This calculator does not design the structure. The rafter and ridge-board sections are your inputs; they size the timber volume and nothing else. Whether the rafters can span the roof under your loads is a question for span tables or an engineer working to Eurocode 5 and its national annex — this page does not answer it and does not recommend a section.
Formula
Pitch can be entered as an angle or as a rise per run; rise/run is converted
once with pitch = atan(rise / run). The second slope is either the same, or
given its own angle or rise/run. The slope arithmetic is the rafter
calculator's:
run1 + run2 = span (wall to wall)
run1 × tan(pitch1) = run2 × tan(pitch2) = rise
→ run1 = span × tan(pitch2) / (tan(pitch1) + tan(pitch2)) (= span / 2 when equal)
rafter run (each) = run − ridge thickness / 2 (plumb cut on the ridge face)
rafter length = (rafter run + eaves overhang) / cos(pitch) (top edge, ridge face to tail)
slope length = (run + eaves overhang) / cos(pitch) (ridge centreline to tail)
ridge length = building length + 2 × gable overhang (= roof length)
eaves length = 2 × roof length
slope area = slope length × roof length (each slope)
total roof area = slope area 1 + slope area 2
projected area = (span + 2 × eaves overhang) × roof length
footprint = building length × span
gable triangle = span × rise / 2 (each end)
rafters per slope = ceil(roof length / spacing) + 1
rafter timber = Σ count × rafter length × width × depth
ridge timber = ridge length × ridge thickness × ridge depth
Rafter length is measured along the top edge from the ridge board's face to the tail; slope length (what the covering has to cover) runs from the ridge centreline. The rafter count places one rafter at each end of the roof length and one per spacing interval between, rounded up, on each slope.
Worked example
Defaults: 10 × 8 m building, 35° both slopes, eaves overhang 500 mm, gable overhang 300 mm, 50 × 200 ridge board, rafters 50 × 200 at 600 mm.
run = 8000 / 2 = 4000 mm
rise = 4000 × tan 35° = 4000 × 0.70021 = 2800.8 mm
1 / cos 35° = 1.22077
slope length = (4000 + 500) × 1.22077 = 5493.5 mm
rafter length = (4000 − 25 + 500) × 1.22077 = 5463.0 mm
ridge length = 10 000 + 2 × 300 = 10 600 mm
slope area = 5.4935 × 10.6 = 58.23 m² (each)
total area = 2 × 58.23 = 116.46 m²
projected area = 9.0 × 10.6 = 95.40 m² (surface is 22 % more)
footprint = 10 × 8 = 80.00 m² (surface is 46 % more)
gable triangle = 8 × 2.8008 / 2 = 11.20 m² per end, 22.41 m² both
rafters = ceil(10 600 / 600) + 1 = 19 per slope = 38
rafter timber = 38 × 5.463 × 0.05 × 0.2 = 2.076 m³
ridge timber = 10.6 × 0.05 × 0.2 = 0.106 m³
With no gable overhang the roof length is 10 m: 18 rafters per slope (36) and 109.9 m² of roof.
FAQ
Why are there two slope sections when both pitches are the same? So that the asymmetric case reads the same way as the symmetric one. When the pitches are equal the two sections carry identical numbers; when they differ, each slope's run, rafter length, count and area are its own.
Where does the ridge end up on an asymmetric roof? Where the two slopes meet at the same height: the steeper slope takes the shorter run. With 30° and 60° on an 8 m span the ridge sits 6 m from the 30° wall and 2 m from the 60° wall, and the calculator says so in a note.
What is the gable triangle for?
Cladding the gable-end wall above the wall plates — boards, render, brick. It
is span × rise / 2 per end, measured at the wall, and does not include the
soffit under the gable overhang or any roof covering.
Does the ridge board reduce the rafter length? By half its thickness per rafter, the same way the rafter calculator does it: the plumb cut lands on the ridge board's face, not the centreline. Set the thickness to 0 for rafters that meet at the centreline.
Does it check the rafter size or the ridge board? No. Both sections are your inputs and only size the timber. Spans, loads and deflection are governed by Eurocode 5 with your national annex or by published span tables; this calculator does not attempt them.
Which numbers do I order covering by? The total roof area (or each slope's area, if the two coverings differ) — never the footprint. At 35° the roof is 22 % larger than its own plan projection and 46 % larger than the floor beneath it.
Assumptions and limits
No standard is cited. Ridge length, rafter length, rafter count and roof area are trigonometry and counting; no standard governs them and none has been invented. The 18.4° (4 in 12) low-slope warning is a general guideline, not a code requirement.
Geometry only, no structural design. Rafter and ridge sections are user inputs used solely for timber volume. This page does not check spans, loads, bearing, bracing, ties or connections, and does not recommend a section.
Rafters are straight and continuous from ridge face to tail; birdsmouths, purlins, collars, wall-plate thickness and splices are not modelled. Rafter length is the top-edge line length, not a centreline and not a stock length.
Both slopes share the eaves overhang and the gable overhang, and both gable ends are the same. A hip end, a dormer, or a roof whose two eaves sit at different heights is not this calculator.
No waste allowance is applied to the timber; the count already includes the end rafters and rounds the last bay up.