Attic feels damp or smells musty
Moisture isn't leaving. Check intake and exhaust before it becomes mould.
Roofing · Attic ventilation and vents
The BC Building Code asks for about one square foot of vent area for every 300 square feet of insulated ceiling, split between intake low at the soffits and exhaust high at the ridge. Plenty of Lower Mainland attics have far less, or have the exhaust without the intake. The result is a damp attic, frost on the nails in January, mould on the sheathing and shingles that cook from underneath in July. The best time to fix it is during a re-roof, when the vents are being replaced anyway.
Warning signs
Moisture isn't leaving. Check intake and exhaust before it becomes mould.
Classic sign of too little ventilation or too much moisture coming up from the house.
Years of condensation. The deck may still be sound, but the ventilation has to be fixed with the roof.
The deck has been wet from below. Replace the sheathing and correct ventilation at the same time.
Common in older houses. It should go through the roof or wall, with an insulated duct.
Options
| Option | What it is | Good for |
|---|---|---|
| Ridge vent | A continuous vent along the peak under a cap shingle, with the deck cut back to let air out. | Most gable and hip roofs with a long enough ridge. Even, quiet exhaust. |
| Box or turbine vents | Individual vents set into the upper slope. | Short ridges, complex roofs, and topping up exhaust on an existing roof. |
| Soffit intake and baffles | Vented soffit panels or added intake vents, with baffles keeping insulation off them. | Any attic with exhaust but no intake, which is most of the problem attics. |
| Bath and kitchen fan ducting | Insulated ducts run to a roof or wall cap instead of dumping into the attic. | Houses with fans venting into the attic, common before the 1990s. |
Local conditions
Our winters are mild and damp, which is the worst case for attics: indoor air carries a lot of moisture, and the attic rarely gets cold and dry enough to shed it. Without balanced ventilation, that moisture condenses on the underside of the roof deck. Over years it stains, rots and delaminates the plywood, and the roof deck fails before the shingles do.
A roofer can see the symptoms from the roof: dark staining on the deck when the old roofing comes off, rusted nail tips, mould. If your quotes don't mention ventilation at all, ask. Adding or correcting it during a re-roof costs a fraction of fixing a rotten deck later.
Costs
| Job | Typical range | What moves the price |
|---|---|---|
| Box or static roof vents | $100 to $300 each installed | Typically 4 to 8 on a house |
| Ridge vent system | $350 to $3,000 | From a short ridge to a full system with cap shingles |
| Soffit intake vents and baffles | $250 to $2,000 | Depends on how much soffit has to be opened |
| Ventilation upgrade during a re-roof | $300 to $2,000 | Much cheaper than a retrofit later ($1,500 to $4,000, one source) |
Budget ranges in CAD before GST, from prices published by Lower Mainland roofers in October 2026. Your quotes are based on a site visit.
Questions
The BC Building Code calls for about 1 square foot of vent area per 300 square feet of insulated ceiling (1 per 150 for low slopes), split roughly half intake at the soffits and half exhaust at the ridge or upper roof. Many Lower Mainland attics have the exhaust and not the intake.
Often. Thicker insulation can block soffit vents unless baffles are installed, and a better-sealed house pushes more moisture into the attic. Ventilation and insulation should be planned together.
Only if the intake is there too. Adding exhaust vents without soffit intake can pull air from the house instead. Also check that bathroom and kitchen fans aren't venting into the attic.
A ridge vent gives even, continuous exhaust along the peak and looks cleaner; it needs a long enough ridge and good soffit intake. Box vents suit short or complicated roofs. Many roofs use both.
Often done together
Guides
Attic ventilation and vents by area
Send one request and hear from up to 3 local roofers.