ForHosting KIT · Health & fitness

Plasma osmolality calculator

Sodium of 140, glucose of 90 mg/dL and BUN of 14 mg/dL give a calculated plasma osmolality of 290 mOsm/kg. Enter a basic chemistry panel, and ethanol if present, to see the total and how much each term adds. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Sodium
140
Glucose
90
Bun
14
You get
Ethanol
0 mOsm/kg
Sodium term
280
Glucose term
5
Bun term
5

Calculated plasma osmolality estimates how concentrated plasma is by converting a basic chemistry panel into milliosmoles per kilogram of water. Students, nurses, and health-software teams reach for this number when they study tonicity, review hyponatremia, or teach why glucose and urea add osmoles without the same effective tonicity as sodium. This plasma osmolality calculator applies the Worthley two-times-sodium formula: twice the serum sodium plus glucose divided by eighteen plus blood urea nitrogen divided by two point eight, with an optional ethanol term divided by four point six, and returns the sum in mOsm/kg plus each contribution. Glucose and BUN are required non-negative finite numbers in milligrams per decilitre; ethanol defaults to zero when omitted.

What calculated plasma osmolality measures and which inputs you need

Plasma osmolality is the number of osmoles of solute per kilogram of plasma water. Laboratories can measure it by freezing-point depression, but the everyday teaching value is a calculated estimate from sodium, glucose, and blood urea nitrogen. Sodium and its accompanying anions dominate the count, which is why the Worthley formula doubles the sodium concentration in milliequivalents per litre.

Glucose in milligrams per decilitre is converted to millimoles per litre by dividing by eighteen, the molecular weight of glucose divided by ten. Blood urea nitrogen in milligrams per decilitre is converted by dividing by two point eight, the nitrogen mass of urea divided by ten. Ethanol, when present, is converted by dividing by four point six.

Optional ethanol in milligrams per decilitre adds the alcohol term; if you omit it, the engine uses zero so the ethanol contribution is a transparent no-op. Practical bounds keep classroom and consumer inputs sane: sodium above zero through three hundred, glucose zero through two thousand, BUN zero through four hundred, ethanol zero through one thousand.

Uses in class and at work, and practical limits

Call the free in-browser plasma osmolality calculator for classroom demos, nursing homework checks, and quick personal learning without reimplementing the Worthley divisors in every spreadsheet. Prefer consistent conventional units; if your UI only collects whole numbers, send integers and the engine still accepts numeric strings. Authors shipping SDKs can map osmolality into tables, colour bands for educational reference intervals you define yourself, and step-by-step teaching cards that show the formula string and each term.

Keep expectations educational: this is a calculation and learning tool, not a diagnostic medical device, and people with symptoms, known electrolyte disorders, kidney disease, or suspected toxic-alcohol ingestion should follow professional medical advice rather than any single automated number alone.

Health education apps and worksheets

Apps show learners how hyperglycemia, azotemia, and ethanol each raise calculated plasma osmolality without recoding the 18, 2.8, and 4.6 divisors on every client.

How is plasma osmolality calculated?

The response includes osmolality in mOsm/kg and each term.

What units should I send?

Sodium in mEq/L (same as mmol/L for Na+). Glucose, blood urea nitrogen, and optional ethanol in mg/dL. Do not send SI mmol/L values for glucose or urea; those would under-count the terms.

What happens if sodium is zero or negative?

Sodium must be a positive number greater than zero; missing, non-numeric, zero, and negative values are rejected and not charged.

Is ethanol required?

No. Ethanol is optional and defaults to zero, so the ethanol term is omitted from the sum in effect. Send etoh or ethanol in mg/dL when you want the alcohol contribution.

Is the plasma osmolality calculator free?

The browser tool runs free on your device.

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.

POSThttps://api.kit.forhosting.com/health/plasma-osmolality

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.

curl -X POST https://api.kit.forhosting.com/health/plasma-osmolality \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sodium":140,"glucose":90,"bun":14}'
{
  "sodium": 140,
  "glucose": 90,
  "bun": 14
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "health.plasma_osmolality",
  "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.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Sodium must be a strictly positive finite number; zero, negative, missing, or non-numeric sodium fails with invalid_input and is not billed.

What calculated plasma osmolality measures and which inputs you need

Send required fields sodium, glucose, and bun as finite numbers; aliases such as na, glu, blood_urea_nitrogen, and etoh are accepted when documented. Sodium that is not a positive number—zero, negative, missing, empty, infinite, or not numeric—fails with invalid_input because a non-positive serum sodium is not a valid panel for this calculator. Identical inputs always yield identical JSON because the path is pure arithmetic with no network, no model, no random seed, and no wall clock.

Reading osmolality, contribution terms, and response fields

Use osmolality alone when you only need the calculated number for a worksheet; use the four terms when teaching why hyperglycemia or azotemia raises the estimate, or why a drinking-history panel needs the ethanol term. On success the response echoes sodium, glucose, bun, and ethanol with stable rounding, sets unit to mOsm/kg, and reports ethanol_provided so you know whether the client sent ethanol or the default of zero was applied. The osmolality field is the sum of four terms: sodium_term equals two times sodium, glucose_term equals glucose divided by eighteen, bun_term equals BUN divided by two point eight, and ethanol_term equals ethanol divided by four point six. The formula string restates that Worthley identity, and method is always worthley_2na so downstream code can branch without sniffing shapes. A typical adult panel of sodium one hundred forty, glucose ninety, and BUN fourteen yields two hundred eighty plus five plus five, or two hundred ninety milliosmoles per kilogram, with ethanol_term zero when alcohol is omitted. Missing required fields, non-finite values, out-of-range readings, negative glucose or BUN, and any sodium that is not a positive number all fail with invalid_input and are not charged. Do not confuse this endpoint with chemistry osmolarity from van’t Hoff factors, osmolar-gap products that also need a measured osmolality, or SI-unit calculators that add glucose and urea already expressed in millimoles per litre—those are different search intents and different contracts.

API usage, pricing, product workflows, and practical limits

Send a JSON body with required sodium, glucose, and bun values and optional ethanol when you want the alcohol contribution included. Use the prepaid API when a health SaaS, electronic worksheet, simulation lab, tutoring platform, or school LMS needs a stable contract under KIT balance at $0.002 per successful item; validation failures never consume balance after the engine rejects the request. Pair this endpoint with your own laboratory units and clinical workflow—confirm that glucose and BUN are in milligrams per decilitre, not millimoles per litre, and that ethanol is a serum concentration rather than a breath reading—then store osmolality alongside the raw panel for dashboards and export columns for sodium, glucose, bun, ethanol, and osmolality.

Nursing and medical-school homework

Students submit Na, glucose, and BUN panels and pin expected osmolality JSON in automated checkers with deterministic Worthley terms.

Simulation labs and SaaS backends

Server pipelines that already store basic metabolic panels call a prepaid endpoint for Posm fields instead of duplicating the formula in every language.

Read the full KIT documentation →