Skip to content

Building Code Reference

Got a CPC 906.1 correction?

Plumbing vent through roof

For builders in California, Greater Seattle, the Las Vegas area, the Denver area and Kansas City · CrossBeam Permits

What this code requires, how to fix it, and how cities and counties review it

What this code requires

CPC 906.1 sets the minimum height a plumbing vent pipe must extend above the roof surface before terminating to open air, and its minimum distance from vertical surfaces. The vent must terminate at least 6 inches above the finished roof deck and at least 12 inches from any vertical surface (a parapet, adjacent wall, roof equipment curb, or similar obstruction). Separately, CPC 906.2 requires the vent to terminate at least 10 feet from, or at least 3 feet above, any operable window, door, opening, air intake or vent shaft. The vent opening itself must be protected with an approved flashing that is watertight and securely fastened.

How to fix it

  1. Dimension the vent terminus on the plumbing riser diagram

    Add a clear annotation on the riser diagram or plumbing plan showing the height from finished roof deck to the top of the vent pipe opening. Write the actual number: "6" MIN ABOVE FINISHED ROOF" rather than "per code" or "per manufacturer." If the roof has multiple elevations or varied pitch, dimension from the highest adjacent finished surface, not the low point. This single annotation resolves the most common 906.1 correction in one step.

  2. Check clearance to vertical surfaces and nearby openings

    On the roof plan, measure from the vent pipe to every nearby vertical surface: parapets, adjacent building walls, mechanical equipment curbs, HVAC housings, and tall skylights. CPC 906.1 requires the vent to terminate at least 12 inches from any vertical surface, in addition to the 6-inch height above the roof. Separately, CPC 906.2 requires the vent to terminate at least 10 feet from, or at least 3 feet above, any operable window, door, opening, air intake or vent shaft. Mark these clearances on the roof plan so the checker can verify without scaling the drawing. Example: your vent stack is 8 feet from an operable window. That is less than 10 feet, so the vent must terminate at least 3 feet above the window. Show that height on the riser diagram and on the roof plan.

  3. Show an approved flashing at every roof penetration

    The code requires an approved flashing at each vent-through-roof penetration. On the roof plan or plumbing sheet, call out the flashing by reference: either a manufacturer's flashing product (for example, a lead or galvanized steel storm collar with a neoprene boot) or a reference to the roofing assembly spec. If the roofing contractor is handling the flashing under a separate contract, note that explicitly, such as "flashing by roofing contractor, see sheet R-2," so the checker knows it's accounted for. A bare note that says "flash per manufacturer" with no product or assembly reference will still get flagged.

  4. Update the roof plan to show all vent locations and clearances

    The roof plan should show every vent stack penetration as a symbol with the pipe size called out. If you have multiple vent stacks within close range of a parapet, all of them need to show the 12-inch clearance dimension. Checkers cross-reference the roof plan against the riser diagram. If a vent appears on the riser but is missing from the roof plan, or vice versa, that mismatch generates a separate comment on top of the 906.1 flag.

  5. Handle sloped roof measurement correctly

    On sloped roofs, the 6-inch measurement is taken perpendicular to the roof surface at the point of penetration, not vertical from the ceiling below. This matters on roofs steeper than 4:12 because a vertical pipe stub at 6 inches above the sheathing may measure less than 6 inches perpendicular to the slope at the uphill edge. Show the vent pipe as vertical and note "6" MIN MEASURED PERPENDICULAR TO ROOF SURFACE." Include a detail if the slope is steep enough to make the dimension ambiguous at a glance.

  6. Check for local amendments before resubmitting

    Some OC jurisdictions require a screened or capped vent termination to prevent bird nesting or debris entry. Cities that have adopted local amendments to the CPC may have this requirement in addition to the base code height minimums. If you're pulling a permit in one of these jurisdictions, check the local plumbing amendment adoption ordinance or call the plan check counter before resubmitting. Asking upfront is faster than getting a second correction on the same vent after you thought you had resolved it.

Take the CPC 906.1 fix steps with you

All 6 steps in one email, so you have them on site instead of on this page.

Why you got flagged

Plan-checkers flag CPC 906.1 on residential and light commercial jobs more often than contractors expect, because the height detail frequently gets missed on the plumbing plan or the sheet doesn't show the roof framing context a checker needs to verify clearance.

