Flow regime from Reynolds number calculator
This flow regime calculator classifies internal pipe flow from a supplied Reynolds number.
Run — free
It applies the standard engineering thresholds: values below 2300 are laminar, values from 2300 through 4000 are transitional, and values above 4000 are turbulent. The result is immediate, deterministic, and dimensionless, making it useful for checking calculations, documenting design assumptions, and selecting the next appropriate pressure-loss or heat-transfer correlation. It also returns the applied boundaries so downstream reports can show exactly how the classification was reached.
What the Reynolds number says about pipe flow
The Reynolds number compares inertial effects with viscous effects in a moving fluid. For internal pipe flow, it is commonly formed from fluid density, mean velocity, pipe diameter, and dynamic viscosity, or from velocity, diameter, and kinematic viscosity. Because the units cancel, the result is dimensionless. A low Reynolds number indicates that viscosity strongly damps disturbances, so neighboring layers tend to move in an orderly pattern. A high Reynolds number indicates that inertia can sustain fluctuations and mixing. This calculator begins after that dimensionless value has been determined: enter the Reynolds number, and it returns the conventional regime name. It does not calculate Reynolds number from separate physical properties, and it does not infer whether the underlying diameter, velocity, or viscosity values were measured correctly. That separation makes the output easy to audit. The supplied value is echoed in the result alongside the regime and the two boundaries used for classification, so a report or automated workflow can preserve both the conclusion and its basis.
How the critical thresholds are applied
The classifier uses the widely taught thresholds for flow in a circular pipe. A Reynolds number strictly below 2300 is classified as laminar. A value from 2300 through 4000, including both endpoints, is classified as transitional. A value strictly above 4000 is classified as turbulent. Defining the endpoints explicitly matters in software because an unstated equality rule can produce inconsistent answers at exactly 2300 or 4000. The transitional interval represents a region where disturbances, inlet conditions, pipe roughness, vibration, and experimental setup can influence the observed behavior. Therefore, the label is a warning against treating the flow as reliably laminar or fully turbulent. The calculation accepts zero as a valid dimensionless value and classifies it as laminar under the threshold rule, although zero corresponds to no bulk flow in the usual Reynolds-number formulation. Negative values, infinities, missing values, and nonnumeric inputs are rejected because they do not form a valid Reynolds number for this classification. No rounding is performed before comparing the value with the thresholds.
Using the result in engineering work
A regime label is usually an intermediate decision rather than the final engineering answer. It helps determine which friction-factor relation, pressure-drop method, mixing assumption, or convective heat-transfer correlation may be appropriate. For example, a calculation confidently in the laminar range may support a laminar friction relation, while a result well above the turbulent boundary points toward turbulent correlations that also account for relative roughness. A transitional result deserves additional care: applying a correlation intended only for fully developed laminar or fully turbulent flow can imply more certainty than the threshold supports. Check whether the source problem concerns a circular pipe, whether the flow is fully developed, and whether unusual inlet geometry, pulsation, non-Newtonian behavior, or strong surface roughness changes the interpretation. The standard cutoffs are practical conventions, not universal physical discontinuities. For design decisions near either boundary, retain the original Reynolds number, investigate sensitivity to operating conditions and fluid properties, and follow the governing standard or validated method for the equipment. The API price is $0.002 per request when this classification is automated.
What you can do with it
Choose a pipe-flow correlation
Classify a calculated Reynolds number before selecting a regime-specific friction or heat-transfer correlation.
Check operating scenarios
Compare minimum, normal, and maximum operating cases to see whether a pipe may enter the transitional range.
Document calculation assumptions
Record the input, regime, and exact critical boundaries in an engineering worksheet or automated report.
FAQ
What Reynolds number is considered laminar in a pipe?
A Reynolds number below 2300 is classified as laminar by this calculator.
What happens at exactly 2300 or 4000?
Both boundary values are classified as transitional. Turbulent classification begins only above 4000.
Does this calculator compute the Reynolds number itself?
No. It classifies a Reynolds number that has already been calculated from the relevant fluid and pipe properties.
Are these thresholds valid for every kind of flow?
No. They are the standard conventional thresholds for internal pipe flow. Other geometries, non-Newtonian fluids, and specialized standards may use different criteria.
How much does the API request cost?
Each API request costs $0.002. The browser calculator is available without an API call.
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/eng/flow-regime \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"reynolds_number":3200}'const res = await fetch("https://api.kit.forhosting.com/eng/flow-regime", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"reynolds_number": 3200
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/eng/flow-regime",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"reynolds_number": 3200
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/eng/flow-regime", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"reynolds_number":3200}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"reynolds_number":3200}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/eng/flow-regime", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"reynolds_number": 3200
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "eng.flow_regime",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |