Estimate your Glomerular Filtration Rate (eGFR) using the CKD-EPI 2021 creatinine equation.
Male
Female
Non-binary
Black or African American
Other (White, Asian, Hispanic, etc.)
Your Estimated eGFR
Understanding eGFR and the CKD-EPI 2021 Equation
The Glomerular Filtration Rate (GFR) is a key measure of kidney function. It represents the volume of fluid filtered by the glomeruli in the kidneys per unit of time. A healthy kidney efficiently filters waste products from the blood. As kidney function declines, the GFR decreases.
Estimated GFR (eGFR) is a calculation used to estimate your actual GFR based on factors like your serum creatinine level, age, sex, and race. It's a crucial tool for detecting and managing Chronic Kidney Disease (CKD).
The CKD-EPI 2021 creatinine equation is a widely used formula to estimate GFR. It is considered more accurate than previous equations, especially for individuals with higher GFR values. The equation is complex and involves several variables:
Serum Creatinine: A waste product produced by muscle metabolism, filtered by the kidneys. Higher levels often indicate reduced kidney function. Measured in mg/dL.
Age: Kidney function naturally declines with age.
Sex: Biological sex influences muscle mass and therefore creatinine production.
Race: Historically, race has been included in eGFR equations due to observed differences in creatinine levels, though this is a subject of ongoing debate and refinement in medical practice. The CKD-EPI 2021 equation uses a simplified approach for race.
The CKD-EPI 2021 Equation (Simplified for this calculator):
The CKD-EPI 2021 equation is a piecewise linear regression model. For simplicity in this calculator, we use the core logic. The specific coefficients and thresholds vary slightly based on the input parameters.
max(1, 1.018 – 0.015 × Age) = the larger value of 1 or (1.018 – 0.015 × Age)
The race factor (1.159) is applied only for individuals identifying as Black or African American.
The sex factor (0.739) is applied only for females.
Non-binary individuals are typically calculated using the male or female coefficients based on clinical judgment or specific guidelines, or a standardized approach. This calculator uses the male coefficient for non-binary individuals as a default.
Interpreting Your eGFR:
eGFR ≥ 90 mL/min/1.73m²: Generally considered normal, but may indicate kidney damage if other signs are present.
Disclaimer: This calculator is for informational purposes only and does not substitute professional medical advice. Always consult with a qualified healthcare provider for diagnosis and treatment.
function calculateEGFR() {
var creatinine = parseFloat(document.getElementById("creatinine").value);
var age = parseInt(document.getElementById("age").value);
var gender = document.getElementById("gender").value;
var race = document.getElementById("race").value;
var resultDiv = document.getElementById("result");
var resultValueDiv = document.getElementById("result-value");
var interpretationDiv = document.getElementById("interpretation");
// Clear previous results
resultDiv.style.display = "none";
resultValueDiv.textContent = "";
interpretationDiv.textContent = "";
// Input validation
if (isNaN(creatinine) || creatinine <= 0 || isNaN(age) || age <= 0) {
alert("Please enter valid positive numbers for Serum Creatinine and Age.");
return;
}
var kappa, alpha, raceFactor, sexFactor;
// Determine kappa and alpha based on sex
if (gender === "male") {
kappa = 0.9;
alpha = -0.411;
sexFactor = 1;
} else if (gender === "female") {
kappa = 0.7;
alpha = -0.329;
sexFactor = 0.739;
} else { // Non-binary – using male coefficients as a common default
kappa = 0.9;
alpha = -0.329; // Using female alpha as per CKD-EPI 2021 for non-binary
sexFactor = 1;
}
// Determine race factor
if (race === "black") {
raceFactor = 1.159;
} else {
raceFactor = 1;
}
// CKD-EPI 2021 Equation Calculation
var scr = creatinine;
var ageFactor = Math.max(1, 1.018 – (0.015 * age));
var scrTerm = Math.min(scr / kappa, 1);
var scrTermPowered = Math.pow(scrTerm, alpha);
var egfr = 141 * scrTermPowered * ageFactor * sexFactor * raceFactor;
// Ensure eGFR is not negative (can happen with very low creatinine/high age)
if (egfr = 90) {
interpretation = "eGFR is ≥ 90 mL/min/1.73m² (Normal or possible kidney damage if other signs present).";
} else if (egfr >= 60) {
interpretation = "eGFR is 60-89 mL/min/1.73m² (Mildly decreased kidney function).";
} else if (egfr >= 30) {
interpretation = "eGFR is 30-59 mL/min/1.73m² (Moderately decreased kidney function).";
} else if (egfr >= 15) {
interpretation = "eGFR is 15-29 mL/min/1.73m² (Severely decreased kidney function).";
} else {
interpretation = "eGFR is < 15 mL/min/1.73m² (Kidney failure).";
}
interpretationDiv.textContent = interpretation;
resultDiv.style.display = "block";
}