ForHosting KIT · Health & fitness

Corrected sodium calculator

See the sodium a patient would have once high blood sugar is accounted for. A measured 130 mmol/L with glucose at 400 mg/dL becomes 134.8 with the Katz factor of 1.6, and you can switch to 2.0 or Hillier's 2.4. 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
130
Glucose
400
You get
Glucose unit
Mg dl
Glucose mg dl
400
Factor
1.6
Reference glucose mg dl
100

When plasma glucose rises, water is pulled into the extracellular space and the laboratory sodium falls even if the amount of sodium in the body has not changed. That dilution is expected, so the measured sodium understates the value you would see once glucose is treated. This corrected sodium calculator takes measured serum sodium in millimoles per liter, blood glucose in milligrams per deciliter or millimoles per liter, and a chosen correction factor — Katz 1.6, an intermediate 2.0, or Hillier 2.4 — and returns corrected sodium in millimoles per liter.

Why measured sodium falls in hyperglycemia and how Katz and Hillier correct it

Glucose is an effective osmole in the extracellular fluid. When its concentration climbs, water shifts out of cells until osmolality on both sides of the membrane matches again. Sodium is measured in the diluted extracellular water, so the reported Na+ is lower than the sodium the patient would have at a normal glucose.

Katz in 1973 taught a linear rule still used on wards: add 1.6 millimoles per liter of sodium for every 100 mg/dL of glucose above 100 mg/dL. Hillier and colleagues later measured a steeper slope, about 2.4 millimoles per liter per 100 mg/dL, which many calculators offer as an alternative when glucose is extremely high. An intermediate factor of 2.0 sits between those two published slopes and is used in some teaching sheets.

All three share the same algebra: corrected sodium equals measured sodium plus the factor times (glucose in milligrams per deciliter minus 100) divided by 100. A measured sodium of 130 mmol/L with glucose 400 mg/dL and the Katz factor therefore becomes 130 plus 1.6 times 3.0, which is 134.8 mmol/L. The 100 mg/dL anchor is the conventional normal glucose in these papers, not a claim about an individual’s fasting target.

This tool does not diagnose hypotonic hyponatremia, translocational hyponatremia, or pseudohyponatremia from lipids or paraprotein; it only applies the published additive correction so you can compare the two common slopes on the same pair of numbers.

When a corrected sodium is worth checking

Emergency and inpatient teams often need a second number next to a low measured sodium when the same draw shows a glucose in the high hundreds or thousands: is this translocational dilution that should improve as glucose falls, or a hypotonic problem that still needs water restriction or hypertonic saline? Running Katz and Hillier on the same pair of labs is a quick way to bound that correction before fluids are chosen.

Teaching hospitals and exam-prep writers use a deterministic oracle so learners can check 1.6 versus 2.4 without a spreadsheet rounding surprise. Classic hand checks include sodium 130 with glucose 400 mg/dL and factor 1.6, which yields a correction of 4.8 and a corrected sodium of 134.8 mmol/L, and sodium 135 with glucose 22.2 mmol/L and factor 2.4, which converts to 399.6 mg/dL and a corrected sodium of 142.1904 mmol/L. Glucose 90 mg/dL is the documented rejection path.

This landing is for people searching a corrected sodium calculator, hyperglycemia sodium correction, Katz factor, or Hillier sodium. It is not a free-water deficit tool, not a serum osmolality gap, not an anion-gap calculator, and not a treatment protocol.

Bedside hyperglycemia with a low measured sodium

Given a chemistry panel with Na+ 130 mmol/L and glucose 400 mg/dL, compute Katz and Hillier corrected sodium so the team can see how much of the hyponatremia is translocational.

How is corrected sodium calculated in hyperglycemia?

Corrected Na+ = measured Na+ + factor × (glucose in mg/dL − 100) / 100. Factor 1.6 is Katz 1973 (default), 2.0 is the intermediate teaching slope, and 2.4 is Hillier 1999. The result is in mmol/L.

Why does glucose below 100 mg/dL fail?

The published correction is defined for hyperglycemia above the 100 mg/dL reference.

Can I send glucose in mmol/L?

The engine multiplies by 18 to obtain mg/dL, then applies the same 100 mg/dL reference (about 5.6 mmol/L).

Which correction factor should I choose?

Katz 1.6 is the common ward default. Hillier 2.4 is steeper and often cited at very high glucose. 2.0 sits between them. This tool applies the factor you send; it does not pick a clinical protocol.

What does the corrected sodium calculator cost?

The browser tool is free and runs locally.

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/sodium-correction

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/sodium-correction \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sodium":130,"glucose":400}'
{
  "sodium": 130,
  "glucose": 400
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "health.sodium_correction",
  "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.

Glucose must sit at or above the classic 100 mg/dL reference; values below that threshold fail with invalid_input because there is no hyperglycemic dilution to reverse.

Input contract, units, response shape, and the glucose-threshold error

Millimoles per liter of glucose are converted with the conventional clinical factor eighteen, so milligrams per deciliter equal millimoles per liter times 18, and the 100 mg/dL reference is then about 5.6 mmol/L. Sodium must lie between 50 and 200 mmol/L. After conversion, glucose must not exceed 2000 mg/dL. Send a JSON body with two required finite numbers: sodium (aliases na, Na, serum_sodium, sodium_mmol, measured_sodium) in millimoles per liter, and glucose (aliases glu, blood_glucose, glucose_value, serum_glucose) in the unit named by glucose_unit. Optional glucose_unit (aliases glu_unit, glucose_units, unit_glucose) is the closed set mg_dl or mmol_l and defaults to mg_dl, meaning milligrams per deciliter. Optional factor (aliases correction_factor, k, katz_factor) is 1.6, 2.0, or 2.4 and defaults to 1.6, the Katz slope. If converted glucose is below the 100 mg/dL normal reference threshold, the task fails with invalid_input and a message that hyperglycemia sodium correction does not apply — those failures are not billed. Missing fields, non-numeric strings, unknown units, and a factor outside the three allowed slopes also return invalid_input. On success the body echoes sodium, glucose, glucose_unit, glucose_mg_dl, and factor; names the method katz, two, or hillier; reports reference_glucose_mg_dl of 100, delta_glucose_mg_dl, the additive sodium_correction, and sodium_corrected in millimoles per liter (unit_sodium), plus the formula string. Successful API calls cost $0.002 per item.

Where a hyperglycemia sodium correction API earns its keep

Laboratory middleware and EHR flowsheets that already store sodium in millimoles per liter and glucose in either milligrams per deciliter or millimoles per liter can call one endpoint instead of embedding three magic numbers in every interface. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when you deliberately send a glucose below the reference to test client validation.

Lab and EHR unit conversion

Interfaces that store glucose in mmol/L call the same endpoint with glucose_unit mmol_l and the conventional ×18 conversion, keeping corrected sodium in mmol/L beside the measured value.

Teaching oracles and golden fixtures

Courseware and test harnesses freeze known Katz 1.6 and Hillier 2.4 results plus the glucose-below-100 rejection instead of re-deriving the slope in every worksheet.

Read the full KIT documentation →