What a roof snow load is, and why it is not the ground snow load
The ground snow load pg is a statistical quantity: the weight of snow per square foot on open, level ground at your site, at roughly a 2% annual probability of exceedance in ASCE 7-16. It is measured on the ground because that is where the historical snow-course and weather-station record exists. Nobody frames a roof to it directly.
A roof carries less snow than the ground beside it for three physical reasons: wind blows some of it off, heat escaping through the roof melts it from underneath, and it slides or creeps off a steep smooth surface. ASCE 7 handles those with Ce, Ct and Cs respectively, and the blanket 0.7 in front of them is the average ground-to-roof conversion that paired ground and roof measurements support.
One point trips up almost everyone the first time: both pf and ps are loads per square foot of horizontal plan area, not per square foot of sloping roof surface. That is deliberate. Snow falls vertically, so the amount landing on a roof is set by the footprint the roof covers, and a beam or rafter is analysed over its horizontal span. If you want the roof surface area for a materials takeoff instead, that is a different number and the roof area calculator gives it.
The four factors, one at a time
Ce, the exposure factor (Table 7.3-1), runs from 0.7 to 1.2. Read it as a wind question. A roof standing above the treeline with nothing upwind of it loses snow constantly and gets 0.7. A low roof tucked between conifers and a taller wing keeps everything that lands on it and gets 1.2. Most suburban and wooded sites land on 1.0, partially exposed, and ASCE 7 instructs you to judge exposure over the whole service life of the structure — you cannot claim 0.9 because the lot is bare today if the neighbouring subdivision will shelter it in ten years.
Ct, the thermal factor (Table 7.3-2), runs from 0.85 to 1.3. A heated, normally insulated house is 1.0. A structure kept just above freezing, or one with a well-insulated ventilated roof over a cold attic, is 1.1 — it melts less from below, so it holds more. An unheated pole barn or open carport is 1.2. A continuously refrigerated freezer building is 1.3, because the roof is colder than the air above it. Only a continuously heated greenhouse with a plastic or glass cover gets the 0.85 reduction.
Is, the importance factor (Table 1.5-2), runs from 0.8 to 1.2 and follows the Risk Category. Houses and ordinary commercial buildings are Category II with Is = 1.0. A hospital, fire station or emergency shelter is Category IV with 1.2. A minor storage shed with negligible risk to life is Category I with 0.8.
Cs, the slope factor (Figure 7.4-1), runs from 1.0 down to 0. It is a two-part straight line: flat at 1.0 up to a breakpoint slope, then falling linearly to zero at 70°. The breakpoint depends on both the surface and the thermal factor, because a warm slippery roof sheds snow at a much shallower angle than a cold rough one. For a warm roof the breakpoint is 30° for ordinary surfaces and 5° for slippery unobstructed ones; at Ct = 1.1 it is 37.5° and 10°; at Ct of 1.2 or more it is 45° and 15°. Above 70° the code says no snow stays, and Cs is zero.
The word unobstructed in the slippery branch is a hard requirement, not a description. A metal roof with snow guards, a plumbing vent, a chimney cricket or a persistent ice dam at the eave is not unobstructed, and you must use the ordinary curve even though the material is smooth. That single judgement can swing the design load by more than 60% on a 40° roof.
Finally, §7.3.4 sets a floor. On roofs shallower than 15°, the balanced case must be at least pm, which equals Is × pg where pg is 20 psf or less, and 20 × Is where pg exceeds 20 psf. This is a separate load case that stands alone — you do not stack drift or unbalanced snow on top of it.
Worked example: 40 psf ground snow on an 8:12 shingled roof
A two-storey house in Risk Category II sits on a partially exposed suburban lot. The ASCE Hazard Tool returns pg = 40 psf. The roof is asphalt shingle over a heated, insulated attic at an 8:12 pitch, framed with 2×10 rafters at 16 in on centre, and the roof dead load is 15 psf of sloped surface.
- Convert the pitch to degrees. θ = arctan(8 ÷ 12) = arctan(0.66667) = 33.690°.
- Pick the factors. Partially exposed gives Ce = 1.0. Heated with normal insulation gives Ct = 1.0. Risk Category II gives Is = 1.0.
- Flat roof snow load. pf = 0.7 × 1.0 × 1.0 × 1.0 × 40 = 28.0 psf.
- Slope factor. Asphalt shingle is an ordinary surface and Ct = 1.0, so the breakpoint is 30°. Cs = 1 − (33.690 − 30) ÷ (70 − 30) = 1 − 3.690 ÷ 40 = 1 − 0.09225 = 0.90775.
- Sloped roof snow load. ps = 0.90775 × 28.0 = 25.42 psf.
- Check the minimum. The roof is 33.690°, which is steeper than 15°, so §7.3.4 does not apply and 25.42 psf governs the balanced case.
- Put the dead load on the same plan area. The 15 psf is per square foot of sloping surface, and a square foot of plan area carries 1 ÷ cos 33.690° = 1 ÷ 0.83205 = 1.2019 square feet of it. So DL on plan = 15 ÷ 0.83205 = 18.03 psf.
- Total on plan. 25.42 + 18.03 = 43.44 psf.
- Uniform load on one rafter. The tributary width is the spacing, 16 in = 1.3333 ft. w = 43.44 × 1.3333 = 57.93 plf, applied over the horizontal projection of the rafter span.
That 57.93 plf is the number you take into a span table or a bending check. If you are sizing the ridge beam or a header under a bearing point instead, the same load per square foot feeds the header size calculator, and the rafter geometry itself comes from the rafter length calculator.
How to read the result
Compare the design balanced load against the live load you would otherwise use. The IRC and IBC require you to design a residential roof for the larger of the roof live load (20 psf reducible for ordinary construction) and the calculated snow load. In much of the southern United States pg is 0 to 10 psf and the live load simply wins, which is why builders there never think about snow. Once ps passes about 20 psf, snow is the controlling case and every span table you use must be read in its snow column.
Watch the gap between pf and ps. On an ordinary warm roof, nothing at all happens until 30° — a 4:12 roof (18.43°) and a 6:12 roof (26.57°) both carry the full flat-roof load. Builders who assume a steeper roof always sheds more snow are surprised by this. The relief only starts at the breakpoint, and it arrives faster on a slippery surface, which is exactly why the unobstructed condition is policed so tightly.
Treat a large pm as a warning about low-slope roofs. When the minimum governs, the calculator says so. It is telling you that on a nearly flat roof the code does not trust the reductions, because rain falling into a snowpack, ponding at a blocked drain and a sudden warm spell all load a flat roof in ways the factored equation does not model.
The uniform member load is only the balanced case. A rafter near a wall, a step in roof height, a parapet or a rooftop unit sees more, and that comes from the drift provisions. So does the leeward side of any gable roof between 2.38° and 30.26°, where §7.6.1 requires an unbalanced case that is often the true controlling load on a house.
Slope factor C_s by roof slope, surface and thermal factor
| Slope | Pitch (rise per 12) | Warm, ordinary | Warm, slippery | C_t 1.1, ordinary | C_t ≥ 1.2, ordinary |
|---|---|---|---|---|---|
| 0° | 0.00 | 1.000 | 1.000 | 1.000 | 1.000 |
| 5° | 1.05 | 1.000 | 1.000 | 1.000 | 1.000 |
| 10° | 2.12 | 1.000 | 0.923 | 1.000 | 1.000 |
| 15° | 3.22 | 1.000 | 0.846 | 1.000 | 1.000 |
| 20° | 4.37 | 1.000 | 0.769 | 1.000 | 1.000 |
| 25° | 5.60 | 1.000 | 0.692 | 1.000 | 1.000 |
| 30° | 6.93 | 1.000 | 0.615 | 1.000 | 1.000 |
| 35° | 8.40 | 0.875 | 0.538 | 1.000 | 1.000 |
| 40° | 10.07 | 0.750 | 0.462 | 0.923 | 1.000 |
| 45° | 12.00 | 0.625 | 0.385 | 0.769 | 1.000 |
| 50° | 14.30 | 0.500 | 0.308 | 0.615 | 0.800 |
| 60° | 20.78 | 0.250 | 0.154 | 0.308 | 0.400 |
| 70° | 32.97 | 0.000 | 0.000 | 0.000 | 0.000 |
Breakpoints: warm ordinary 30°, warm slippery 5°, C_t 1.1 ordinary 37.5°, C_t 1.1 slippery 10°, C_t ≥ 1.2 ordinary 45°, C_t ≥ 1.2 slippery 15°. Pitch column is 12 · tan θ.
ASCE 7-16 versus ASCE 7-22: the importance factor moved
This calculator implements ASCE/SEI 7-16 Chapter 7, the edition referenced by the 2018 and 2021 International Building Code and by most jurisdictions today. ASCE 7-22 changed the mapping approach: ground snow loads are now published at reliability targets tied directly to the Risk Category, and the separate snow importance factor Is was removed from the equation, which becomes pf = 0.7 · Ce · Ct · pg.
To work a 7-22 problem here, set Is = 1.0 and enter the 7-22 ground snow load for your Risk Category. Do not apply the 7-16 importance factor to a 7-22 map value — the risk adjustment is already inside the mapped number, and applying it twice overstates the load. Confirm with your building department which edition and which local amendment govern before you size anything.
Mistakes that make a snow load wrong
- Using a state-wide or county-wide pg in mountainous terrain. Large parts of the western maps are shaded as case-study zones precisely because elevation changes the value faster than a map can show. In those areas the authority having jurisdiction publishes site or elevation-specific values, and the map number is not usable.
- Calling a metal roof slippery when it has snow guards. Snow guards, vents, crickets and skylights all make the surface obstructed under §7.4.1, and the ordinary curve applies. At 40° that is C_s = 0.750 rather than 0.462 — a 62% increase in load.
- Mixing sloped and plan areas. Snow load is per square foot of horizontal projection; roofing weight is usually quoted per square foot of sloped surface. Divide the dead load by cos θ before adding the two, as the worked example does.
- Stopping at the balanced case. On gable roofs between 2.38° and 30.26° the unbalanced case in §7.6.1 frequently governs the leeward rafters, and any roof stepping down from a taller one needs the drift check in §7.7.
- Forgetting that C_e is judged over the life of the building. A fully exposed reading of 0.9 taken on a cleared lot becomes wrong the moment the trees grow back or a neighbour builds taller.
- Applying the §7.3.4 minimum on top of drift. p_m is a standalone case, not an addition. Check it separately and take the worse result.
Where snow sits among the other roof loads
Snow is one of several load cases competing for control of a roof member, and which one wins is regional. In the snow belt the balanced or unbalanced snow case governs almost every rafter. On the Gulf and Atlantic coasts, uplift from the wind load calculation governs the connections while a 20 psf live load governs bending. In seismic regions, ASCE 7-16 §12.7.2 adds 20% of the flat roof snow load to the effective seismic mass where pf exceeds 30 psf.
Once you have the uniform load in pounds per foot, the member check is ordinary beam work: bending stress, shear at the supports, and deflection. The same load path continues down to the footings, where the soil bearing footing size calculator converts it to a bearing area, and the joist span calculator uses the identical load-per-square-foot convention.
Two limits worth stating plainly. This page does not generate drift loads, which depend on the upwind fetch, the height difference and a snow density derived from pg. And it does not apply load combinations — these are nominal snow loads, still to be combined with dead, live, wind and seismic effects under §2.3 or §2.4.
Key terms
- Balanced snow load
- Snow assumed to lie at uniform depth over the whole roof. It is the base case from which every other snow case is measured.
- Unbalanced snow load
- Wind moves snow from the windward slope of a gable or hip roof to the leeward slope. ASCE 7-16 §7.6 requires this case on roofs between 2.38° and 30.26°, and it commonly governs residential rafters.
- Drift
- A wedge of snow accumulating against a step in roof height, a parapet or a rooftop unit. Covered by §7.7 and §7.8; it is often several times the balanced load in the first few feet.
- Tributary width
- The width of roof whose load lands on one member. For evenly spaced rafters or trusses it equals the on-centre spacing.
