Calculation of Estimated Glomerular Filtration Rate

Estimated Glomerular Filtration Rate (eGFR) Calculator

The Estimated Glomerular Filtration Rate (eGFR) is a crucial indicator of kidney function. It estimates how well your kidneys are filtering waste products from your blood. A lower eGFR suggests reduced kidney function, which can be a sign of Chronic Kidney Disease (CKD).

This calculator uses the CKD-EPI 2021 creatinine equation, which is widely recommended for estimating GFR. It requires your age, sex, and serum creatinine level. Race is no longer a factor in the 2021 equation.

Male Female

Your Estimated GFR:

Units: mL/min/1.73 m²

Understanding Your eGFR Results:

  • eGFR > 90: Normal kidney function.
  • eGFR 60-89: Mildly decreased kidney function. May indicate early CKD if other signs of kidney damage are present.
  • eGFR 30-59: Moderately decreased kidney function. Suggests CKD.
  • eGFR 15-29: Severely decreased kidney function. Suggests advanced CKD.
  • eGFR < 15: Kidney failure. Dialysis or transplant may be needed.

Disclaimer: This calculator is for informational purposes only and does not substitute professional medical advice. Always consult with your healthcare provider for diagnosis and treatment.

function calculateEGFR() { var serumCreatinine = parseFloat(document.getElementById("serumCreatinine").value); var age = parseInt(document.getElementById("age").value); var sex = document.getElementById("sex").value; var resultElement = document.getElementById("result"); resultElement.textContent = "–"; if (isNaN(serumCreatinine) || isNaN(age) || serumCreatinine <= 0 || age <= 0) { resultElement.textContent = "Please enter valid positive numbers for Creatinine and Age."; return; } var sexFactor; if (sex === "male") { sexFactor = 1.012; } else { sexFactor = 0.993; } var egfr; // CKD-EPI 2021 creatinine equation for adults // Source: https://www.kidney.org/professionals/gfr_calculator var scr = serumCreatinine; // serum creatinine var ageVal = age; // age in years var k; if (sex === "male") { k = 1463; } else { k = 1233; } var a; if (sex === "male") { a = -1.209; } else { a = -1.209; } egfr = k * Math.pow(scr, a) * Math.pow(ageVal, -0.146) * sexFactor; // If GFR is < 60, use a different equation form for those with GFR < 60 if (egfr < 60) { if (sex === "male") { k = 1392; } else { k = 1321; } a = -1.198; // exponent for scr egfr = k * Math.pow(scr, a) * Math.pow(ageVal, -0.203) * sexFactor; } // Ensure eGFR is not negative if (egfr < 0) { egfr = 0; } // Round to nearest whole number egfr = Math.round(egfr); resultElement.textContent = egfr.toFixed(0); } .eGFR-calculator { font-family: Arial, sans-serif; border: 1px solid #ddd; padding: 20px; border-radius: 8px; max-width: 600px; margin: 20px auto; background-color: #f9f9f9; } .eGFR-calculator h2, .eGFR-calculator h3 { text-align: center; color: #333; } .eGFR-calculator p { color: #555; line-height: 1.6; margin-bottom: 15px; } .calculator-inputs { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin-bottom: 20px; } .input-group { display: flex; flex-direction: column; } .input-group label { margin-bottom: 5px; font-weight: bold; color: #444; } .input-group input[type="number"], .input-group select { padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 1rem; } .eGFR-calculator button { display: block; width: 100%; padding: 12px 20px; background-color: #007bff; color: white; border: none; border-radius: 5px; font-size: 1.1rem; cursor: pointer; transition: background-color 0.3s ease; margin-bottom: 20px; } .eGFR-calculator button:hover { background-color: #0056b3; } .calculator-result { text-align: center; background-color: #e9ecef; padding: 15px; border-radius: 5px; margin-top: 20px; } #result { font-size: 2rem; font-weight: bold; color: #007bff; margin-bottom: 5px; } .explanation { margin-top: 30px; border-top: 1px solid #eee; padding-top: 15px; } .explanation h3 { text-align: left; color: #333; margin-bottom: 10px; } .explanation ul { list-style: disc; margin-left: 20px; color: #555; } .explanation li { margin-bottom: 8px; } .explanation p { font-size: 0.9rem; color: #777; text-align: center; }

Leave a Comment