ForHosting KIT · Health & fitness

eGFR CKD-EPI 2009 calculator

Get the estimated glomerular filtration rate from the 2009 CKD-EPI equation: a creatinine of 1 mg/dL in a 50-year-old woman gives 65.6 mL/min/1.73 m², stage G2. Made for reproducing older charts, studies and lab reports that cite this exact formula. 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
Creatinine
1
Age
50
Sex
Female
You get
Egfr
65.6
Equation
CKD-EPI 2009
Stage
G2
Stage label
Mildly decreased

Estimated glomerular filtration rate is the screening number clinicians, researchers, and product teams use when they need a quick read on how well the kidneys clear waste from blood. This calculator implements the original CKD-EPI 2009 creatinine equation published by Levey and colleagues: enter serum creatinine in mg/dL, age in whole years, and sex, and receive eGFR in mL/min/1.73 m² plus a KDIGO-style GFR category label. The 2009 coefficients (141, sex-specific kappa and alpha, power −1.209, and 0.993 raised to age) differ from the race-free 2021 refit used in many modern labs, so this tool is ideal when you must reproduce historical charts, compare study arms coded with the older formula, or document what a legacy EHR would have reported.

What the CKD-EPI 2009 creatinine equation is and when to use it

Glomerular filtration rate is the volume of blood filtered by the kidney glomeruli per unit time, normalized to body surface area. Direct measurement with inulin clearance or radionuclide methods is accurate but impractical for routine care, so laboratories report an estimate derived from serum creatinine and demographic factors. The Chronic Kidney Disease Epidemiology Collaboration published the 2009 creatinine equation in the Annals of Internal Medicine after pooling large cohorts, improving accuracy over the older MDRD study equation especially at higher filtration rates.

The published form multiplies a base of one hundred forty-one by a min term and a max term of the serum creatinine over kappa ratio, then by zero point nine nine three raised to age, and by a female factor of one point zero one eight when sex is female.

Kappa is zero point seven for females and zero point nine for males; alpha is negative zero point three two nine for females and negative zero point four one one for males; the high-creatinine power is negative one point two zero nine. Those constants are exactly what this capability applies, rounded to one decimal place for display.

Use this landing when your protocol, paper, or dataset explicitly cites CKD-EPI 2009, when you are auditing a legacy system that still prints 2009 values, or when you need a side-by-side comparison against newer race-free equations. For new clinical screening workflows, many guidelines now prefer the 2021 race-free refit; keep both tools available so engineering and research teams can choose the equation the context demands without guessing coefficients by hand.

What to enter and what you get back

Send creatinine as a finite positive number in milligrams per deciliter (mg/dL)—the unit assumed by the CKD-EPI 2009 coefficients. Sex must be male or female; single-letter m or f is accepted and normalized. Non-positive or zero creatinine is rejected because a non-positive serum value is not clinically meaningful and would break the power terms.

Missing required fields, non-numeric types, and ages outside range likewise fail with a clear message naming the field. The original 2009 paper also described an optional race coefficient; this tool never applies that multiplier and never asks for race, so two adults with the same creatinine, age, and sex always receive the same eGFR.

How to interpret results, limits, and integration patterns

eGFR is a screening estimate, not a standalone diagnosis of chronic kidney disease, and this tool does not provide medical advice or clinical interpretation. KDIGO stages G1 through G5 classify filtration level only; full CKD staging also considers albuminuria, clinical context, and whether reduced filtration is chronic or acute. Values can be temporarily lowered by acute illness, high meat intake, certain drugs, muscle mass extremes, or lab assay differences, and creatinine-only equations are known to be less accurate at the extremes of muscle mass.

Do not use the output alone to dose nephrotoxic drugs, clear patients for procedures, or make a diagnosis—any of those decisions needs a licensed clinician working from the full clinical picture, and cystatin-C-based or measured clearance methods are preferred when creatinine alone is unreliable.

Historical study coding and paper replication

Attach a reproducible CKD-EPI 2009 eGFR and KDIGO category to research rows when protocols or publications still cite the 2009 creatinine equation.

Legacy EHR and report audit

Cross-check what an older laboratory or hospital system would have reported for the same creatinine, age, and sex using the classic coefficients.

Education and equation comparison demos

Teach the difference between 2009 and newer race-free formulas with transparent, deterministic outputs students and product teams can verify by hand.

Which eGFR equation does this calculator use?

The CKD-EPI 2009 creatinine equation (Levey et al., Annals of Internal Medicine 2009). Results are in mL/min/1.73 m² and rounded to one decimal place. The race coefficient from the original paper is not applied.

How does this differ from the CKD-EPI 2021 calculator?

Coefficients differ: 2009 uses base 141, power −1.209, age factor 0.993, and female factor 1.018 with older kappa/alpha pairs. The 2021 race-free equation uses base 142, power −1.200, age factor 0.9938, and female factor 1.012. Use 2009 for historical replication; prefer 2021 for new clinical screening.

What units should I use for serum creatinine?

Milligrams per deciliter (mg/dL). If your lab reports µmol/L, divide by 88.4 to convert to mg/dL before calling the tool.

What happens if creatinine, age, or sex is missing?

Required inputs are positive creatinine in mg/dL, whole-year age 18–120, and sex male or female.

Can I use this result to make a clinical decision?

No. This is a screening estimate for education, research coding, and product prototypes. Diagnosis, drug dosing, and care decisions require a licensed clinician and the full clinical picture.

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/egfr-ckd-epi-2009

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/egfr-ckd-epi-2009 \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"creatinine":1,"age":50,"sex":"female"}'
{
  "creatinine": 1,
  "age": 50,
  "sex": "female"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "health.egfr_ckd_epi_2009",
  "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.

The math is fully deterministic and runs locally—no models, labs, or network calls—so the same inputs always produce the same result and patient-like values never leave the request path. This is a screening estimate, not a diagnosis: use it for education, research coding, and product prototypes that need a transparent, auditable eGFR step, and always pair the output with clinician judgment before any care decision.

Inputs, units, validation rules, and response shape

If your lab reports micromoles per liter, convert first by dividing micromoles per liter by eighty-eight point four before calling the API. Age must be a whole number of years from eighteen through one hundred twenty; the adult equation is not validated for children, so pediatric ages fail with invalid_input rather than returning a misleading adult-stage label. On success the response returns egfr rounded to one decimal place, the unit string milliliters per minute per one point seven three square meters, equation name CKD-EPI 2009, a KDIGO GFR stage code G1 through G5 with a short stage_label, and echoes of the normalized inputs so callers can audit what was computed without re-parsing the request. Failed validation does not consume prepaid balance; successful calls are billed at the published item price.

How to interpret results, limits, and integration patterns

The free browser page runs the same lib as the API; programmatic calls cost $0.002 per request from prepaid KIT balance with unit item. Pair the JSON fields with your own UI—traffic-light bands, trend charts, research export columns, or EHR notes—while keeping clinical interpretation outside this calculator. When you need the modern race-free clinical default, switch to the CKD-EPI 2021 sibling capability; when you need the classic 2009 numbers for replication or audit, stay on this endpoint and pin the equation name in your logs.

Read the full KIT documentation →