CEU Credits Required Calculator

ANALife Services AuthorityNational Calculator Authority›CEU Credits Required Calculator

.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }

CEU Credits Required Calculator

Calculate the total Continuing Education Units (CEUs) required for your professional license renewal based on your profession, renewal cycle, and jurisdiction requirements.

Profession / License Type

-- Select Profession -- Registered Nurse (RN) Licensed Practical Nurse (LPN) Teacher / Educator Social Worker (LCSW/LSW) Physical Therapist (PT) Occupational Therapist (OT) Pharmacist (RPh) Real Estate Agent / Broker Accountant (CPA) Professional Engineer (PE) Custom / Other

License Renewal Cycle (Years)

1 Year 2 Years 3 Years 4 Years 5 Years

Custom Annual CEU Requirement (hours/year)

CEUs Already Completed This Cycle (hours)

Months Remaining in Current Renewal Cycle

Calculate

// Annual CEU requirements by profession (hours per year) // Sources: respective national licensing boards const CEU_PROFESSION_DATA = { nurse_rn: { label: "Registered Nurse (RN)", annualHours: 15, notes: "Typically 30 hours per 2-year cycle (NCSBN / state boards)" }, nurse_lpn: { label: "Licensed Practical Nurse (LPN)", annualHours: 12, notes: "Typically 24 hours per 2-year cycle (state boards)" }, teacher: { label: "Teacher / Educator", annualHours: 60, notes: "Typically 60 PDUs/hours per year (NCLB / state DOE)" }, social_worker: { label: "Social Worker (LCSW/LSW)", annualHours: 15, notes: "Typically 30 hours per 2-year cycle (NASW / state boards)" }, physical_therapist: { label: "Physical Therapist (PT)", annualHours: 15, notes: "Typically 30 hours per 2-year cycle (APTA / state boards)" }, occupational_therapist:{ label: "Occupational Therapist (OT)", annualHours: 15, notes: "Typically 30 hours per 2-year cycle (AOTA / state boards)" }, pharmacist: { label: "Pharmacist (RPh)", annualHours: 15, notes: "Typically 30 hours per 2-year cycle (ACPE / state boards)" }, real_estate: { label: "Real Estate Agent / Broker", annualHours: 11, notes: "Typically 22 hours per 2-year cycle (NAR / state boards)" }, accountant: { label: "Accountant (CPA)", annualHours: 40, notes: "Typically 40 hours per year or 80 per 2-year cycle (AICPA / state boards)" }, engineer: { label: "Professional Engineer (PE)", annualHours: 15, notes: "Typically 30 PDHs per 2-year cycle (NSPE / state boards)" }, custom: { label: "Custom / Other", annualHours: null, notes: "User-defined annual requirement" } };

function ceuUpdateFields() { const profession = document.getElementById("ceu-profession").value; const customRow = document.getElementById("ceu-custom-row"); customRow.style.display = (profession === "custom") ? "block" : "none"; }

function ceuCalc() { const resultDiv = document.getElementById("ceu-result"); resultDiv.style.display = "none";

// --- Inputs --- const profession = document.getElementById("ceu-profession").value; const renewalYears = parseFloat(document.getElementById("ceu-renewal-years").value); const completed = parseFloat(document.getElementById("ceu-completed").value) || 0; const monthsRemaining = parseFloat(document.getElementById("ceu-months-remaining").value); const customAnnual = parseFloat(document.getElementById("ceu-custom-annual").value);

// --- Validation --- if (!profession) { resultDiv.innerHTML = "⚠ Please select a profession."; resultDiv.style.display = "block"; return; } if (isNaN(renewalYears) || renewalYears ⚠ Please select a valid renewal cycle."; resultDiv.style.display = "block"; return; } if (isNaN(monthsRemaining) || monthsRemaining renewalYears * 12) { resultDiv.innerHTML = "⚠ Months remaining must be between 0 and " + (renewalYears * 12) + "."; resultDiv.style.display = "block"; return; } if (completed ⚠ CEUs completed cannot be negative."; resultDiv.style.display = "block"; return; } if (profession === "custom") { if (isNaN(customAnnual) || customAnnual ⚠ Please enter a valid custom annual CEU requirement."; resultDiv.style.display = "block"; return; } }

// --- Formula --- const profData = CEU_PROFESSION_DATA[profession]; const annualHours = (profession === "custom") ? customAnnual : profData.annualHours;

// Total required for the full renewal cycle // Total_Required = Annual_Hours × Renewal_Years const totalRequired = annualHours * renewalYears;

// Still needed = Total_Required - Completed (floor at 0) const stillNeeded = Math.max(0, totalRequired - completed);

// Percentage complete const percentComplete = Math.min(100, (completed / totalRequired) * 100);

// Monthly pace needed to finish on time // Monthly_Pace = Still_Needed / Months_Remaining let monthlyPace = null; let paceNote = ""; if (monthsRemaining > 0 && stillNeeded > 0) { monthlyPace = stillNeeded / monthsRemaining; paceNote = monthlyPace.toFixed(2) + " hours/month"; } else if (stillNeeded === 0) { paceNote = "You have already met your requirement!"; } else { paceNote = "No time remaining — renewal is due now."; }

// Status let statusColor = "#27ae60"; let statusMsg = "On Track"; if (stillNeeded === 0) { statusColor = "#27ae60"; statusMsg = "✓ Requirement Met"; } else if (monthsRemaining === 0) { statusColor = "#c0392b"; statusMsg = "⚠ Overdue"; } else if (monthlyPace !== null && monthlyPace > annualHours / 12 * 1.5) { statusColor = "#e67e22"; statusMsg = "⚠ Behind Schedule"; }

// --- Output --- resultDiv.innerHTML = "### Results " + "" + "Profession:" + profData.label + "" + "Renewal Cycle:" + renewalYears + " year(s)" + "Total CEUs Required:" + totalRequired.toFixed(1) + " hours" + "CEUs Completed:" + completed.toFixed(1) + " hours (" + percentComplete.toFixed(1) + "%)" + "CEUs Still Needed: 0 ? "#c0392b" : "#27ae60") + ";'>" + stillNeeded.toFixed(1) + " hours" + "Months Remaining:" + monthsRemaining + " month(s)" + "Required Pace:" + paceNote + "" + "Status:" + statusMsg + "" + "" + "Note: " + profData.notes + "

";

resultDiv.style.display = "block"; }

#### Formulas Used

Total CEUs Required for Cycle: Total_Required = Annual_Hours_Per_Year × Renewal_Cycle_Years

CEUs Still Needed: Still_Needed = max(0, Total_Required − CEUs_Completed)

Percent Complete: Percent_Complete = min(100, (CEUs_Completed / Total_Required) × 100)

Required Monthly Pace: Monthly_Pace = Still_Needed / Months_Remaining

#### Assumptions & References

More Calculators

Read Next

Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...

References