# Pipe Friction Factor Calculator (Colebrook-White / Haaland)

Compute the Darcy friction factor: laminar closed-form f=64/Re for Re<2000, or iterative Colebrook-White solution for transitional/turbulent flow, with the explicit Haaland approximation always returned as a cross-check. Reports relative roughness ε/D, absolute roughness (m), diameter (m), flow regime (laminar/transitional/turbulent), effective method and iteration count. Roughness ε in m/mm/µm, diameter D in m/cm/mm.

> Canonical page: https://elysiatools.com/en/tools/pipe-friction-factor

- **Category:** Math & Numbers

- **Keywords:** Darcy friction factor, friction factor, Colebrook, Colebrook-White, Haaland, pipe roughness, relative roughness, Reynolds number, laminar, turbulent, transitional, fluid mechanics, pipe flow, pressure drop, Darcy-Weisbach, hydraulics

## Overview

The Pipe Friction Factor Calculator computes the Darcy friction factor from Reynolds number, pipe roughness, and internal diameter. It uses f=64/Re for laminar flow and Colebrook-White iteration for higher Reynolds numbers, while also returning a Haaland estimate for comparison.

## Inputs

- **Reynolds Number Re** (number): Reynolds number Re = ρ·v·D/μ. Must be positive.
- **Roughness ε** (number): Absolute pipe roughness ε in the selected unit. 0 = perfectly smooth.
- **Roughness Unit** (select)
- **Diameter D** (number): Internal (hydraulic) pipe diameter D in the selected unit.
- **Diameter Unit** (select)
- **Method** (select): Auto = laminar formula if Re<2000, else Colebrook. Haaland estimate is always reported as a cross-check.
- **Decimal Places** (number)

## When to use

- Estimate the Darcy friction factor for a pipe-flow calculation.
- Compare iterative Colebrook-White and explicit Haaland results for turbulent flow.
- Check how pipe roughness, diameter, and Reynolds number affect the flow regime and relative roughness.

## How it works

- Enter a positive Reynolds number, absolute roughness, and internal pipe diameter.
- Select roughness and diameter units: m, mm, or µm for roughness, and m, cm, or mm for diameter.
- Choose Auto, Colebrook (iterative), or Haaland (explicit) as the calculation method.
- Review the Darcy friction factor, Haaland cross-check, relative roughness, flow regime, effective method, and iteration count.

## Use cases

- Pipe-flow and fluid-mechanics calculations requiring a Darcy friction factor.
- Hydraulic comparisons between smooth and rough pipes using relative roughness.
- Engineering checks that compare Colebrook-White results with the Haaland approximation.

## Frequently asked questions

### What does this calculator return?

It returns the Darcy friction factor, relative roughness, flow regime, effective method, and iteration count. A Haaland estimate is also provided as a cross-check.

### Which formula is used for laminar flow?

For Re<2000, the calculator uses the closed-form relation f=64/Re.

### How does Auto mode choose the method?

Auto uses the laminar formula when Re<2000 and Colebrook-White otherwise. The Haaland estimate is still reported for comparison.

### Can I calculate friction for a smooth pipe?

Yes. Enter roughness as 0 to represent a perfectly smooth pipe.

### What inputs are required?

Reynolds number, absolute roughness, and internal pipe diameter are required. Unit selections, method, and decimal places are optional.

## Related tools

- [Matrix Multiplication Calculator](https://elysiatools.com/en/tools/matrix-multiplication-calculator): Multiply two matrices and return the product with dimension checks and optional step explanations
- [Dimensional Analysis Unit Cancellation Tutor](https://elysiatools.com/en/tools/dimensional-analysis-unit-cancellation-tutor): Step-by-step factor-label unit cancellation with inverted-factor diagnosis and optional student-answer checking.
- [Perfect Number Checker](https://elysiatools.com/en/tools/perfect-number-checker): σ(n) = 2n ⟺ perfect. Factorization-based σ(n), proper-divisor sum, deficient/perfect/abundant classification, abundancy index, Euclid–Euler form. n ≤ 10¹².
- [Prime Number Checker](https://elysiatools.com/en/tools/prime-number-checker): Check if a number is prime (a natural number greater than 1 that has no positive divisors other than 1 and itself)
- [M/M/1 Queue Calculator (L, Lq, W, Wq)](https://elysiatools.com/en/tools/queuing-theory-mm1): Steady-state M/M/1 metrics: ρ, P0, L, Lq, W, Wq, state probabilities, and Little's-law cross-checks; unstable λ ≥ μ inputs are rejected.
- [M/M/c Multi-Server Queue Calculator](https://elysiatools.com/en/tools/queuing-theory-mmc): Steady-state M/M/c metrics with the Erlang-C formula: offered load, P0, Pw, Lq, L, W, Wq plus Little's-law cross-checks; unstable λ ≥ cμ inputs are rejected.
- [Wilson's Theorem Primality Checker](https://elysiatools.com/en/tools/wilson-theorem-checker): (n−1)! ≡ −1 (mod n) ⟺ n is prime. Exact factorial residue for n ≤ 10⁷, Miller–Rabin cross-check, composite factorial law, optional running-products trace.
- [Divisibility Calculator](https://elysiatools.com/en/tools/divisibility-calculator): Check whether one integer is divisible by another and show the quotient, remainder, and optional divisibility hint

## Samples

- [Android Image Processing Java Samples](https://elysiatools.com/en/samples/android-image-processing-java): Android Java image processing examples including reading/saving images, scaling, and format conversion
- [Android Image Processing Kotlin Samples](https://elysiatools.com/en/samples/android-image-processing-kotlin): Android Kotlin image processing examples including reading/saving images, scaling, and format conversion
- [Web Image Processing Python Samples](https://elysiatools.com/en/samples/web-image-processing-python): Web Python image processing examples using PIL/Pillow including reading, saving, resizing, and format conversion
- [Web Image Processing Rust Samples](https://elysiatools.com/en/samples/web-image-processing-rust): Web Rust image processing examples including image read/save, scaling, and format conversion
