Why fixture units exist at all
A house might have 25 gpm of installed fixture capacity and never see more than 12 gpm at once. Roy Hunter worked out why in 1940, in a National Bureau of Standards report that every plumbing code still leans on: fixture use is intermittent and largely independent, so the probability that many fixtures run simultaneously falls sharply as the count rises. A pipe sized for the arithmetic sum would be grossly oversized.
A water supply fixture unit is Hunter's index of load. It bundles three things about a fixture — how much it draws, how long it draws for, and how often it is used — into one number, so that fixtures of different kinds can be added together. A private lavatory is 0.7 WSFU; a public flushometer water closet is 10. That ratio is not about flow rate alone: the flushometer draws far more, but it also draws it in short violent bursts that dominate the peak.
Because the underlying quantity is a probability, fixture units are not proportional to gallons per minute. Ten fixture units gives 14.6 gpm and a hundred gives 43.5 — ten times the load producing three times the flow. That curvature is the whole value of the method, and it is why you must convert through the table rather than scaling.
Cold, hot and total — and why they do not add up
Look at the code table and something odd stands out. A private lavatory is listed as 0.5 cold, 0.5 hot, and 0.7 total. Those do not sum. Neither do the shower's 1.0, 1.0 and 1.4.
The reason is that the total is not a sum, it is a separate load figure for the combined supply. A lavatory does not draw its full cold rate and its full hot rate at the same time — it draws a blend that adds up to less than the two extremes together. The code assigns each supply its own value and assigns the combined pipe a third one, and all three come from the table rather than from arithmetic.
This matters when you size. Use the cold total for the cold distribution, the hot total for the hot distribution, and the combined total for the service and for any pipe carrying both — which in practice means everything upstream of the water heater. Sizing the cold main on the combined total is a common and expensive error.
Continuous demands break the model entirely and are handled separately. A hose bibb left running, an irrigation zone, or cooling-tower make-up flows steadily rather than intermittently, so Hunter's probability argument does not apply to it. Codes require continuous flow to be added directly to the demand in gpm after the conversion, which is exactly what this calculator does.
Totaling fixture units through a branched system
A real building is not one point load; it branches, and every branch downstream of the service carries only the fixtures actually fed by it. The correct order of operations is to keep a running WSFU total as you move through the branch structure, and convert to gallons per minute only at the specific point you need a flow figure — never add up gpm figures from separate branches.
The reason is that the Hunter curve bends: each additional fixture unit buys less additional gpm than the one before it, because the whole point of the method is that more fixtures make simultaneous use less, not more, likely per fixture. That curvature means converting two branches separately and then adding the results overstates the true combined demand. Take the tabulated points straight from the demand table above: 10 WSFU converts to 14.6 gpm on the flush-tank curve, so two identical 10-WSFU branches converted separately and added give 14.6 + 14.6 = 29.2 gpm. The same 20 WSFU converted once, as it must be at the point where the two branches join, reads 19.6 gpm directly off the same table — the tabulated value at 20, not an estimate. Adding the branch figures overstates the load at the joint by close to a third in this example, because it silently assumes the two branches' peaks coincide exactly as often as fixtures within a single branch do, which the underlying probability model does not support.
The practical rule follows directly: retotal WSFU at every node where branches merge, and run that node's own total through the curve fresh. Never carry a converted gpm figure upstream and add it to another converted gpm figure — carry the WSFU figure upstream instead, and convert once, at the point you are actually sizing.
Worked example: a two-bathroom house
Count the fixtures: 2 water closets with flush tanks, 3 lavatories, 2 tub-shower combinations, 1 kitchen sink, 1 dishwasher, 1 clothes washer. Private occupancy throughout.
- Water closets. 2 × 2.2 = 4.4 cold, 0 hot, 4.4 total.
- Lavatories. 3 × 0.5 = 1.5 cold, 3 × 0.5 = 1.5 hot, 3 × 0.7 = 2.1 total.
- Tub-showers. 2 × 1.0 = 2.0 cold, 2.0 hot, 2 × 1.4 = 2.8 total.
- Kitchen sink. 1.0 cold, 1.0 hot, 1.4 total.
- Dishwasher. 0 cold, 1.4 hot, 1.4 total.
- Clothes washer. 1.0 cold, 1.0 hot, 1.4 total.
- Totals. Cold 9.9, hot 6.9, combined 13.5 WSFU.
- Convert. The flush-tank demand table gives 16.0 gpm at 12 units and 17.0 gpm at 14. Interpolating: 16.0 + (13.5 − 12)/(14 − 12) × (17.0 − 16.0) = 16.0 + 0.75 × 1.0 = 16.75 gpm.
Compare that with the naive sum. Two toilets at 3 gpm, three lavatories at 2, two showers at 2.5, a kitchen sink at 2, a dishwasher at 2.75 and a washer at 4 comes to 3 × 2 + 2 × 3 + 2.5 × 2 + 2 + 2.75 + 4 = 25.75 gpm. The fixture-unit method returns 16.75 gpm, 35% less, and it is the 16.75 that goes into the water service pipe size calculator.
Now add a hose bibb that will run at 5 gpm during irrigation. That is continuous, so it does not go through the curve: peak demand becomes 16.75 + 5 = 21.75 gpm. Adding it as fixture units instead would have understated the load, because the curve would have discounted a flow that never gets discounted in reality.
Water supply fixture unit values
| Fixture | Occupancy | Supply control | Cold | Hot | Total |
|---|---|---|---|---|---|
| Water closet | Private | Flush tank | 2.2 | — | 2.2 |
| Water closet | Private | Flushometer valve | 6.0 | — | 6.0 |
| Water closet | Public | Flush tank | 5.0 | — | 5.0 |
| Water closet | Public | Flushometer valve | 10.0 | — | 10.0 |
| Lavatory | Private | Faucet | 0.5 | 0.5 | 0.7 |
| Lavatory | Public | Faucet | 1.5 | 1.5 | 2.0 |
| Bathtub or shower | Private | Faucet / mixing valve | 1.0 | 1.0 | 1.4 |
| Shower | Public | Mixing valve | 3.0 | 3.0 | 4.0 |
| Kitchen sink | Private | Faucet | 1.0 | 1.0 | 1.4 |
| Kitchen sink | Public | Faucet | 3.0 | 3.0 | 4.0 |
| Dishwasher | Private | Automatic | — | 1.4 | 1.4 |
| Clothes washer | Private | Automatic | 1.0 | 1.0 | 1.4 |
| Clothes washer | Public | Automatic | 3.0 | 3.0 | 4.0 |
| Laundry tray | Private | Faucet | 1.0 | 1.0 | 1.4 |
| Service sink | Public | Faucet | 2.25 | 2.25 | 3.0 |
Cold and hot values do not sum to the total because a fixture drawing both draws less of each than its individual rating. Take the totals from this column rather than adding.
Hunter demand curve — WSFU to gallons per minute
| Total WSFU | Flush tank systems (gpm) | Flushometer valve systems (gpm) |
|---|---|---|
| 5 | 9.4 | 15.0 |
| 10 | 14.6 | 27.0 |
| 20 | 19.6 | 35.0 |
| 30 | 23.3 | 41.0 |
| 40 | 26.3 | 46.5 |
| 50 | 29.1 | 51.5 |
| 75 | 36.5 | 60.3 |
| 100 | 43.5 | 67.5 |
| 150 | 54.8 | 80.0 |
| 200 | 65.0 | 91.5 |
| 300 | 85.0 | 110.0 |
| 500 | 124.0 | 142.0 |
| 1000 | 208.0 | 208.0 |
The 75 and 150 rows are linear interpolations of the adjacent tabulated points, computed the same way the calculator does it. The two columns converge at high loads because with enough fixtures the flush type stops dominating the peak.
Mistakes that distort the total
- Adding cold and hot to get the total. They do not sum. The total is its own tabulated value, and it is always less than cold plus hot.
- Using private values in a public building. A public lavatory is 2.0 total against a private one's 0.7 — nearly three times. Occupancy is about who uses the fixture, not about who owns the building.
- Running continuous demand through the curve. Hose bibbs, irrigation and make-up water are added in gpm after the conversion. Converting them to fixture units discounts a flow that is never discounted in practice.
- Counting a tub-shower combination twice. It is one fixture, because only one outlet can run at a time.
- Sizing every branch on the building total. Each segment carries only the fixtures downstream of it. Re-total for each segment as you work outward from the service.
- Forgetting that a single flushometer needs its own flow. The curve gives a system peak, but a flushometer valve still requires roughly 25 gpm at 25 psi at the valve itself. On a small system that single-fixture requirement can exceed the curve's answer.
- Assuming your code's table matches this one. The IPC and UPC differ in places, and both are amended locally. Verify against the edition your jurisdiction has adopted.
What to do with the GPM figure
The demand figure is the starting point for sizing, not the end of it. Feed it into the water service pipe size calculator, which builds the pressure budget and finds the smallest bore that fits inside both the friction allowance and the velocity limit. The velocity check on its own is quick — the pipe water velocity calculator tells you the smallest pipe that keeps this flow under 8 ft/s, which is what the suggested size on this page reports.
For friction you will need the loss per 100 ft at this flow, which comes from the Hazen-Williams calculator in plumbing practice or the Darcy-Weisbach calculator where a governing document does not specify Hazen-Williams.
Two limits are worth naming. Hunter's curve was derived in 1940 from fixtures that used far more water than today's — a 1940 water closet used five gallons or more against today's 1.28 — so the method is widely regarded as conservative for modern low-flow fixtures. Newer probabilistic methods such as the Water Demand Calculator developed for the IAPMO Water Efficiency and Sanitation Standard address that, and some jurisdictions now permit them. Until your jurisdiction adopts one, the fixture-unit method is what a plan reviewer will check, and it is what this page implements.
Drainage uses a parallel but entirely separate system of drainage fixture units with its own values and its own sizing tables; the drainage fixture unit calculator handles that side. The two are not interchangeable, and a fixture's DFU value is not its WSFU value.
