Home › Engineering & Automotive › Pipe Flow Calculator (Hazen–Williams)
Pipe Flow Calculator (Hazen–Williams)
Computes the flow velocity, friction head loss and pressure drop of water in a full-flowing round pipe from flow rate, internal diameter, length and the Hazen–Williams roughness coefficient C, plus an estimated Reynolds number and a velocity check.
When to use
You are sizing a water supply, irrigation, fire-protection or pump discharge line and need the friction loss for a given flow, or want to check that the velocity stays in the usual 0.6–2.5 m/s range.
Do not use when: The fluid is not water at ordinary temperature (oil, gas, glycol mixtures: use Darcy–Weisbach with the fluid's viscosity), flow is laminar, or the pipe is partly full (open-channel flow).
Formula
Q = flow_m3_per_s, d = pipe_diameter_mm / 1000, L = pipe_length_m, C = hazen_williams_c; velocity_m_s = Q / (π d² / 4); head_loss_m = 10.67 × L × Q^1.852 / (C^1.852 × d^4.87); pressure_drop_kpa = 1000 × 9.80665 × head_loss_m / 1000; reynolds_number_estimate = velocity_m_s × d / 1e-6
Hazen–Williams empirical equation in SI form, calibrated for water at about 5–25 °C in turbulent flow with velocities below roughly 3 m/s; outside these conditions (or for other fluids) Darcy–Weisbach with the Colebrook friction factor is more accurate. Minor losses from fittings are not included.
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
flow_rate | number | yes | Volumetric flow rate in the unit chosen by flow_unit. Range: > 0, ≤ 10000000 | |
flow_unit | enum: l_per_s | l_per_min | m3_per_s | gpm_us | default l_per_s | Unit of flow_rate (1 US gal = 3.785411784 L). | |
pipe_diameter_mm | number | mm | yes | Internal (bore) diameter of the pipe in millimetres; nominal sizes differ from the bore, e.g. DN100 PVC PN10 has about 96 mm bore (1 in = 25.4 mm). Range: > 0, ≤ 10000 |
pipe_length_m | number | m | yes | Length of straight pipe in metres; add equivalent lengths for fittings and valves if needed (1 ft = 0.3048 m). Range: > 0, ≤ 1000000 |
hazen_williams_c | number | default 150 | Roughness coefficient: PVC/PE 150, copper 140, new steel or ductile iron (cement-lined) 130, new cast iron 130, 20-year-old cast iron 100, badly tuberculated pipe 60–80. Range: ≥ 20, ≤ 160 |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
flow_m3_per_s | number | m³/s | Flow rate converted to cubic metres per second. |
velocity_m_s | number | m/s | Mean velocity Q / (π d²/4). |
head_loss_m | number | m | Friction head loss over the whole pipe length, in metres of water column. |
head_loss_per_100m | number | m/100 m | Friction slope expressed per 100 m of pipe. |
pressure_drop_kpa | number | kPa | ρ g h_f with ρ = 1000 kg/m³ and g = 9.80665 m/s². |
pressure_drop_bar | number | bar | Pressure drop in bar (1 bar = 100 kPa). |
pressure_drop_psi | number | psi | Pressure drop in pounds per square inch (1 psi = 6.894757 kPa). |
reynolds_number_estimate | number | Re = v d / ν with ν = 1.0e-6 m²/s (water at 20 °C); Hazen–Williams is only valid for turbulent flow (Re above about 4000). | |
velocity_check | string | Comparison with the typical 0.6–2.5 m/s design range for water pipes. |
Example
10 L/s through 100 m of 100 mm PVC (C 150): {"flow_rate":10,"flow_unit":"l_per_s","pipe_diameter_mm":100,"pipe_length_m":100,"hazen_williams_c":150} → {"flow_m3_per_s":0.01,"velocity_m_s":1.2732,"head_loss_m":1.459,"head_loss_per_100m":1.459,"pressure_drop_kpa":14.308,"pressure_drop_bar":0.1431,"pressure_drop_psi":2.075,"reynolds_number_estimate":127324,"velocity_check":"Within the typical 0.6–2.5 m/s design range"}
400 US gpm through 300 m of 150 mm steel (C 130): {"flow_rate":400,"flow_unit":"gpm_us","pipe_diameter_mm":150,"pipe_length_m":300,"hazen_williams_c":130} → {"flow_m3_per_s":0.025236,"velocity_m_s":1.4281,"head_loss_m":4.3979,"head_loss_per_100m":1.466,"pressure_drop_kpa":43.128,"pressure_drop_psi":6.255}
GET https://tttkmbb.com/api/v1/calculate/pipe-flow?flow_rate=10&flow_unit=l_per_s&pipe_diameter_mm=100&pipe_length_m=100&hazen_williams_c=150
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/pipe-flow(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/pipe-flow · Markdown: https://tttkmbb.com/engineering/pipe-flow.md · JSON definition: https://tttkmbb.com/engineering/pipe-flow.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="pipe-flow" - OpenAPI operationId:
calculate_pipe_flow_hazen_williams - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
- Wikipedia – Hazen–Williams equation (reference)
- Wikipedia – Reynolds number (reference)
FAQ
Which C value should I use?
C describes the pipe's interior smoothness: about 150 for new plastic (PVC, PE), 140 for copper, 130 for new steel or cement-lined ductile iron, and 100 or lower for old, corroded cast iron. Designers often use 120–130 for aged metal mains.
Does the result include fittings and valves?
No, only straight-pipe friction. Add the equivalent length of each fitting to pipe_length_m, or compute minor losses separately with K × v² / (2g).
Why is the flow velocity limited to about 0.6–2.5 m/s?
Below 0.6 m/s sediment settles and air pockets persist; above about 2.5 m/s friction loss, noise, erosion and water-hammer pressure rise quickly. Pump suction lines are usually kept below about 1.5 m/s.
Related calculators
- Pressure Converter — Convert the pressure drop between kPa, bar, psi and metres of water.
- Volume Converter — Convert between litres, cubic metres and gallons.
- Horizontal Tank Volume Calculator — Liquid volume in the tank the pipe feeds or drains.