Pipe Sizing Calculator
Find the smallest pipe that carries your design flow without exceeding a velocity limit. Enter the GPM, pick the material, and set a ceiling — 8 fps is the usual supply-side default — and the calculator walks up the size ladder on published average inside diameters until velocity lands at or under the target, reporting the size, its actual ID, and the velocity it produces. Use it for quick branch and equipment-feed sizing, or to sanity-check a run before the friction-loss math. Free, no login.
Target Flow
Recommended Size
Q = V×A continuity — v = 0.4085·GPM ÷ ID² against published average IDs; smallest listed size that keeps velocity at or below your target. The 8 fps supply ceiling is design practice, not a code table. Sizing for velocity only — also check available pressure and total friction loss.
How this calculator works
Velocity in a pipe follows from continuity (Q = V × A). In plumbing units — Q in GPM, d the inside diameter in inches — that collapses to:
v (fps) = 0.4085 × GPM ÷ d²
The calculator evaluates that formula against each listed size of the chosen material, small to large, and recommends the first one at or below your velocity target. The 8 fps default is design practice, not a code table — it is the ceiling commonly used to limit erosion (especially in copper, where sustained high velocity strips the protective oxide layer), noise, and water-hammer intensity; hot-water recirculation lines are often held tighter. Because d is squared, sizes step down velocity fast — the same 10 GPM that races through 1/2" copper at 13.75 fps ambles through 1" at 3.9 fps. Velocity is one of two constraints: a size that passes here can still lose too much pressure on a long run, so finish with the friction-loss check.
Worked example
Size copper Type L for a 10 GPM branch at the 8 fps ceiling:
- Try 1/2" (ID 0.545): v = 0.4085 × 10 ÷ 0.545² = 13.75 fps — over the limit, reject.
- Try 3/4" (ID 0.785): v = 0.4085 × 10 ÷ 0.785² = 6.63 fps — at or under 8 fps, accept.
- Recommendation: 3/4" copper Type L, running at 6.63 fps.
These are the calculator’s default inputs — the panel above shows exactly this result.
Reference: maximum GPM at 8 fps
Computed capacity at the 8 fps ceiling from the verified average inside diameters — copper Type L against PEX (ASTM F876 SDR-9), whose smaller bore at every nominal size is why PEX branches are often run one size larger.
| Nominal | Copper L ID | Max GPM | PEX ID | Max GPM |
|---|---|---|---|---|
| 1/2" | 0.545 | 5.8 | 0.475 | 4.4 |
| 3/4" | 0.785 | 12.1 | 0.671 | 8.8 |
| 1" | 1.025 | 20.6 | 0.862 | 14.6 |
| 1-1/4" | 1.265 | 31.3 | 1.054 | 21.8 |
| 1-1/2" | 1.505 | 44.4 | 1.244 | 30.3 |
| 2" | 1.985 | 77.2 | 1.629 | 52.0 |
Frequently asked questions
How does this calculator pick a pipe size?
It walks the ID table for the chosen material from smallest to largest and returns the first size whose velocity — v = 0.4085 × GPM ÷ d² — comes in at or under your target. If even the largest listed size exceeds the target, it returns that largest size with its over-limit velocity flagged so you can see how far off you are. The result also shows the actual velocity at your flow, so you know how much headroom the recommended size has.
What maximum velocity should I use for sizing water pipe?
The default of 8 fps is the widely used ceiling for cold domestic supply. Hot-water piping is commonly designed to about 5 fps, and recirculation loops lower still, because erosion-corrosion accelerates with temperature — drop the target and the tool will push you up a size. These are design-practice limits rather than a universal code number; verify against the plumbing code and the pipe manufacturer’s listings for your material.
Is velocity-based sizing enough to meet the plumbing code?
No — treat it as a first screen. Code sizing for water distribution is demand-based: total the WSFU, convert to GPM through the demand tables, then check available pressure against elevation, meter and valve losses, and friction over the developed length. The IPC does this in Appendix E and the UPC in Chapter 610, and the two methods are separate — use the one your jurisdiction adopts. A size that passes the velocity check can still starve the far fixture on a long or pressure-poor run, so verify against the code procedure in force in your jurisdiction.
Where does the design GPM come from?
For a system serving multiple fixtures, from the fixture-unit method: total the WSFU (the fixture unit calculator does this) and read probable demand in GPM from the adopted code’s conversion table. Do not simply add up each fixture’s individual flow rate — the whole point of the fixture-unit method is that fixtures almost never run simultaneously, and summing rated flows oversizes badly. For a single piece of equipment such as an irrigation zone or a boiler fill, use its actual specified flow.
Why does the recommended size change when I switch materials?
Because actual inside diameter at the same nominal size differs by material: 3/4" is about 0.671" ID in PEX, 0.785" in Type L copper, and 0.824" in Schedule 40 steel. Velocity rises with the square of the ID reduction, so a flow that fits 3/4" copper at 8 fps can push PEX over the limit and force the next size up. PEX insert fittings also neck the bore down further at every joint, which this tool does not model — one more reason to leave some velocity headroom on PEX runs.
Method: continuity (Q = V × A) as v = 0.4085 × GPM ÷ d² on published average inside diameters — copper Type L and steel Schedule 40 per their standard dimension tables, PVC Schedule 40 per ASTM D1785, PEX per ASTM F876 CTS SDR-9. The 8 fps supply ceiling is design practice, not a code value. This is velocity-only sizing: it does not check available pressure, friction loss over the developed length, or the code’s WSFU-and-length table method for meters and building supplies — run those separately. The adopted plumbing code and the AHJ govern.
Pair with the Fixture Unit Calculator and WSFU to GPM chart to establish the design flow, the Water Pressure Loss Calculator for the friction check, or the water pipe sizing chart for the code-table method.