Home › Medical & Clinical › LDL Cholesterol Calculator
LDL Cholesterol Calculator
Calculates LDL cholesterol from total cholesterol, HDL and triglycerides with the Friedewald equation (mg/dL or mmol/L), plus non-HDL cholesterol and the NCEP LDL category.
When to use
You have a fasting lipid panel without a direct LDL measurement and need the calculated LDL or non-HDL cholesterol.
Do not use when: Triglycerides exceed 400 mg/dL (4.5 mmol/L) or the sample was non-fasting; Friedewald is invalid there and a direct LDL assay or the Martin/Hopkins or Sampson equations are used instead.
Formula
LDL = total_cholesterol − hdl_cholesterol − triglycerides / 5 (mg/dL) or − triglycerides / 2.2 (mmol/L); non-HDL = total_cholesterol − hdl_cholesterol
Friedewald (1972) assumes VLDL cholesterol ≈ TG/5 in fasting samples; accuracy falls when TG is 200–400 mg/dL or LDL is below 70 mg/dL. Results are informational only and not a substitute for clinical judgement or medical advice.
Inputs
| Parameter | Type | Unit | Required | Description |
|---|---|---|---|---|
total_cholesterol | number | yes | Total cholesterol in the chosen unit. Range: > 0, ≤ 2000 | |
hdl_cholesterol | number | yes | HDL cholesterol in the chosen unit. Range: > 0, ≤ 500 | |
triglycerides | number | yes | Fasting triglycerides in the chosen unit. Range: > 0, ≤ 5000 | |
unit | enum: mg_dl | mmol_l | default mg_dl | Unit shared by all three inputs. |
Outputs
| Output | Type | Unit | Description |
|---|---|---|---|
ldl_cholesterol | number | Calculated LDL in the input unit. | |
non_hdl_cholesterol | number | Total − HDL, in the input unit. | |
unit | string | Unit of the two values above. | |
ldl_cholesterol_mg_dl | number | mg/dL | LDL in mg/dL. |
ldl_cholesterol_mmol_l | number | mmol/L | LDL in mmol/L (mg/dL × 0.02586). |
ldl_category | string | Optimal <100, near optimal 100–129, borderline high 130–159, high 160–189, very high ≥190 mg/dL. |
Example
TC 200, HDL 50, TG 150 mg/dL: {"total_cholesterol":200,"hdl_cholesterol":50,"triglycerides":150,"unit":"mg_dl"} → {"ldl_cholesterol":120,"non_hdl_cholesterol":150,"ldl_cholesterol_mmol_l":3.1,"ldl_category":"Near optimal (100–129 mg/dL)"}
TC 5.2, HDL 1.3, TG 1.5 mmol/L: {"total_cholesterol":5.2,"hdl_cholesterol":1.3,"triglycerides":1.5,"unit":"mmol_l"} → {"ldl_cholesterol":3.22,"non_hdl_cholesterol":3.9,"ldl_cholesterol_mg_dl":124.4}
GET https://tttkmbb.com/api/v1/calculate/ldl-cholesterol?total_cholesterol=200&hdl_cholesterol=50&triglycerides=150&unit=mg_dl
Machine access
- API:
GET https://tttkmbb.com/api/v1/calculate/ldl-cholesterol(query parameters) orPOSTwith a JSON body{"inputs": {...}} - Schema: https://tttkmbb.com/api/v1/calculators/ldl-cholesterol · Markdown: https://tttkmbb.com/medical/ldl-cholesterol.md · JSON definition: https://tttkmbb.com/medical/ldl-cholesterol.json
- MCP: server
https://tttkmbb.com/mcp, toolrun_calculator with calculator_id="ldl-cholesterol" - OpenAPI operationId:
calculate_ldl_cholesterol - Freshness:
static. Authentication: none. Rate limit: fair use (see rate limits).
Sources
FAQ
Why is Friedewald invalid at high triglycerides?
The TG/5 term assumes a fixed VLDL composition; above 400 mg/dL (and in chylomicronaemia) it overestimates VLDL and underestimates LDL, so the calculator returns an error instead of a number.
What is non-HDL cholesterol for?
It captures all atherogenic lipoproteins (LDL, VLDL, IDL, Lp(a)) and stays valid in non-fasting samples; targets are usually 30 mg/dL (0.8 mmol/L) above the LDL target.
Related calculators
- Cholesterol Unit Converter — Convert lipid values between mg/dL and mmol/L.
- BMI Calculator — Weight status alongside lipid results.