Black or African American
Non-Black or African American
Estimated GFR (eGFR)
mL/min/1.73 m²
Understanding Glomerular Filtration Rate (GFR) and the CKD-EPI Equation
The Glomerular Filtration Rate (GFR) is a crucial indicator of kidney function. It measures how effectively your kidneys filter waste products and excess fluid from your blood. Specifically, it estimates the volume of fluid that is filtered by the glomeruli of the kidneys per unit of time. A healthy kidney typically filters about 90-120 mL of blood per minute per 1.73 square meters of body surface area (mL/min/1.73 m²).
As kidney disease progresses, GFR declines, indicating a reduced filtering capacity. Monitoring GFR is essential for early detection, diagnosis, and management of Chronic Kidney Disease (CKD).
The CKD-EPI 2021 Equation
The CKD-EPI (Chronic Kidney Disease Epidemiology Collaboration) equation is a widely used formula to estimate GFR based on readily available clinical measurements. The 2021 version refines previous iterations and is generally considered the most accurate for most populations. This calculator uses the CKD-EPI 2021 creatinine-based equation.
CKD-EPI 2021 Creatinine Equation for Adults:
For Black individuals:
eGFR = 133 × (serum creatinine / 0.7)−1.422 × 0.996age
eGFR is the estimated Glomerular Filtration Rate in mL/min/1.73 m².
Serum Creatinine is measured in mg/dL.
Age is in years.
'min' and 'max' functions ensure the equation is applied correctly for different creatinine levels relative to the reference point (0.9 mg/dL for non-Black individuals).
The exponent for Black individuals is −1.422 for serum creatinine and the coefficient is 133.
The exponents for Non-Black individuals are −1.209 and −0.304 for serum creatinine, with a coefficient of 141.
Note: This calculator is for informational purposes and estimation only. It is not a substitute for professional medical advice, diagnosis, or treatment. Always seek the advice of your physician or other qualified health provider with any questions you may have regarding a medical condition.
Important Considerations for GFR Estimation:
This equation is validated for adults.
Serum creatinine levels can be affected by factors such as muscle mass, diet, and certain medications, which may influence the accuracy of the eGFR estimation.
For individuals with very high or very low muscle mass, or unusual diets, other methods for estimating GFR might be considered by a healthcare professional.
The inclusion of race in GFR estimation has been a subject of significant discussion and is being re-evaluated. Some guidelines are moving away from race-based adjustments. This calculator reflects the widely used CKD-EPI 2021 equation which includes a race factor. Consult with your healthcare provider regarding the most appropriate GFR assessment for you.
function calculateGFR() {
var creatinine = parseFloat(document.getElementById("creatinine").value);
var age = parseFloat(document.getElementById("age").value);
var gender = document.getElementById("gender").value;
var race = document.getElementById("race").value;
var errorMessageDiv = document.getElementById("error-message");
var resultDiv = document.getElementById("result");
var resultValueSpan = document.getElementById("result-value");
// Clear previous error messages and results
errorMessageDiv.style.display = "none";
errorMessageDiv.textContent = "";
resultDiv.style.display = "none";
// Input validation
if (isNaN(creatinine) || creatinine <= 0) {
errorMessageDiv.textContent = "Please enter a valid serum creatinine value (greater than 0).";
errorMessageDiv.style.display = "block";
return;
}
if (isNaN(age) || age <= 0) {
errorMessageDiv.textContent = "Please enter a valid age (greater than 0).";
errorMessageDiv.style.display = "block";
return;
}
var eGFR;
var raceFactor = 1.0; // Default factor
var creatinineAdjustment = 0.9; // Default adjustment for non-black
if (race === "black") {
// CKD-EPI 2021 Black formula
var creatinineTerm = Math.pow(creatinine / 0.7, -1.422);
eGFR = 133 * creatinineTerm * Math.pow(0.996, age);
} else {
// CKD-EPI 2021 Non-Black formula
creatinineAdjustment = 0.9;
var creatinineVal = creatinine / creatinineAdjustment;
var minCreatinineTerm = Math.pow(Math.min(creatinineVal, 1), -1.209);
var maxCreatinineTerm = Math.pow(Math.max(creatinineVal, 1), -0.304);
eGFR = 141 * minCreatinineTerm * maxCreatinineTerm * Math.pow(0.996, age);
}
// Ensure GFR is not negative and round to one decimal place
eGFR = Math.max(0, eGFR);
eGFR = parseFloat(eGFR.toFixed(1));
resultValueSpan.textContent = eGFR;
resultDiv.style.display = "block";
}