The most common trigger is a missing dimension on the plumbing riser diagram. A contractor draws a vent stack going through the roof with a note that says "vent to exterior" or "vent per code," but doesn't show the finished-roof-to-vent-terminus dimension. That's a straight flag. The checker has no way to confirm 6-inch minimum compliance without a number on the sheet.

The second scenario is the 12-inch clearance. A plan shows a vent stack terminating 6 inches above the roof, which looks fine on a flat-plan view, until the checker overlays the roof plan and sees the vent sits closer than 12 inches to a parapet wall. The height passes, but the clearance from the vertical surface fails. This catches a lot of bathroom vent stacks on single-story additions with a parapet on the property line side.

A third pattern: the flashing detail is absent from both the structural and plumbing sheets. Each discipline assumes the other handled it. The checker needs to see an approved flashing called out on the drawings, and when it's missing, the correction goes on both sets.

The official code

California Plumbing Code, Chapter 9 Vents — Building Standards Commission

Read the source →

Common questions

Does the 12-inch rule apply to every vent near a parapet, or just through-roof vents?
Only vents that terminate through the roof are covered by CPC 906.1. Vents that terminate through a sidewall below the roof line are addressed in a different section. For through-roof vents, the termination must be at least 6 inches above the roof and at least 12 inches from a parapet, adjacent wall, mechanical curb, or similar vertical surface. That 12 inches is a clearance from the surface, not a height above it. The 10-foot distance is a different rule, CPC 906.2: the vent must terminate at least 10 feet from, or at least 3 feet above, any operable window, door, opening, air intake or vent shaft. Both clearances need to appear on your roof plan before the checker will pass the sheet.
My plans say 'vent per code' — why did that get flagged?
"Per code" notes are a consistent source of corrections because they give the plan-checker nothing to verify. The checker's job is to confirm the drawings show compliance. A note that defers to the code doesn't do that. You need actual dimensions: "6" MIN ABOVE FINISHED ROOF" on the riser diagram, plus the distance to any nearby obstructions on the roof plan. Once you have real numbers on the sheets, the checker can sign off without a field inspection just to measure a vent stub. This is one of those corrections that takes 10 minutes to fix in the drawings but costs you 60 days waiting for the resubmittal review cycle.
Does CPC 906.1 apply to ADU plumbing permits?
Yes. CPC 906.1 applies to all new plumbing installations and alterations that include through-roof vent terminations, whether on a primary residence, an ADU, a garage conversion, or a light commercial building. ADU plans submitted in Anaheim or other OC cities go through the same plumbing plan check process, and the same CPC chapter 9 requirements apply. Some cities have adopted local plumbing amendments, but the 906.1 height minimums are consistent across the state.
Can a plumbing vent share a roof penetration with a gas flue?
No. A sanitary plumbing vent and a gas appliance flue must be separate penetrations. They have different clearance and termination requirements under different code sections. CPC governs the plumbing vent; CMC or CRC governs the gas flue. Running them in a shared chase inside the wall is permitted in some configurations, but they must exit through separate roof penetrations with separate flashings. If your plans show a combined penetration, expect a correction on both the plumbing and mechanical sheets.
What counts as an 'approved flashing' under CPC 906.1?
The code doesn't specify a particular brand or product. "Approved" means it meets the plumbing and roofing requirements of the adopted code and is acceptable to the building official. In practice, most inspectors accept standard lead or galvanized steel pipe flashings with a neoprene boot, a pitched aluminum base flashing, or a manufacturer-packaged pipe flashing kit. What gets flagged is the absence of any flashing call-out on the drawings. Specify the flashing type and material: "galvanized steel storm collar with EPDM boot, seal per manufacturer" is clear enough for most plan-checkers.
If I'm doing a kitchen remodel with no new vents, does 906.1 apply?
Only if your work touches or reroutes existing through-roof vent stacks. A kitchen remodel that adds fixtures but ties into an existing vent system without modifying the roof penetration typically doesn't trigger a new CPC 906.1 review. If you're moving a vent stack location or extending it through a newly framed section of roof, that's a new penetration and it gets checked. When in doubt, call your local plan-check counter before submitting. Asking upfront is faster than responding to a correction letter after the fact.

Related corrections