{"product_id":"amortization-calculator","title":"Amortization Calculator","description":"\u003cstyle\u003e\n.amc-calculator{--ink:#0f172a;--muted:#475569;--border:#e2e8f0;--surface:#ffffff;--tint:#f8fafc;--primary:#1d4ed8;--accent:#c2410c;--accent-hover:#9a3412;--chart-1:#1e40af;--chart-2:#0d9488;--chart-3:#7c3aed;--chart-4:#be185d;--chart-5:#334155;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;font-size:15px;line-height:1.55;max-width:1200px;margin:0 auto;padding:24px;background:var(--tint);border:1px solid var(--border);border-radius:8px;container-type:inline-size}\n.amc-calculator,.amc-calculator *,.amc-calculator *::before,.amc-calculator *::after{box-sizing:border-box}\n.amc-calculator *{min-width:0}\n.amc-calculator h2,.amc-calculator h3,.amc-calculator p{margin-top:0}\n.amc-calculator h2{font-size:24px;line-height:1.2;font-weight:700;margin-bottom:8px}\n.amc-calculator h3{font-size:18px;line-height:1.35;font-weight:650;margin-bottom:12px}\n.amc-calculator a{color:var(--primary);text-underline-offset:2px}\n.amc-calculator button,.amc-calculator input,.amc-calculator select{font:inherit}\n.amc-calculator button{cursor:pointer}\n.amc-header{margin-bottom:16px}\n.amc-header-copy{max-width:760px;color:var(--muted);margin-bottom:16px}\n.amc-pills{display:flex;flex-wrap:wrap;gap:8px}\n.amc-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:13px;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}\n.amc-pill strong{color:var(--ink);font-weight:700}\n.amc-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}\n.amc-btn{min-height:44px;border-radius:6px;border:1px solid var(--border);padding:10px 16px;background:var(--surface);color:var(--ink);font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 1px 2px rgba(15,23,42,.06);white-space:nowrap}\n.amc-btn:hover{box-shadow:0 2px 5px rgba(15,23,42,.12)}\n.amc-btn:focus-visible,.amc-calculator input:focus-visible,.amc-calculator select:focus-visible,.amc-segment-btn:focus-visible,.amc-details summary:focus-visible{outline:3px solid rgba(29,78,216,.35);outline-offset:2px}\n.amc-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;padding:12px 18px}\n.amc-btn-primary:hover,.amc-btn-primary:active{background:var(--accent-hover);border-color:var(--accent-hover)}\n.amc-btn-icon{width:18px;height:18px;display:inline-block;flex:0 0 auto}\n.amc-workspace{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:16px;align-items:start;margin-bottom:16px}\n.amc-panel,.amc-section{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;box-shadow:0 1px 2px rgba(15,23,42,.06)}\n.amc-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}\n.amc-field{display:flex;flex-direction:column;gap:6px}\n.amc-field-span{grid-column:1\/-1}\n.amc-label{font-size:14px;font-weight:600;color:var(--ink)}\n.amc-mini-label{display:block;font-size:13px;font-weight:600;color:var(--muted);margin-bottom:4px}\n.amc-control{width:100%;height:44px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:var(--ink);padding:9px 11px;font-size:15px;font-variant-numeric:tabular-nums}\n.amc-control[aria-invalid=\"true\"]{border-color:#b91c1c;background:#fff7f7}\n.amc-helper,.amc-error{font-size:13px;line-height:1.4;min-height:18px}\n.amc-helper{color:var(--muted)}\n.amc-error{color:#991b1b;font-weight:600}\n.amc-term-grid,.amc-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}\n.amc-details{margin-top:16px;border-top:1px solid var(--border);padding-top:16px}\n.amc-details summary{font-size:14px;font-weight:700;color:var(--ink);cursor:pointer;list-style-position:outside;margin-left:18px}\n.amc-details-inner{padding-top:16px}\n.amc-extra-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}\n.amc-subpanel{border:1px solid var(--border);border-radius:6px;padding:12px;background:var(--tint)}\n.amc-subpanel h4{font-size:14px;margin:0 0 10px;font-weight:700}\n.amc-one-time-list{display:flex;flex-direction:column;gap:8px}\n.amc-one-time-row{display:grid;grid-template-columns:minmax(95px,1.2fr) minmax(80px,.8fr) minmax(70px,.7fr) 44px;gap:8px;align-items:end}\n.amc-remove{height:44px;width:44px;padding:0;border:1px solid var(--border);border-radius:6px;background:#fff;color:#991b1b;font-size:20px;line-height:1}\n.amc-add-row{margin-top:8px}\n.amc-primary-result{padding:16px;border:1px solid #bfdbfe;background:#eff6ff;border-radius:8px;margin-bottom:12px}\n.amc-primary-label{font-size:13px;font-weight:700;color:#1e3a8a;margin-bottom:4px}\n.amc-primary-value{font-size:30px;line-height:1.15;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}\n.amc-primary-note{font-size:13px;color:#1e3a8a;margin-top:6px}\n.amc-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}\n.amc-result-card{border:1px solid var(--border);border-radius:6px;padding:12px;background:#fff}\n.amc-result-label{font-size:13px;font-weight:600;color:var(--muted);margin-bottom:4px}\n.amc-result-value{font-size:20px;line-height:1.25;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}\n.amc-result-sub{font-size:13px;color:var(--muted);margin-top:4px}\n.amc-alert{display:none;margin-top:12px;padding:10px 12px;border:1px solid #fecaca;border-radius:6px;background:#fff7f7;color:#991b1b;font-size:13px;font-weight:600}\n.amc-alert[data-show=\"true\"]{display:block}\n.amc-section{margin-bottom:16px}\n.amc-section-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:12px}\n.amc-section-head p{color:var(--muted);font-size:13px;margin-bottom:0;max-width:680px}\n.amc-chart-cluster{display:grid;grid-template-columns:minmax(240px,320px) minmax(260px,420px);gap:24px;justify-content:center;align-items:center}\n.amc-donut-wrap{display:flex;justify-content:center;align-items:center;min-height:280px}\n.amc-donut{width:min(100%,320px);height:auto;display:block;overflow:visible}\n.amc-donut-track{fill:none;stroke:#e2e8f0;stroke-width:40}\n.amc-donut-segment{fill:none;stroke-width:40;stroke-linecap:butt;transform:rotate(-90deg);transform-origin:140px 140px}\n.amc-donut-value{font-size:19px;font-weight:700;fill:var(--ink);text-anchor:middle;font-variant-numeric:tabular-nums}\n.amc-donut-caption{font-size:14px;font-weight:600;fill:var(--muted);text-anchor:middle}\n.amc-legend{display:grid;gap:10px;align-content:center}\n.amc-legend-row{display:grid;grid-template-columns:12px minmax(110px,max-content) max-content max-content;gap:10px;align-items:center;font-size:13px;font-weight:500;font-variant-numeric:tabular-nums}\n.amc-swatch{width:12px;height:12px;border-radius:3px}\n.amc-legend-name{color:var(--ink)}\n.amc-legend-value{font-weight:700;color:var(--ink)}\n.amc-legend-percent{color:var(--muted)}\n.amc-chart-callout,.amc-table-note{margin-top:16px;border:1px solid var(--border);border-radius:6px;padding:10px 12px;background:var(--tint);color:var(--muted);font-size:13px}\n.amc-empty{display:none;padding:16px;border:1px dashed #cbd5e1;border-radius:6px;background:var(--tint);color:var(--muted);font-size:13px;text-align:center}\n.amc-empty[data-show=\"true\"]{display:block}\n.amc-line-plot{width:100%;max-width:900px;margin:0 auto}\n.amc-line-svg{display:block;width:100%;height:320px;overflow:visible}\n.amc-grid-line{stroke:#cbd5e1;stroke-width:1}\n.amc-axis-text{font-size:13px;fill:var(--muted)}\n.amc-line-path{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}\n.amc-line-area{opacity:.1}\n.amc-end-dot{stroke:#fff;stroke-width:2}\n.amc-line-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 20px;margin-top:16px}\n.amc-line-legend-item{display:inline-grid;grid-template-columns:14px max-content max-content;gap:8px;align-items:center;font-size:13px;font-variant-numeric:tabular-nums}\n.amc-line-key{width:14px;height:4px;border-radius:4px}\n.amc-line-legend-item strong{font-weight:700}\n.amc-segments{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:#fff}\n.amc-segment-btn{min-height:38px;border:0;border-right:1px solid var(--border);background:#fff;color:var(--muted);padding:8px 12px;font-size:13px;font-weight:700}\n.amc-segment-btn:last-child{border-right:0}\n.amc-segment-btn[aria-pressed=\"true\"]{background:#dbeafe;color:#1e3a8a}\n.amc-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:6px}\n.amc-table{width:100%;min-width:720px;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums;background:#fff}\n.amc-table th,.amc-table td{padding:9px 10px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}\n.amc-table th{background:#0f172a;color:#fff;font-weight:700;position:static}\n.amc-table th:first-child,.amc-table td:first-child{text-align:left}\n.amc-table tbody tr:last-child td{border-bottom:0}\n.amc-table tbody tr:nth-child(even){background:#f8fafc}\n.amc-safe-stack .amc-chart-cluster{grid-template-columns:1fr;row-gap:16px}\n.amc-safe-stack .amc-donut-wrap{min-height:0}\n.amc-safe-stack .amc-chart-callout{margin-top:20px}\n.amc-safe-table-stack .amc-table-note{margin-top:20px}\n.amc-education{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:24px}\n.amc-education h2{margin-top:0}\n.amc-education h3{margin-top:24px}\n.amc-education p,.amc-education li{color:#334155}\n.amc-education ul{padding-left:22px;margin:0 0 16px}\n.amc-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}\n@container (max-width:899px){.amc-workspace{grid-template-columns:1fr}.amc-chart-cluster{grid-template-columns:1fr;row-gap:16px}.amc-donut-wrap{min-height:0}}\n@container (max-width:639px){.amc-input-grid,.amc-extra-grid,.amc-result-grid{grid-template-columns:1fr}.amc-one-time-row{grid-template-columns:1fr 1fr}.amc-remove{width:100%}.amc-legend-row{grid-template-columns:12px minmax(90px,max-content) max-content;gap:8px}.amc-legend-percent{grid-column:2\/4}.amc-line-svg{height:300px}}\n@container (max-width:360px){.amc-chart-callout,.amc-table-note{margin-top:12px}}\n@media (max-width:640px){.amc-calculator{padding:12px}.amc-panel,.amc-section,.amc-education{padding:12px}.amc-toolbar{align-items:stretch}.amc-btn{flex:1 1 140px}.amc-btn-primary{flex-basis:190px}.amc-section-head{display:block}.amc-segments{margin-top:8px}.amc-line-legend{margin-top:12px}.amc-primary-value{font-size:28px}}\n\u003c\/style\u003e\n\u003cdiv class=\"amc-calculator\" data-calculator-root\u003e\n  \u003cheader class=\"amc-header\"\u003e\n    \u003ch2\u003eLoan Amortization Calculator\u003c\/h2\u003e\n    \u003cp class=\"amc-header-copy\"\u003eModel a fixed-rate loan, see every principal and interest payment, test optional extra payments, and export the current schedule to a genuine Excel workbook.\u003c\/p\u003e\n    \u003cdiv class=\"amc-pills\" aria-label=\"Live loan summary\"\u003e\n      \u003cspan class=\"amc-pill\"\u003eMonthly payment \u003cstrong data-pill=\"payment\"\u003e$0.00\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"amc-pill\"\u003ePayoff \u003cstrong data-pill=\"payoff\"\u003e—\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"amc-pill\"\u003eInterest saved \u003cstrong data-pill=\"saved\"\u003e$0.00\u003c\/strong\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/header\u003e\n  \u003cdiv class=\"amc-toolbar\" aria-label=\"Calculator actions\"\u003e\n    \u003cbutton class=\"amc-btn amc-btn-primary\" type=\"button\" data-action=\"download\"\u003e\n      \u003csvg class=\"amc-btn-icon\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"\u003e\u003cpath fill=\"currentColor\" d=\"M11 3h2v10.17l3.59-3.58L18 11l-6 6-6-6 1.41-1.41L11 13.17V3ZM5 19h14v2H5v-2Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n      \u003cspan\u003eDownload Excel\u003c\/span\u003e\n    \u003c\/button\u003e\n    \u003cbutton class=\"amc-btn\" type=\"button\" data-action=\"reset\"\u003eReset\u003c\/button\u003e\n  \u003c\/div\u003e\n  \u003cdiv class=\"amc-workspace\"\u003e\n    \u003csection class=\"amc-panel\" aria-labelledby=\"amc-inputs-title\"\u003e\n      \u003ch3 id=\"amc-inputs-title\"\u003eLoan assumptions\u003c\/h3\u003e\n      \u003cdiv class=\"amc-input-grid\"\u003e\n        \u003cdiv class=\"amc-field\"\u003e\n          \u003clabel class=\"amc-label\" for=\"amc-loan-amount\"\u003eLoan amount\u003c\/label\u003e\n          \u003cinput class=\"amc-control\" id=\"amc-loan-amount\" data-field=\"loanAmount\" data-format=\"currency\" type=\"text\" inputmode=\"decimal\" value=\"200000\" aria-describedby=\"amc-loan-amount-help amc-loan-amount-error\"\u003e\n          \u003cspan class=\"amc-helper\" id=\"amc-loan-amount-help\"\u003eOriginal principal borrowed.\u003c\/span\u003e\n          \u003cspan class=\"amc-error\" id=\"amc-loan-amount-error\" data-error=\"loanAmount\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"amc-field\"\u003e\n          \u003cspan class=\"amc-label\"\u003eLoan term\u003c\/span\u003e\n          \u003cdiv class=\"amc-term-grid\"\u003e\n            \u003cdiv\u003e\n              \u003clabel class=\"amc-mini-label\" for=\"amc-term-years\"\u003eYears\u003c\/label\u003e\n              \u003cinput class=\"amc-control\" id=\"amc-term-years\" data-field=\"termYears\" data-format=\"integer\" type=\"text\" inputmode=\"numeric\" value=\"15\" aria-describedby=\"amc-term-help amc-term-error\"\u003e\n            \u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003clabel class=\"amc-mini-label\" for=\"amc-term-months\"\u003eMonths\u003c\/label\u003e\n              \u003cinput class=\"amc-control\" id=\"amc-term-months\" data-field=\"termMonths\" data-format=\"integer\" type=\"text\" inputmode=\"numeric\" value=\"0\" aria-describedby=\"amc-term-help amc-term-error\"\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cspan class=\"amc-helper\" id=\"amc-term-help\"\u003eYears and additional months.\u003c\/span\u003e\n          \u003cspan class=\"amc-error\" id=\"amc-term-error\" data-error=\"term\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"amc-field\"\u003e\n          \u003clabel class=\"amc-label\" for=\"amc-interest-rate\"\u003eAnnual interest rate\u003c\/label\u003e\n          \u003cinput class=\"amc-control\" id=\"amc-interest-rate\" data-field=\"annualRate\" data-format=\"percent\" type=\"text\" inputmode=\"decimal\" value=\"6\" aria-describedby=\"amc-interest-rate-help amc-interest-rate-error\"\u003e\n          \u003cspan class=\"amc-helper\" id=\"amc-interest-rate-help\"\u003eNominal fixed annual rate.\u003c\/span\u003e\n          \u003cspan class=\"amc-error\" id=\"amc-interest-rate-error\" data-error=\"annualRate\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"amc-field\"\u003e\n          \u003cspan class=\"amc-label\"\u003eLoan start date\u003c\/span\u003e\n          \u003cdiv class=\"amc-date-grid\"\u003e\n            \u003cdiv\u003e\n              \u003clabel class=\"amc-mini-label\" for=\"amc-start-month\"\u003eMonth\u003c\/label\u003e\n              \u003cselect class=\"amc-control\" id=\"amc-start-month\" data-field=\"startMonth\" aria-describedby=\"amc-start-help amc-start-error\"\u003e\n                \u003coption value=\"\"\u003eMonth\u003c\/option\u003e\n\u003coption value=\"1\"\u003eJan\u003c\/option\u003e\n\u003coption value=\"2\"\u003eFeb\u003c\/option\u003e\n\u003coption value=\"3\"\u003eMar\u003c\/option\u003e\n\u003coption value=\"4\"\u003eApr\u003c\/option\u003e\n\u003coption value=\"5\"\u003eMay\u003c\/option\u003e\n\u003coption value=\"6\"\u003eJun\u003c\/option\u003e\n\u003coption value=\"7\"\u003eJul\u003c\/option\u003e\n\u003coption value=\"8\"\u003eAug\u003c\/option\u003e\n\u003coption value=\"9\"\u003eSep\u003c\/option\u003e\n\u003coption value=\"10\"\u003eOct\u003c\/option\u003e\n\u003coption value=\"11\"\u003eNov\u003c\/option\u003e\n\u003coption value=\"12\"\u003eDec\u003c\/option\u003e\n              \u003c\/select\u003e\n            \u003c\/div\u003e\n            \u003cdiv\u003e\n              \u003clabel class=\"amc-mini-label\" for=\"amc-start-year\"\u003eYear\u003c\/label\u003e\n              \u003cinput class=\"amc-control\" id=\"amc-start-year\" data-field=\"startYear\" data-format=\"integer\" type=\"text\" inputmode=\"numeric\" value=\"2026\" aria-describedby=\"amc-start-help amc-start-error\"\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n          \u003cspan class=\"amc-helper\" id=\"amc-start-help\"\u003eUsed for schedule dates and extra-payment timing.\u003c\/span\u003e\n          \u003cspan class=\"amc-error\" id=\"amc-start-error\" data-error=\"startDate\"\u003e\u003c\/span\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdetails class=\"amc-details\" open\u003e\n        \u003csummary\u003eOptional extra payments\u003c\/summary\u003e\n        \u003cdiv class=\"amc-details-inner\"\u003e\n          \u003cdiv class=\"amc-extra-grid\"\u003e\n            \u003cdiv class=\"amc-subpanel\"\u003e\n              \u003ch4\u003eRecurring monthly\u003c\/h4\u003e\n              \u003cdiv class=\"amc-field\"\u003e\n                \u003clabel class=\"amc-label\" for=\"amc-extra-monthly\"\u003eExtra monthly amount\u003c\/label\u003e\n                \u003cinput class=\"amc-control\" id=\"amc-extra-monthly\" data-field=\"extraMonthly\" data-format=\"currency\" type=\"text\" inputmode=\"decimal\" value=\"0\" aria-describedby=\"amc-extra-monthly-help amc-extra-monthly-error\"\u003e\n                \u003cspan class=\"amc-helper\" id=\"amc-extra-monthly-help\"\u003eApplied each month from the selected date.\u003c\/span\u003e\n                \u003cspan class=\"amc-error\" id=\"amc-extra-monthly-error\" data-error=\"extraMonthly\"\u003e\u003c\/span\u003e\n              \u003c\/div\u003e\n              \u003cdiv class=\"amc-date-grid\"\u003e\n                \u003cdiv\u003e\n                  \u003clabel class=\"amc-label\" for=\"amc-extra-monthly-month\"\u003eStart month\u003c\/label\u003e\n                  \u003cselect class=\"amc-control\" id=\"amc-extra-monthly-month\" data-field=\"extraMonthlyStartMonth\"\u003e\u003coption value=\"\"\u003eMonth\u003c\/option\u003e\n\u003coption value=\"1\"\u003eJan\u003c\/option\u003e\n\u003coption value=\"2\"\u003eFeb\u003c\/option\u003e\n\u003coption value=\"3\"\u003eMar\u003c\/option\u003e\n\u003coption value=\"4\"\u003eApr\u003c\/option\u003e\n\u003coption value=\"5\"\u003eMay\u003c\/option\u003e\n\u003coption value=\"6\"\u003eJun\u003c\/option\u003e\n\u003coption value=\"7\"\u003eJul\u003c\/option\u003e\n\u003coption value=\"8\"\u003eAug\u003c\/option\u003e\n\u003coption value=\"9\"\u003eSep\u003c\/option\u003e\n\u003coption value=\"10\"\u003eOct\u003c\/option\u003e\n\u003coption value=\"11\"\u003eNov\u003c\/option\u003e\n\u003coption value=\"12\"\u003eDec\u003c\/option\u003e\u003c\/select\u003e\n                \u003c\/div\u003e\n                \u003cdiv\u003e\n                  \u003clabel class=\"amc-label\" for=\"amc-extra-monthly-year\"\u003eStart year\u003c\/label\u003e\n                  \u003cinput class=\"amc-control\" id=\"amc-extra-monthly-year\" data-field=\"extraMonthlyStartYear\" data-format=\"integer\" type=\"text\" inputmode=\"numeric\" value=\"2026\"\u003e\n                \u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"amc-subpanel\"\u003e\n              \u003ch4\u003eRecurring yearly\u003c\/h4\u003e\n              \u003cdiv class=\"amc-field\"\u003e\n                \u003clabel class=\"amc-label\" for=\"amc-extra-yearly\"\u003eExtra yearly amount\u003c\/label\u003e\n                \u003cinput class=\"amc-control\" id=\"amc-extra-yearly\" data-field=\"extraYearly\" data-format=\"currency\" type=\"text\" inputmode=\"decimal\" value=\"0\" aria-describedby=\"amc-extra-yearly-help amc-extra-yearly-error\"\u003e\n                \u003cspan class=\"amc-helper\" id=\"amc-extra-yearly-help\"\u003eApplied once per year in the selected month.\u003c\/span\u003e\n                \u003cspan class=\"amc-error\" id=\"amc-extra-yearly-error\" data-error=\"extraYearly\"\u003e\u003c\/span\u003e\n              \u003c\/div\u003e\n              \u003cdiv class=\"amc-date-grid\"\u003e\n                \u003cdiv\u003e\n                  \u003clabel class=\"amc-label\" for=\"amc-extra-yearly-month\"\u003eFirst payment month\u003c\/label\u003e\n                  \u003cselect class=\"amc-control\" id=\"amc-extra-yearly-month\" data-field=\"extraYearlyStartMonth\"\u003e\u003coption value=\"\"\u003eMonth\u003c\/option\u003e\n\u003coption value=\"1\"\u003eJan\u003c\/option\u003e\n\u003coption value=\"2\"\u003eFeb\u003c\/option\u003e\n\u003coption value=\"3\"\u003eMar\u003c\/option\u003e\n\u003coption value=\"4\"\u003eApr\u003c\/option\u003e\n\u003coption value=\"5\"\u003eMay\u003c\/option\u003e\n\u003coption value=\"6\"\u003eJun\u003c\/option\u003e\n\u003coption value=\"7\"\u003eJul\u003c\/option\u003e\n\u003coption value=\"8\"\u003eAug\u003c\/option\u003e\n\u003coption value=\"9\"\u003eSep\u003c\/option\u003e\n\u003coption value=\"10\"\u003eOct\u003c\/option\u003e\n\u003coption value=\"11\"\u003eNov\u003c\/option\u003e\n\u003coption value=\"12\"\u003eDec\u003c\/option\u003e\u003c\/select\u003e\n                \u003c\/div\u003e\n                \u003cdiv\u003e\n                  \u003clabel class=\"amc-label\" for=\"amc-extra-yearly-year\"\u003eFirst payment year\u003c\/label\u003e\n                  \u003cinput class=\"amc-control\" id=\"amc-extra-yearly-year\" data-field=\"extraYearlyStartYear\" data-format=\"integer\" type=\"text\" inputmode=\"numeric\" value=\"2026\"\u003e\n                \u003c\/div\u003e\n              \u003c\/div\u003e\n            \u003c\/div\u003e\n            \u003cdiv class=\"amc-subpanel amc-field-span\"\u003e\n              \u003ch4\u003eOne-time payments\u003c\/h4\u003e\n              \u003cdiv class=\"amc-one-time-list\" data-one-time-list\u003e\u003c\/div\u003e\n              \u003cbutton class=\"amc-btn amc-add-row\" type=\"button\" data-action=\"add-payment\"\u003eAdd one-time payment\u003c\/button\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/details\u003e\n    \u003c\/section\u003e\n    \u003csection class=\"amc-panel\" aria-labelledby=\"amc-results-title\"\u003e\n      \u003ch3 id=\"amc-results-title\"\u003eLive results\u003c\/h3\u003e\n      \u003cdiv class=\"amc-primary-result\" aria-live=\"polite\" aria-atomic=\"true\"\u003e\n        \u003cdiv class=\"amc-primary-label\"\u003eRegular monthly payment\u003c\/div\u003e\n        \u003cdiv class=\"amc-primary-value\" data-result=\"monthlyPayment\"\u003e$0.00\u003c\/div\u003e\n        \u003cdiv class=\"amc-primary-note\" data-result=\"primaryNote\"\u003eEnter a loan amount and term to calculate.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"amc-result-grid\"\u003e\n        \u003cdiv class=\"amc-result-card\"\u003e\n\u003cdiv class=\"amc-result-label\"\u003eTotal payments\u003c\/div\u003e\n\u003cdiv class=\"amc-result-value\" data-result=\"totalPayments\"\u003e$0.00\u003c\/div\u003e\n\u003cdiv class=\"amc-result-sub\" data-result=\"paymentCount\"\u003e0 payments\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"amc-result-card\"\u003e\n\u003cdiv class=\"amc-result-label\"\u003eTotal interest\u003c\/div\u003e\n\u003cdiv class=\"amc-result-value\" data-result=\"totalInterest\"\u003e$0.00\u003c\/div\u003e\n\u003cdiv class=\"amc-result-sub\" data-result=\"interestShare\"\u003e0.00% of total paid\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"amc-result-card\"\u003e\n\u003cdiv class=\"amc-result-label\"\u003eProjected payoff\u003c\/div\u003e\n\u003cdiv class=\"amc-result-value\" data-result=\"payoffDate\"\u003e—\u003c\/div\u003e\n\u003cdiv class=\"amc-result-sub\" data-result=\"monthsSaved\"\u003e0 months saved\u003c\/div\u003e\n\u003c\/div\u003e\n        \u003cdiv class=\"amc-result-card\"\u003e\n\u003cdiv class=\"amc-result-label\"\u003eInterest saved\u003c\/div\u003e\n\u003cdiv class=\"amc-result-value\" data-result=\"interestSaved\"\u003e$0.00\u003c\/div\u003e\n\u003cdiv class=\"amc-result-sub\"\u003eCompared with no extra payments\u003c\/div\u003e\n\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"amc-alert\" data-alert data-show=\"false\"\u003e\u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n  \u003csection class=\"amc-section amc-chart-card\" data-chart-card=\"breakdown\" aria-labelledby=\"amc-breakdown-title\"\u003e\n    \u003cdiv class=\"amc-section-head\"\u003e\u003cdiv\u003e\n\u003ch3 id=\"amc-breakdown-title\"\u003ePayment breakdown\u003c\/h3\u003e\n\u003cp\u003ePrincipal repaid and interest paid across the modeled schedule.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n    \u003cdiv class=\"amc-empty\" data-empty=\"breakdown\" data-show=\"false\"\u003eEnter a loan amount and term to see the payment breakdown.\u003c\/div\u003e\n    \u003cdiv data-chart-content=\"breakdown\"\u003e\n      \u003cdiv class=\"amc-chart-cluster\"\u003e\n        \u003cdiv class=\"amc-donut-wrap\"\u003e\n          \u003csvg class=\"amc-donut\" data-donut viewbox=\"0 0 280 280\" role=\"img\" aria-labelledby=\"amc-donut-title amc-donut-desc\"\u003e\n            \u003ctitle id=\"amc-donut-title\"\u003ePrincipal and interest payment breakdown\u003c\/title\u003e\n            \u003cdesc id=\"amc-donut-desc\" data-chart-desc=\"breakdown\"\u003e\u003c\/desc\u003e\n            \u003ccircle class=\"amc-donut-track\" cx=\"140\" cy=\"140\" r=\"96\"\u003e\u003c\/circle\u003e\n            \u003cg data-donut-segments\u003e\u003c\/g\u003e\n            \u003ctext class=\"amc-donut-caption\" x=\"140\" y=\"132\"\u003eTotal paid\u003c\/text\u003e\n            \u003ctext class=\"amc-donut-value\" x=\"140\" y=\"158\" data-donut-total\u003e$0.00\u003c\/text\u003e\n          \u003c\/svg\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"amc-legend\" data-legend=\"breakdown\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"amc-chart-callout\" data-caption=\"breakdown\"\u003eThe chart updates from the same values used in the results and schedule.\u003c\/div\u003e\n      \u003ctable class=\"amc-sr-only\" data-chart-table=\"breakdown\"\u003e\n\u003ccaption\u003eExact payment breakdown values\u003c\/caption\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eCategory\u003c\/th\u003e\n\u003cth\u003eAmount\u003c\/th\u003e\n\u003cth\u003ePercent\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\u003c\/tbody\u003e\n\u003c\/table\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n  \u003csection class=\"amc-section amc-chart-card\" data-chart-card=\"timeline\" aria-labelledby=\"amc-chart-title\"\u003e\n    \u003cdiv class=\"amc-section-head\"\u003e\u003cdiv\u003e\n\u003ch3 id=\"amc-chart-title\"\u003eLoan progress over time\u003c\/h3\u003e\n\u003cp\u003eRemaining balance compared with cumulative principal and cumulative interest.\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\n    \u003cdiv class=\"amc-empty\" data-empty=\"timeline\" data-show=\"false\"\u003eEnter values above to see the loan progress chart.\u003c\/div\u003e\n    \u003cdiv data-chart-content=\"timeline\"\u003e\n      \u003cdiv class=\"amc-line-plot\"\u003e\n        \u003csvg class=\"amc-line-svg\" data-line-chart viewbox=\"0 0 760 320\" role=\"img\" aria-labelledby=\"amc-line-title amc-line-desc\"\u003e\n          \u003ctitle id=\"amc-line-title\"\u003eLoan balance and cumulative payments over time\u003c\/title\u003e\n          \u003cdesc id=\"amc-line-desc\" data-chart-desc=\"timeline\"\u003e\u003c\/desc\u003e\n          \u003cg data-line-grid\u003e\u003c\/g\u003e\u003cg data-line-series\u003e\u003c\/g\u003e\u003cg data-line-labels\u003e\u003c\/g\u003e\n        \u003c\/svg\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"amc-line-legend\" data-legend=\"timeline\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"amc-chart-callout\" data-caption=\"timeline\"\u003eEarly payments usually contain more interest; later payments increasingly reduce principal.\u003c\/div\u003e\n      \u003ctable class=\"amc-sr-only\" data-chart-table=\"timeline\"\u003e\n\u003ccaption\u003eExact chart endpoint values\u003c\/caption\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eSeries\u003c\/th\u003e\n\u003cth\u003eFinal value\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\u003c\/tbody\u003e\n\u003c\/table\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n  \u003csection class=\"amc-section amc-table-card\" aria-labelledby=\"amc-table-title\"\u003e\n    \u003cdiv class=\"amc-section-head\"\u003e\n      \u003cdiv\u003e\n\u003ch3 id=\"amc-table-title\"\u003eAmortization schedule\u003c\/h3\u003e\n\u003cp\u003eSwitch between a compact annual roll-up and the full monthly payment detail.\u003c\/p\u003e\n\u003c\/div\u003e\n      \u003cdiv class=\"amc-segments\" role=\"group\" aria-label=\"Schedule detail level\"\u003e\n        \u003cbutton class=\"amc-segment-btn\" type=\"button\" data-table-mode=\"annual\" aria-pressed=\"true\"\u003eAnnual\u003c\/button\u003e\n        \u003cbutton class=\"amc-segment-btn\" type=\"button\" data-table-mode=\"monthly\" aria-pressed=\"false\"\u003eMonthly\u003c\/button\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"amc-table-wrap\" data-table-wrap\u003e\n      \u003ctable class=\"amc-table\"\u003e\n        \u003cthead\u003e\u003ctr data-table-head\u003e\u003c\/tr\u003e\u003c\/thead\u003e\n        \u003ctbody data-table-body\u003e\u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"amc-table-note\" data-table-note\u003eExtra payments are applied directly to principal after the scheduled payment for each modeled month.\u003c\/div\u003e\n  \u003c\/section\u003e\n  \u003csection class=\"amc-education\" aria-labelledby=\"amc-education-title\"\u003e\n    \u003ch2 id=\"amc-education-title\"\u003eHow to use this amortization calculator\u003c\/h2\u003e\n    \u003cp\u003eThis calculator estimates the payment pattern for a fully amortizing, fixed-rate loan. It calculates the regular monthly payment, separates each payment into interest and principal, projects the remaining balance, and shows how optional extra payments can shorten the schedule. The model is useful for mortgages, auto loans, personal loans, and other installment debt with a constant rate and regular monthly payments. It does not model variable rates, lender fees, taxes, insurance, payment holidays, or prepayment penalties.\u003c\/p\u003e\n    \u003ch3\u003eEnter the core loan assumptions\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eLoan amount\u003c\/strong\u003e is the principal owed at the beginning of the schedule. Enter the amount actually financed, not the asset price unless those figures are the same. A higher principal raises the monthly payment and total interest. Zero produces a neutral result; negative amounts are rejected.\u003c\/p\u003e\n    \u003cp\u003e\u003cstrong\u003eLoan term\u003c\/strong\u003e combines years and additional months. A longer term normally lowers the required monthly payment but increases lifetime interest because the balance remains outstanding longer. A shorter term does the opposite. The calculator requires at least one month and supports mixed terms such as 7 years and 6 months.\u003c\/p\u003e\n    \u003cp\u003e\u003cstrong\u003eAnnual interest rate\u003c\/strong\u003e is the nominal fixed rate used to calculate monthly interest. Enter 6 for 6%, not 0.06. A zero-rate loan is supported and divides principal evenly across the term. The rate here is not automatically the same as APR, because APR may include certain fees. The \u003ca href=\"https:\/\/www.consumerfinance.gov\/ask-cfpb\/what-is-the-difference-between-a-mortgage-interest-rate-and-an-apr-en-135\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eConsumer Financial Protection Bureau explains the distinction between interest rate and APR\u003c\/a\u003e.\u003c\/p\u003e\n    \u003cp\u003e\u003cstrong\u003eLoan start date\u003c\/strong\u003e anchors the schedule and determines when recurring or one-time extra payments begin. The first row represents the first monthly payment period starting from that month. Use the contractual schedule date when comparing results with lender documents.\u003c\/p\u003e\n    \u003ch3\u003eModel optional extra payments\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eExtra monthly amount\u003c\/strong\u003e adds the same principal payment every month from the chosen start date. Even a modest recurring amount can reduce future interest because each subsequent interest charge is calculated on a smaller balance. \u003cstrong\u003eExtra yearly amount\u003c\/strong\u003e applies once per year in the selected month, which can model an annual bonus or planned lump sum. \u003cstrong\u003eOne-time payments\u003c\/strong\u003e let you add multiple dated principal reductions. Add a row for each payment and remove rows that no longer apply.\u003c\/p\u003e\n    \u003cp\u003eExtra payments are capped at the remaining principal, so the final payment never drives the balance below zero. Before relying on an accelerated payoff strategy, verify whether the loan contract has a prepayment penalty and whether the servicer requires special instructions for principal-only payments. The CFPB provides guidance on \u003ca href=\"https:\/\/www.consumerfinance.gov\/ask-cfpb\/can-i-make-additional-payments-to-my-mortgage-en-207\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003emaking additional mortgage payments\u003c\/a\u003e.\u003c\/p\u003e\n    \u003ch3\u003eInterpret the results\u003c\/h3\u003e\n    \u003cp\u003e\u003cstrong\u003eRegular monthly payment\u003c\/strong\u003e is the contractual principal-and-interest payment calculated from the original amount, fixed rate, and original term. It excludes optional extras. \u003cstrong\u003eTotal payments\u003c\/strong\u003e includes scheduled payments plus every modeled extra payment. \u003cstrong\u003eTotal interest\u003c\/strong\u003e is the sum of monthly interest charges. The interest share shows how much of all modeled payments represents borrowing cost rather than principal repayment.\u003c\/p\u003e\n    \u003cp\u003e\u003cstrong\u003eProjected payoff\u003c\/strong\u003e is the month of the last modeled payment. \u003cstrong\u003eMonths saved\u003c\/strong\u003e compares the accelerated schedule with the same loan without extras. \u003cstrong\u003eInterest saved\u003c\/strong\u003e is the difference between baseline interest and interest after extras. A zero value means the optional payments do not change the schedule, generally because they are zero, fall after payoff, or lack a valid start date.\u003c\/p\u003e\n    \u003ch3\u003eRead the charts and schedule\u003c\/h3\u003e\n    \u003cp\u003eThe payment-breakdown donut uses principal and total interest from the current model. Its percentages always reconcile to total payments. The progress chart shows three series: remaining balance, cumulative principal, and cumulative interest. A rapidly falling balance indicates faster equity buildup. The point where cumulative principal rises more quickly reflects the normal shift from interest-heavy early payments to principal-heavy later payments.\u003c\/p\u003e\n    \u003cp\u003eThe annual schedule aggregates monthly rows by calendar year, while the monthly schedule shows each payment date, scheduled payment, extra principal, interest, principal, and ending balance. The ending balance should reach zero on the final row. Use the Excel export when you need the current assumptions, breakdown, and every schedule row in a workbook for further analysis.\u003c\/p\u003e\n    \u003ch3\u003eFormula and practical limitations\u003c\/h3\u003e\n    \u003cp\u003eFor a positive monthly rate, the payment uses the standard annuity formula: principal multiplied by the monthly rate, divided by one minus the discount factor across all payments. Each month then calculates interest as the opening balance multiplied by the monthly rate. Principal is the scheduled payment minus interest, followed by eligible extra principal. For a zero rate, the payment is principal divided by the number of months.\u003c\/p\u003e\n    \u003cp\u003eSmall differences from a lender statement can arise from day-count conventions, payment timing, rounding policy, escrow items, fees, or a rate that changes over time. The Federal Reserve’s consumer resources offer broader context on \u003ca href=\"https:\/\/www.federalreserve.gov\/consumerscommunities\/consumer-resources.htm\" target=\"_blank\" rel=\"noopener noreferrer\"\u003ecredit and borrowing decisions\u003c\/a\u003e. Treat this output as an educational estimate rather than personalized financial, legal, tax, or investment advice.\u003c\/p\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909479178483,"sku":"amortization-calculator","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/amortization-calculator.webp?v=1783935349","url":"https:\/\/financialmodelslab.com\/products\/amortization-calculator","provider":"Financial Models Lab","version":"1.0","type":"link"}