Turbidity converter
10 NTU is 10 FNU on formazin standards. Convert a water-clarity or haze reading between NTU, FNU, FTU, FAU, JTU, brewery EBC and silica ppm, and get the factor and steps for a lab notebook or a treatment log. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Value
- 10
- From
- ntu
- To
- fnu
- Result
- 10 fnu
- Converted
- 10
- Value ntu
- 10
- Factor
- 1
A turbidity converter turns one water-clarity reading into another standard unit without spreadsheet factors or method-mix guesswork. Enter a non-negative value plus a source unit and a target unit among nephelometric turbidity units (NTU), formazin nephelometric units (FNU), formazin turbidity units (FTU), formazin attenuation units (FAU), Jackson turbidity units (JTU), European Brewery Convention haze (EBC), and historical silica ppm; the tool returns the converted turbidity, the NTU intermediate, the exact unit factor applied, and step-by-step substitution lines you can paste into a lab notebook or treatment log. Drinking-water plants comparing nephelometer NTU logs to ISO FNU instruments, process labs reading FTU tables, historical Jackson candle notes, brewery haze in EBC, and students converting homework formazin problems all need the same deterministic path.
Which turbidity units are supported and how conversion works
This capability converts among seven everyday turbidity units that dominate drinking-water compliance, ISO laboratory methods, historical candle-turbidimeter notes, and brewery haze reporting. The nephelometric turbidity unit (NTU) is the internal hub: every conversion multiplies the input by how many NTU equal one source unit, then divides by how many NTU equal one target unit. Formazin nephelometric units (FNU) follow ISO 7027 infrared nephelometry and are exactly equal to NTU on formazin primary standards—the fixed factor published here is one.
Formazin turbidity units (FTU) and formazin attenuation units (FAU) likewise equal NTU on formazin calibration; many older tables still print FTU even when modern meters report NTU or FNU. Jackson turbidity units (JTU) come from the historical candle turbidimeter; traditional conversion worksheets equate JTU with NTU and with silica ppm for fixed-factor tables, and this tool uses that published table equivalence of one rather than sample-specific particle corrections.
European Brewery Convention haze uses a common instrument factor of four: one EBC equals four NTU, so brewery haze readings map cleanly to water-lab NTU scales. Historical silica turbidity as ppm SiO2 uses the same table equivalence of one to NTU and JTU. Same-unit requests succeed and return the input magnitude with a short message that no change of unit was required.
Practical tips, limits, and when to use this landing
Prefer sending bare numbers for value when you control the client; string numbers are accepted only when they match a strict finite numeric pattern without currency symbols or thousand separators. Round-trip checks are straightforward: convert A to B and B back to A and confirm you recover the original within the published twelve-decimal rounding.
When teaching or validating, pair classic examples such as ten NTU to ten FNU (identity under formazin equivalence), ten FTU to ten JTU under the table factor, two point five EBC to ten NTU under the fourfold brewery factor, and one ppm silica to one NTU for historical silica notes. Stay inside the absolute range so intermediate NTU values cannot overflow.
Remember that real-world natural-water samples can read differently on attenuation versus scatter instruments even when formazin standards match; this tool publishes the standard fixed factors, not a sample-specific optical model. This landing targets people searching for a turbidity converter, NTU to FNU, FTU to JTU, Jackson turbidity units, formazin turbidity, or EBC haze online; it is not a general multi-quantity unit converter, not a suspended-solids estimator, not a color (ASBC/EBC colour) converter, and not a live sensor ingest.
What you can do with it
Drinking-water NTU and ISO FNU logs
Treatment plants convert EPA-style NTU nephelometer logs to ISO 7027 FNU labels so compliance reports and instrument vendors stay on one numerical scale.
Brewery haze EBC to lab NTU
Quality labs convert European Brewery Convention haze readings into NTU for shared dashboards with municipal water and lab nephelometers using the fixed fourfold factor.
Historical Jackson and silica tables
Researchers and students convert JTU candle-turbidimeter notes and ppm SiO2 tables into modern NTU/FTU with deterministic steps for lab reports.
FAQ
What turbidity units does this converter support?
NTU, FNU, FTU, FAU, JTU, EBC, and ppm-sio2 (historical silica).
Are NTU, FNU, and FTU the same?
On formazin primary standards they are defined equal, so this tool uses a fixed factor of one among NTU, FNU, FTU, and FAU. Natural samples can still differ between instruments.
How is EBC converted to NTU?
Steps in the response show the exact multiply and divide.
Is the turbidity converter free?
The browser tool is free and runs locally.
Is a Jackson turbidity unit the same as an NTU?
Here it is. Traditional worksheets equate JTU with NTU and with silica ppm, and the converter uses that published table factor of one. It does not apply corrections for the particles in a particular sample.
Related tools
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/conv/turbidity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":10,"from":"ntu","to":"fnu"}'const res = await fetch("https://api.kit.forhosting.com/conv/turbidity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 10,
"from": "ntu",
"to": "fnu"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/turbidity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 10,
"from": "ntu",
"to": "fnu"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/turbidity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":10,"from":"ntu","to":"fnu"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":10,"from":"ntu","to":"fnu"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/turbidity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"value": 10,
"from": "ntu",
"to": "fnu"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.turbidity",
"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.
Limits
max_abs | 1000000000000 |
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. |
Technical notes
Unknown unit names fail with a clear invalid_input error instead of silent wrong factors.
Which turbidity units are supported and how conversion works
Common aliases are accepted case-insensitively: nephelometric turbidity unit and NTU for the hub, ISO 7027 and formazin nephelometric for FNU, formazin and TE/F for FTU, Jackson candle for JTU, European Brewery Convention for EBC, and ppm silica or mg/L SiO2 for the silica label. If the name is not on that list the solver rejects the request with invalid_input naming the bad field and listing supported units, so clients never guess whether a typo produced a wrong number. Negative values are rejected because turbidity is a non-negative magnitude; absolute magnitude must stay within the published one-trillion limit so intermediate products remain finite in IEEE double precision on the Worker and in the browser.
How to call the API and read the response
Value must be a finite non-negative number or a strict numeric string within absolute limits of one trillion. Wire this into SCADA dashboards, mobile field apps, or batch jobs that already hold a turbidity reading and only need a second unit for regulatory comparison, ISO versus EPA method labels, or mixed brewery and water-lab reports without shipping floating conversion tables in every app binary. Send a JSON body with three required fields: value (aliases amount, turbidity, reading, n, and t), from (aliases from_unit, unit_from, and source), and to (aliases to_unit, unit_to, and target). From and to must resolve to supported unit names after alias normalization. On success the response echoes the rounded input value, canonical from and to labels, result and converted set to the same rounded target magnitude, value_ntu as the NTU intermediate, unit as the target label, factor as the from-to multiplier, formula as the short equation string, message as an English summary, steps as ordered substitution lines, and supported_units as the seven canonical identifiers. Failed validation—missing fields, non-finite numbers, negative values, values outside absolute limits, or an unknown unit name—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item and zero marginal unit price.
Practical tips, limits, and when to use this landing
Normalize display labels on your side if you need locale-specific spellings—this API always returns the short canonical tokens ntu, fnu, ftu, fau, jtu, ebc, and ppm-sio2 so automated tests stay stable. Prefer this capability when both endpoints are among the seven supported turbidity units and you need deterministic factors and step strings; if you need particle mass or filterability, use dedicated solids or filtration calculators instead. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when clients deliberately probe unknown unit names.
Technical questions
What happens if I send an unknown unit?
The API returns invalid_input naming the field and listing supported units. Failed validation is never charged.