Moody Diagram Calculator
Darcy friction factor from Reynolds number and relative roughness, solved three ways — the exact Colebrook equation, Swamee-Jain and Haaland — with your operating point plotted on a live Moody chart.
Defaults: 8-inch new commercial steel pipe at 6.38 ft/s, water at 60°F — the same case as Example 1 on the Darcy-Weisbach calculator. Need Re or ε/D first? Re = VD/ν; ε/D is absolute roughness divided by inside diameter, in the same units.
How to use the Moody diagram
The chart has two independent inputs and one output. Reynolds number tells you how turbulent the flow is; relative roughness tells you how much the pipe wall matters. Everything else about the pipe — material, age, diameter, fluid — is already folded into those two numbers. Once you have f, the Darcy-Weisbach equation turns it into head loss: hf = f·(L/D)·V²/2g.
The same Re can give very different friction factors depending on the pipe. At Re = 10⁶, a smooth plastic pipe sits near f = 0.0117 while a pipe with ε/D = 0.01 sits near 0.038 — more than three times the head loss for identical flow. That spread is why roughness selection, not the friction-factor formula, is usually the largest uncertainty in a pipe-loss calculation. See the absolute roughness reference card for ε by material and age.
The four zones of the chart
| Zone | Reynolds number | What controls f | Use |
|---|---|---|---|
| Laminar | < 2,300 | Viscosity only | f = 64/Re |
| Critical (transitional) | 2,300 – 4,000 | Undefined — flow can flip | Bracket both; avoid in design |
| Transition turbulent | > 4,000 | Both Re and ε/D | Colebrook |
| Fully rough (complete turbulence) | High; right of dashed line | ε/D only | von Kármán rough-pipe |
Fully rough friction factor by relative roughness
The flat right-hand asymptote of each curve. Once a pipe is in this zone, doubling the flow does not change f — head loss scales exactly with V².
| ε/D | f (fully rough) | Typical example |
|---|---|---|
| 0.00001 | 0.00806 | Large-diameter drawn or plastic pipe |
| 0.0001 | 0.0120 | Commercial steel, ~18 in diameter |
| 0.0005 | 0.0167 | Cast iron, ~20 in diameter |
| 0.001 | 0.0196 | Concrete pipe, ~12 in diameter |
| 0.005 | 0.0304 | Galvanized iron, ~1¼ in diameter |
| 0.01 | 0.0379 | Heavily tuberculated small main |
| 0.05 | 0.0716 | Upper limit of the chart |
Values computed from the von Kármán rough-pipe equation. The "typical example" column is illustrative only; compute ε/D from the actual ε and inside diameter.
Worked examples
Example 1 — 8-inch commercial steel water main
Example 2 — Rough pipe at high Reynolds number
Example 3 — Smooth pipe
Which friction factor formula should I use?
- Colebrook is the reference — the Moody chart is drawn from it. Use it whenever a computer is doing the work.
- Swamee-Jain is the standard explicit form for hand calculation and spreadsheets; typically within 1%.
- Haaland is slightly less accurate at moderate Re but tracks Colebrook very closely in the rough zone.
The differences between the three are smaller than the uncertainty in roughness for almost any real pipe. Pick one method, state it in the calculation, and spend the saved effort on ε.
References: Moody, L.F. (1944). "Friction factors for pipe flow." Trans. ASME 66(8), 671–684. Colebrook, C.F. (1939). "Turbulent flow in pipes." J. Inst. Civil Eng. 11, 133–156. Swamee, P.K., Jain, A.K. (1976). J. Hydraulics Div., ASCE 102(5), 657–664. Haaland, S.E. (1983). J. Fluids Eng. 105(1), 89–90.
Related tools
- Darcy-Weisbach head loss — turn f into friction loss
- Reynolds number — compute Re from velocity, diameter and viscosity
- Absolute roughness (ε) reference card
- Reynolds number regimes & water viscosity
- Minor loss calculator — fittings and valves