Roof snow load calculator
Applies the NBC equation with every coefficient exposed, so you can see which factor is driving the result.
Free · no signup Runs in your browser
How is roof snow load calculated in Canada?
The National Building Code gives S = Is[Ss(Cb·Cw·Cs·Ca) + Sr]. Ss is the 1-in-50-year ground snow load and Sr the associated rain load, both taken from Appendix C for your municipality. Cb is the basic factor, normally 0.8 on a small roof. Cw adjusts for wind exposure, Cs for roof slope, and Ca for accumulation and drifting. Is is the importance factor for the building category. The result is a specified load in kilopascals.
Ss and Sr are the whole ball game, and they are local
Everything else in the equation is a coefficient between roughly 0 and 1.25. The ground snow load Ss is the actual number, and it varies enormously across Canada.
Appendix C of NBC Division B lists Ss and Sr for hundreds of specific municipalities. A design that is generous in Victoria is dangerously light in Sept-Îles. This is not a national figure with regional adjustments — it is a location-specific value, and using a neighbouring town's can be a serious error in mountainous or lake-effect areas.
Those tables are code material and are not reproduced here. You take the pair for your municipality and enter them.
Your local building department will confirm the values that apply, and which code edition your province has adopted.
The slope factor is not linear, and it has two curves
For an ordinary roof, Cs is 1.0 up to 30°, then falls linearly as (70 − α)/40, reaching zero at 70°. Below 30° slope buys you nothing at all.
For an unobstructed slippery roof — metal, glass, some membranes, with nothing to hold snow — the reduction starts much earlier: 1.0 to 15°, then (60 − α)/45 to zero at 60°.
That second curve is why roof material matters structurally and not just aesthetically. The same 25° roof carries full load in asphalt shingle and about 78% of it in standing-seam metal.
Snow guards, vents, or anything else obstructing sliding disqualify the slippery curve. So does the presence of a lower roof the snow would slide onto.
Cb rewards a large roof, but only a large one
The basic factor is 0.8 for most roofs, reflecting that wind removes some snow from any exposed surface.
On a large roof that scouring reaches a smaller proportion of the area, so Cb rises toward 1/Cw. The threshold is a characteristic length lc = 2w − w²/l, and the reduction only starts to disappear once lc exceeds 70/Cw².
For a house, Cb is 0.8 and there is nothing to think about. For a warehouse or an arena it is not, and using 0.8 there understates the load.
The calculator applies the full form rather than the flat 0.8, so a large roof gets the correct higher factor automatically.
The balanced case is often not the one that governs
This is the most important limitation of any snow load calculator, including this one.
The balanced case assumes snow lies evenly. Real failures usually come from the cases where it does not: drift against a parapet or a taller adjacent wall, snow sliding from an upper roof onto a lower one, and unbalanced loading on one side of a ridge after wind.
Each is a separate load case with its own accumulation factor Ca, and each can exceed the balanced figure substantially — drift loads against a tall wall can be several times it.
Rain-on-snow is a further case, which is why Sr sits outside the coefficient bracket in the equation rather than being scaled by it.
If your roof has a parapet, a step in level, or a neighbouring taller structure, the balanced number is not your design load.
Importance factor, and which limit state you are in
Is scales the whole result by building category: 0.8 for low importance such as a farm shed, 1.0 for normal buildings, 1.15 for high importance including schools and community centres, and 1.25 for post-disaster buildings like hospitals and fire stations.
Those are the ultimate limit state values, used for strength design. For serviceability — deflection, ponding — Is is 0.9 across every category.
Getting the category wrong is a 56% swing between a farm shed and a hospital on identical geometry.
The category is defined in the code, not chosen by preference. Check Table 4.1.2.1 rather than assuming.
The equation
NBC Division B, Article 4.1.6.2.
S = Is [ Ss ( Cb · Cw · Cs · Ca ) + Sr ]Ss 1-in-50-year ground snow load, kPa } Appendix C,Sr associated rain load, kPa } by municipalityIs importance factorULS low 0.8 · normal 1.0 · high 1.15 · post-disaster 1.25SLS 0.9 for every categoryCb basic factor0.8 when lc ≤ 70/Cw²(1/Cw)[1 − (1 − 0.8Cw)·e^(−(lc·Cw² − 70)/100)] when largerlc = 2w − w²/l (characteristic length)Cw wind exposure 1.0 normally · 0.75 exposed · 0.5 north of treelineCs slope factorordinary roof: 1.0 to 30° · (70−α)/40 to 70° · 0 beyondslippery roof: 1.0 to 15° · (60−α)/45 to 60° · 0 beyondCa accumulation factor, 1.0 for a simple balanced case1 kPa = 101.97 kg/m² = 20.89 psf
Note that Sr sits outside the coefficient bracket. Rain load is not reduced by slope, wind or accumulation — it is added after those are applied, because rain falling on snow does not scour or shed the way snow does.
The reduced Cw values carry conditions. Exposure reductions generally do not apply where the roof is sheltered by trees or taller buildings within a specified distance, and they are not available for some building categories at all. Check the code before claiming 0.75.
Worked example: a house roof
A normal-importance house, 10 m by 15 m, 6-in-12 pitch (26.57°), asphalt shingle, sheltered site. Ss = 2.0 kPa and Sr = 0.4 kPa for the municipality.
- lc = 2(10) − 10²/1513.3 m
- lc ≤ 70/Cw² so Cb0.8
- Cw sheltered1.0
- Cs at 26.57° on an ordinary roof1.0
- Ss(Cb·Cw·Cs·Ca) = 2.0 × 0.81.60 kPa
- S = 1.0 × (1.60 + 0.40)2.00 kPa
2.00 kPa, which is about 204 kg/m² or 41.8 psf.
Note the slope earns nothing here — at 26.57° the ordinary-roof factor is still 1.0, since the reduction does not begin until 30°. In standing-seam metal the slippery curve would give Cs = 0.743 and drop the load to 1.59 kPa.
Load cases this calculator does not cover
- Drift against a parapet, a taller adjacent wall, or a rooftop unit
- Sliding snow arriving from a higher roof
- Unbalanced loading on one side of a ridge after wind
- Snow on a lower roof beside a taller building
- Rain-on-snow ponding on a low-slope roof with poor drainage
- Any load combination with dead, live, wind or seismic loads
Terms on this page
- Ss
- The 1-in-50-year ground snow load in kilopascals for a specific municipality, from NBC Division B Appendix C.
- Sr
- The associated rain load. Added after the coefficients rather than scaled by them, because rain does not scour or shed like snow.
- Characteristic length
- lc = 2w − w²/l, a measure of roof size determining whether the 0.8 basic factor still applies or Cb rises toward 1/Cw.
- Slippery roof
- An unobstructed surface snow can slide off — metal, glass, some membranes. Earns a steeper slope reduction, but only with nothing obstructing the slide.
- ULS and SLS
- Ultimate and serviceability limit states. Strength design uses the ULS importance factors; deflection checks use 0.9 for every category.
Common questions
How is roof snow load calculated in Canada?
S = Is[Ss(Cb·Cw·Cs·Ca) + Sr] under the National Building Code. Ss and Sr are location-specific values from Appendix C; the coefficients adjust for roof size, wind exposure, slope, accumulation and building importance.
Where do I get the ground snow load for my area?
Appendix C of NBC Division B lists Ss and Sr for hundreds of Canadian municipalities. Your local building department will confirm the values and which code edition your province has adopted. They vary enormously and a neighbouring town's figure can be seriously wrong.
Does a steeper roof carry less snow?
Only past 30° on an ordinary roof — below that the slope factor is 1.0 and steepness buys nothing. An unobstructed slippery roof starts reducing at 15° instead, which is why roof material matters structurally.
What is 1 kPa of snow load in pounds per square foot?
About 20.89 psf, or 101.97 kg/m². A 2.0 kPa specified load is roughly 41.8 psf.
Is the balanced load the one I design to?
Not necessarily. Drift against a parapet or taller wall, sliding snow from an upper roof, and unbalanced loading after wind are separate cases that frequently govern instead, and drift loads can be several times the balanced figure.
Do I need an engineer?
In almost all cases yes. Roof structural design must meet the National Building Code as adopted by your province, and permits generally require a licensed professional engineer's stamp. A roof failure under snow is a life-safety event.
Where these numbers come from
- National Research Council Canada — National Building Code of Canada Article 4.1.6.2 gives the snow load equation; Division B Appendix C gives Ss and Sr by municipality.
- Canadian Wood Council — Design tools Reference material on applying NBC loads to wood roof framing.
Last verified 2026-08-01 Rates on this page are checked against the sources above at least once a year, and whenever the governing authority announces a change. Spotted something out of date? Tell us and we will fix it.
Related calculators
Roof truss
Rise, chord lengths and cut angles from span and pitch, in millimetres or inches.
Open calculatorCubic yards
Concrete, soil and gravel volume in cubic yards and cubic metres — the two units Canadian suppliers actually use.
Open calculatorWind chill
The Environment Canada wind chill index, with frostbite risk and the exposure times behind it.
Open calculatorConduit fill
Fill percentage against the Canadian Electrical Code limits — including the 31% rule that catches everyone.
Open calculator🔧 Trades, farm and workshop calculators
Built metric-first, because Canadian job sites and farms run in litres and hectares.
See all 8 calculators in this section