Sizing drain lines by guesswork instead of DFU load? Get your sanitary plans done right.
A drain pipe that's too small backs up. One that's oversized wastes money and can actually drain poorly, since a mostly-empty large pipe carries solids less reliably than a properly-loaded smaller one. The National Plumbing Code answers this with a specific unit of measure — the Drainage Fixture Unit (DFU) — that converts every fixture's flow into a single number you can add up and look up. Here's how the system works, plus a calculator that runs it for you.
Every fixture — a lavatory, a shower, a toilet — gets a DFU value under NPC Table 7-1 based on how much it typically discharges and how often. Add up the DFU of every fixture feeding a branch, stack, or building drain, then look up the smallest pipe size in NPC Table 7-5 whose maximum capacity covers that total. One DFU represents roughly 28.3 liters per minute of drain flow — the system converts wildly different fixtures (a lavatory vs. a toilet vs. a floor drain) into one comparable unit.
Every fixture's DFU value and minimum trap size, per NPC §705 / Table 7-1 — the most common residential and light-commercial fixtures:
| Fixture | Min. Trap Size | DFU |
|---|---|---|
| Lavatory / wash basin, single | 32mm | 1 |
| Drinking fountain | 31mm | 1 |
| Dental unit / cuspidor | 32mm | 1 |
| Bathtub / bidet | 38mm | 2 |
| Shower, single stall | 51mm | 2 |
| Kitchen sink / dishwasher, residential | 38mm | 2 |
| Laundry tub / clotheswasher, domestic | 38-51mm | 2 |
| Floor drain | 51mm | 2 |
| Service sink | 51mm | 3 |
| Interceptor, grease/oil | 51mm | 3 |
| Urinal, stall/wall (separate trap) | 51mm | 3 |
| Water closet, private installation | 76mm | 4 |
| Water closet, public / urinal, pedestal-blowout | 76mm | 6 |
Full table (30+ fixture types including commercial and industrial sinks, mobile-home traps, and unlisted-fixture rules) is in AEDO's complete NPC Chapter 7 reference.
Table 7-1 covers 30+ fixture types, and unlisted fixtures get a DFU value from their discharge flow rate under Table 7-3 — see the full chapter reference for every rule.
Open the Full Chapter 7 ReferenceAdd every fixture on the line, choose the piping function, and get the minimum pipe size per NPC Table 7-5.
Capacity doesn't scale evenly with pipe size — going from 76mm to 102mm more than quadruples horizontal-branch capacity. Swipe through to see how fast capacity grows.
| Pipe Size | Max DFU — Vertical (Stack) | Max DFU — Horizontal (2% slope) | Max DFU — Vent |
|---|---|---|---|
| 32mm (1¼") | 1 | 1 | 1 |
| 38mm (1½") | 2 | 2 | 8 |
| 51mm (2") | 16 | 8 | 24 |
| 65mm (2½") | 32 | 14 | 48 |
| 76mm (3") | 48 | 35 | 84 |
| 102mm (4") | 256 | 216 | 256 |
| 127mm (5") | 600 | 428 | 600 |
| 152mm (6") | 1,380 | 720 | 1,380 |
| 203mm (8") | 3,600 | 2,640 | 3,600 |
| 254mm (10") | 5,600 | 4,680 | — |
Horizontal values assume a 2% (20.9mm/m) slope. At 1% (10.4mm/m), multiply by 0.8. No more than 4 water closets (or 6 fixture-unit traps) are allowed on any vertical stack; no more than 3 water closets on any horizontal branch — regardless of remaining DFU capacity.
Sizing the toilet drain purely by DFU instead of by minimum trap size. A water closet is only 4-6 DFU — small enough that Table 7-5 alone might suggest a 38mm or 51mm pipe. But every water closet requires a minimum 76mm trap regardless of DFU load. Always apply the fixture's own minimum trap size from Table 7-1 first, then check DFU capacity for the combined branch.
Table 7-5's horizontal drain capacities assume a 2% slope (20.9mm of fall per meter) — the Code's standard grade for drain piping. If site conditions only allow a shallower 1% slope (10.4mm/m), the pipe drains more slowly, so its maximum fixture-unit capacity is reduced by a factor of 0.8. A 76mm branch that handles 35 DFU at 2% slope only handles 28 DFU at 1% — which can push a borderline design into needing the next pipe size up. This is exactly why the calculator above has a separate "1% slope" option: the same DFU total can require a different pipe size depending on how much fall your site actually allows.
Adding fixtures to an existing branch without re-totaling DFU is one of the most common causes of slow-draining lines in renovated bathrooms.
DFU alone under-specifies toilet drains — the 76mm minimum trap size governs regardless of how low the DFU count looks.
Sites with limited fall (flat lots, long runs to the septic tank) need the 0.8 factor applied — skipping it overstates the pipe's real capacity.
AEDO's engineers size every drain, branch, stack, and vent against NPC Table 7-5 — with sealed sanitary plans your LGU will accept.
AEDO Construction provides full design services (sanitary/plumbing, structural, electrical, architectural) anywhere in the Philippines, plus full design-build execution in Negros Oriental.
"The plumber always runs 100mm" isn't sizing — it's a guess that happens to work most of the time. Adding up real DFU load against Table 7-5 tells you exactly what each branch, stack, and vent actually needs, before you pour a single meter of pipe.
One DFU represents a drain flow of approximately 28.3 liters per minute. Each fixture is assigned a DFU value under NPC Table 7-1 by typical flow and frequency of use — a lavatory is 1 DFU, a bathtub or shower is 2 DFU, a water closet is 4 DFU (private) or 6 DFU (public). Sum the DFU of every fixture on a branch, stack, or building drain to size that pipe.
Add up the DFU of every fixture served by the pipe using Table 7-1. Then find the smallest pipe size in Table 7-5 whose maximum capacity is at or above your total, for whichever piping function applies — vertical stack, horizontal branch (2% or 1% slope), or vent.
A water closet needs a minimum 76mm (3") trap regardless of DFU load — private toilets are 4 DFU and public toilets are 6 DFU, but even though DFU capacity alone might suggest a smaller pipe, the fixture's own minimum trap size of 76mm governs.
Yes. Table 7-5's horizontal capacities assume a 2% slope. At only 1% slope, capacity is reduced by a factor of 0.8 — a shallower slope may require the next larger pipe size for the same DFU load.