flubalub™
An all-in-one plumbing app built for Canadian plumbers.
Size a drainage pipe
Minimum sizes from NPC 2025 Tables 2.4.10.6.-A, -B and -C. Loads are in fixture units (FU).
Continuous or semi-continuous flow
A pump, air conditioner or other fixture with a continuous flow counts 31.7 FU per L/s (2.4.10.3.(1)). Equipment with a semi-continuous flow takes its load and trap size from Table 2.4.10.12, and so do multiple or manifold condensate drains.
Drainage fixture unit calculator
Every fixture in NPC 2025 Table 2.4.9.3, plus Table 2.4.10.2 for anything not listed. Enter a bathroom as one bathroom group, not as a separate water closet, lavatory and tub or shower: the group counts 6 FU with a flush tank or 8 FU with a flush valve, less than the parts added up.
What to leave out, and fixtures not listed
An emergency floor drain carries no load, so leave it out. That is one that only takes the odd spill or overflow, such as a typical washroom floor drain. Multiple or industrial lavatories, and any fixture not listed, go by trap size at the bottom of the list. Multiple or manifold condensate drains go by Table 2.4.10.12 for semi-continuous flow, on the drain sizing page.
Size a water distribution pipe
Loads are in water supply fixture units (WSFU). Québec calls them facteurs d'alimentation (F.A.). Add them up in the WSFU calculator, using each fixture's Total column at 100%.
Pressure check
Finds the pressure available for friction loss per metre of pipe, as in Note A-2.6.3.1.(2). The average pressure loss method needs at least 2.6 kPa/m; below that, use a detailed engineering design method. Pressure changes about 10 kPa for every metre of height.
Velocity check
Velocity is flow divided by the pipe's inside area. The NPC sets no number: the limit is whatever the pipe and fitting maker recommends (2.6.3.5.(1)). The limits listed are typical maker figures, not code values.
Water supply fixture unit calculator
Values are the Total column of NPC 2025 Table 2.6.3.2.-A, plus the direct flush valve Tables 2.6.3.2.-B and -C. Each fixture's total already covers its hot and cold supply, so don't add the two together.
A bathroom group is one water closet, one domestic lavatory, and a bathtub or a one-head shower, in the same room, on a ½ in tub supply. Add any fixture beyond those three separately. Commercial clothes washers and dishwashers follow the maker's data.
Offsets and take-offs
Find the run, travel and cut length for an offset, or the fitting angle that reaches a point. A fitting's take-off is its centre-to-end dimension less the pipe that goes into it, so cut length is the travel minus both take-offs.
Offset detail
An engineering-style sheet of the offset above, with every dimension labelled. It updates as you change the numbers. Not to scale.
Take-offs for this size
Offset multipliers
Multiply the offset by these to get the run and the travel for any pipe.
Wet vents
A wet vent is a sanitary drainage pipe that also vents the fixtures connected to it. Article 2.5.2.1 allows it when all of these hold:
- The load is within Table 2.5.8.1, below.
- No more than 2 water closets are wet-vented.
- Two water closets connect at the same level: by a double sanitary tee on a vertical vent pipe, or a double wye on a horizontal one.
- Water closets go downstream of every other fixture.
- Trap arms and fixture drains joining the wet vent are 2 in. or smaller, except emergency floor drains.
- Separately vented branches or fixture drains in the same storey, 2 FU in total or less, may connect to the wet vent or to a wet-vented water closet trap arm. Their load counts toward the wet vent's limit, but not when sizing the continuous vent that serves it.
- Where the wet vent runs through several storeys, no storey above the first discharges more than 4 FU into it.
- At most one nominally horizontal offset: up to 1.2 m in pipe of 2 in. or less, up to 2.5 m in larger pipe.
- The wet-vented part isn't reduced in size, except upstream of emergency floor drains.
- The length of the wet vent isn't limited.
- QCThe load is within Table 2.5.8.1.-A (all fixtures on the same storey) or Table 2.5.8.1.-B, below.
- No more than 2 water closets are wet-vented.
- Two water closets connect at the same level: by a double sanitary tee on a vertical vent pipe, or a double wye on a horizontal one.
- QCWater closet trap arms connected to a vertical pipe go downstream of all other fixtures.
- QCWhere the wet vent extends above more than 1 storey, trap arms and fixture drains joining it are 2 in. or smaller, except emergency floor drains.
- Separately vented branches or fixture drains in the same storey, 2 FU in total or less, may connect to the wet vent or to a wet-vented water closet trap arm. Their load counts toward the wet vent's limit, but not when sizing the continuous vent that serves it.
- Where the wet vent runs through several storeys, no storey above the first discharges more than 4 FU into it.
- At most one nominally horizontal offset: up to 1.2 m in pipe of 2 in. or less, up to 2.5 m in larger pipe.
- The wet-vented part isn't reduced in size, except upstream of emergency floor drains.
- The length of the wet vent isn't limited.
- QCA wet-vented stack running through more than one storey stays the same size from its bottom to the highest fixture connection.
- QCIt carries on as a stack vent or a continuous vent.
- QCTrap arms connect separately and directly to the wet vent.
When sizing, the load from the most downstream fixture, or symmetrically connected pair, isn't counted (2.5.8.1.(2)). A stack that is a wet vent needs no vent stack, but a stack vent on a wet vent stack over 4 storeys high stays full size to outside air.
QCTable 2.5.8.1.-A: wet vent serving fixtures on the same storey
| Wet vent size | Maximum load (FU) |
|---|
Table 2.5.8.1.-B: wet vents
| Wet vent size | Not serving water closets (FU) | Other fixtures, where it serves up to 2 water closets (FU) |
|---|
Size a wet vent
Types of vents and when to use them
Tap a vent type. Sizes are minimums; connect above the flood level rim of the fixture before going horizontal.
Individual vent size by trap size (Table 2.5.7.1)
| Trap | Vent |
|---|
General vent rules
- Every trap needs a vent, except a floor drain trap of 3 in. or more with a fixture drain of at least 450 mm and a fall no more than its size, and traps on subsoil, storm or indirect drainage (2.5.1.1).
- No depressions where moisture can collect. Keep vents nominally vertical where practical (2.5.6.1, 2.5.6.2).
- A vent joining a nominally horizontal drain connects above its horizontal centreline, except wet vents.
- Except for a wet vent, a vent rises above the flood level rim of every fixture it serves before joining another vent (2.5.6.4).
- A branch vent, stack vent, vent stack or vent header is never smaller than the vent pipe it connects to. Sanitary building drains need at least one vent of 3 in. or more (2.5.7.2).
- Each storey that has or may have plumbing, including the basement of a single-family dwelling, gets a vent of at least 1½ in. through it for future connections. Cap unused ones with an end cleanout or an adapter and plug (2.5.5.5, 2.5.6.2).
- Terminals in outside air: at least 1 m above, and at least 3.5 m in any other direction from, every air inlet, openable window or door; at least 2 m above, and at least 3.5 m in any other direction from, a roof that supports an occupancy; at least 2 m above the ground; and at least 1.8 m from every property line (2.5.6.5.(4)).
- Through a roof: high enough to keep roof drainage out, never less than 150 mm above the roof or above storm water that could pond on it, and flashed (2.5.6.5.(5)).
- Where frost may close a vent through a roof: increase it at least one size, and to at least 3 in., just before it goes through the roof, or insulate it, or protect it some other way (2.5.6.5.(6)).
- A vent run outside a building: no single change in direction over 45°, all parts nominally vertical, increased to at least 3 in. before it goes through a wall or roof where frost may close it, and ending above the roof where the building is 4 storeys or less (2.5.6.5.(3)).
- QCFrost protection through a roof: a vent of 4 in. or larger may stay the same size (2.5.6.5.(6)).
- QCAt least one stack or vertical sanitary drainage pipe carries on as a stack vent or a vent to open air, at least 3 in. all the way to the roof outlet (2.5.8.4.(5)).
- QCThe plumbing venting system isn't used for any other system (2.5.6.2.(4)).
- QCAir admittance valves: renovation of one- and two-family dwellings only during the renovation work, and "vent not practical" only in an existing building (2.5.9.2.(1)).
Developed length of a vent
Developed length is measured along the centreline of the pipe and fittings, not in a straight line. Where it starts and ends depends on the vent type.
| Vent | Measured from | Measured to |
|---|
Loads add up as vents join a branch vent, but its length stays measured from the most distant connection.
Add up a run
Vent sizing
From Tables 2.5.8.3 and 2.5.8.4. Lengths are developed lengths, measured as each vent type requires. NL means not limited and NP not permitted.
Branch vent, vent header, circuit vent or continuous vent
Stack vent or vent stack
Table 2.5.8.3: branch, circuit and continuous vents
Maximum length of vent pipe, m.
Table 2.5.8.4: stack vents and vent stacks
Maximum length of stack vent or vent stack, m. Stacks are sized from Table 2.4.10.6.-A.
Trap arm distances
Article 2.5.6.3. The trap arm runs from the trap weir to the vent connection.
| Trap | Minimum length | Maximum length | Slope |
|---|
- Minimum: the developed length is at least twice the size of the fixture drain. That rules out crown venting.
- Fall: no more than the inside diameter of the trap arm, at a slope of at least 1 in 50 (1 in 100 for 4 in.).
- Direction: no more than 135° of cumulative change.
- Water closets, S-trap standards and other siphonic fixtures: up to 225° of change, and the vent within 1 m vertically and 3 m horizontally of the fixture drain's connection to the fixture.
- QCThe trap arm of a bathtub, shower, bidet, floor drain or floor-mounted service sink has a nominally horizontal part at least 450 mm long. A floor drain connected less than 3 m downstream of the bottom of a stack or leader needs 1.5 m (2.4.2.1.(7)).
Check a trap arm
Suds pressure zones
High-sudsing detergents from clothes washers make suds that disrupt the venting action and can spread through the lower parts of multi-storey drainage systems, building up where a drain changes direction by more than 45° (Note A-2.4.2.1.(5) and (6)). The NPC applies these limits where a sanitary drainage pipe serves more than one clothes washer (Sentences 2.4.2.1.(5) and (6)).
- No other sanitary drainage pipe connects within 40 times the pipe size, or 2.44 m vertically, whichever is less, before the change in direction.
- No other sanitary drainage pipe connects within 10 times the size of the nominally horizontal pipe after the change in direction.
- Where a vent joins the suds pressure zone, no other vent connects to that vent within the height of the zone.
QCIn Québec these limits apply to a pipe serving more than one clothes washer or dishwashing sink (Sentences 2.4.2.1.(4) and (5)).
Note A-2.4.2.1.(5) and (6) suggests ways to avoid the zones: connect the suds-producing stack downstream of all other stacks and increase the size of the horizontal building drain, and use streamlined fittings such as wyes. Check valves or backwater valves in fixture outlet pipes have also been used to correct problem installations.
Drop over a run
How much a pipe falls over its length at a given slope.
Slope from a measured fall
Measure the length and the total fall, and see the slope you actually have.
Unit converter
Type in any box and the rest follow. Inches take fractions, like 12 3/8.
Which code applies
- National: NPC 2025. Each province sets its own adoption date, so check which edition your province enforces. The app's National mode uses NPC 2025 values, checked against the first printing.
- Québec: Chapter III adopts NPC 2020 with Québec amendments, in force since 11 July 2024. The earlier text could still be used for work begun before 11 January 2025. Switch to Québec at the top of the app to use its values.