{"product_id":"amortization","title":"Amortization Calculator","description":"\u003cstyle\u003e\n.amo-calculator {\n  --ink: #0f172a;\n  --muted: #475569;\n  --border: #e2e8f0;\n  --surface: #ffffff;\n  --tint: #f8fafc;\n  --primary: #1d4ed8;\n  --accent: #c2410c;\n  --accent-hover: #9a3412;\n  --chart-1: #1e40af;\n  --chart-2: #0d9488;\n  --chart-3: #7c3aed;\n  --chart-4: #be185d;\n  --chart-5: #334155;\n  color: var(--ink);\n  background: var(--surface);\n  border: 1px solid var(--border);\n  border-radius: 8px;\n  box-shadow: 0 1px 2px rgba(15,23,42,.06);\n  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n  font-size: 15px;\n  line-height: 1.55;\n  max-width: 1200px;\n  margin: 0 auto;\n  padding: 24px;\n  overflow-wrap: anywhere;\n}\n.amo-calculator, .amo-calculator *, .amo-calculator *::before, .amo-calculator *::after { box-sizing: border-box; }\n.amo-calculator * { min-width: 0; }\n.amo-calculator h2, .amo-calculator h3, .amo-calculator p { margin-top: 0; }\n.amo-calculator h2 { font-size: 24px; line-height: 1.25; font-weight: 700; margin-bottom: 8px; }\n.amo-calculator h3 { font-size: 18px; line-height: 1.35; font-weight: 650; margin-bottom: 12px; }\n.amo-calculator a { color: var(--primary); text-underline-offset: 2px; }\n.amo-calculator button, .amo-calculator input, .amo-calculator select { font: inherit; }\n.amo-calculator button { cursor: pointer; }\n.amo-calculator :focus-visible { outline: 3px solid rgba(29,78,216,.35); outline-offset: 2px; }\n.amo-header { border-bottom: 1px solid var(--border); padding-bottom: 20px; }\n.amo-subtitle { color: var(--muted); margin-bottom: 16px; max-width: 760px; }\n.amo-pills { display: flex; flex-wrap: wrap; gap: 8px; }\n.amo-pill { display: inline-flex; align-items: baseline; gap: 6px; border: 1px solid var(--border); background: var(--tint); border-radius: 999px; padding: 6px 10px; color: var(--muted); font-size: 13px; font-weight: 500; }\n.amo-pill strong { color: var(--ink); font-variant-numeric: tabular-nums; }\n.amo-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 20px 0; }\n.amo-button { border: 1px solid var(--border); border-radius: 6px; min-height: 44px; padding: 10px 16px; background: var(--surface); color: var(--ink); font-weight: 650; display: inline-flex; align-items: center; justify-content: center; gap: 10px; white-space: nowrap; box-shadow: 0 1px 2px rgba(15,23,42,.06); }\n.amo-button:hover { box-shadow: 0 2px 5px rgba(15,23,42,.10); }\n.amo-button-primary { background: var(--accent); border-color: var(--accent); color: #ffffff; padding: 12px 18px; }\n.amo-button-primary:hover { background: var(--accent-hover); border-color: var(--accent-hover); }\n.amo-button svg { width: 18px; height: 18px; flex: 0 0 auto; }\n.amo-workspace { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 24px; align-items: start; }\n.amo-panel, .amo-section { border: 1px solid var(--border); border-radius: 8px; background: var(--surface); padding: 20px; box-shadow: 0 1px 2px rgba(15,23,42,.06); }\n.amo-input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }\n.amo-field { display: flex; flex-direction: column; gap: 6px; }\n.amo-field-full { grid-column: 1 \/ -1; }\n.amo-label { font-size: 14px; font-weight: 600; color: var(--ink); }\n.amo-input, .amo-select { width: 100%; min-height: 44px; border: 1px solid #cbd5e1; border-radius: 6px; background: #ffffff; color: var(--ink); padding: 10px 12px; font-variant-numeric: tabular-nums; }\n.amo-input:hover, .amo-select:hover { border-color: #94a3b8; }\n.amo-help, .amo-error { min-height: 20px; font-size: 13px; font-weight: 500; line-height: 1.4; color: var(--muted); }\n.amo-error { color: #b42318; }\n.amo-results { display: grid; gap: 16px; }\n.amo-primary-result { border-left: 4px solid var(--primary); background: var(--tint); border-radius: 6px; padding: 16px; }\n.amo-primary-label { color: var(--muted); font-size: 13px; font-weight: 600; margin-bottom: 4px; }\n.amo-primary-value { font-size: 30px; line-height: 1.15; font-weight: 700; font-variant-numeric: tabular-nums; }\n.amo-primary-note { color: var(--muted); font-size: 13px; font-weight: 500; margin-top: 6px; }\n.amo-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }\n.amo-result-card { border: 1px solid var(--border); border-radius: 6px; padding: 14px; background: #ffffff; }\n.amo-result-label { color: var(--muted); font-size: 13px; font-weight: 600; margin-bottom: 4px; }\n.amo-result-value { font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }\n.amo-result-sub { color: var(--muted); font-size: 13px; font-weight: 500; margin-top: 4px; }\n.amo-alert { border: 1px solid #fed7aa; background: #fff7ed; color: #7c2d12; border-radius: 6px; padding: 12px; font-size: 13px; font-weight: 600; }\n.amo-section { margin-top: 24px; }\n.amo-section-head { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 16px; }\n.amo-section-head p { color: var(--muted); margin: 4px 0 0; }\n.amo-chart-cluster { display: grid; grid-template-columns: minmax(260px, 320px) minmax(0, 420px); gap: 24px; justify-content: center; align-items: end; }\n.amo-donut-wrap { display: grid; place-items: center; width: min(100%, 320px); aspect-ratio: 1; margin: 0 auto; }\n.amo-donut { width: 100%; height: 100%; overflow: visible; }\n.amo-donut-center { font-variant-numeric: tabular-nums; text-anchor: middle; dominant-baseline: middle; fill: var(--ink); font-weight: 700; }\n.amo-donut-center-label { text-anchor: middle; fill: var(--muted); font-size: 13px; font-weight: 600; }\n.amo-legend { display: grid; gap: 10px; align-content: center; }\n.amo-legend-row { display: grid; grid-template-columns: 14px minmax(90px, auto) max-content max-content; gap: 10px; align-items: center; justify-content: start; font-size: 13px; font-weight: 500; }\n.amo-swatch { width: 12px; height: 12px; border-radius: 3px; }\n.amo-legend-name { color: var(--ink); }\n.amo-legend-value, .amo-legend-percent { font-variant-numeric: tabular-nums; color: var(--muted); }\n.amo-chart-summary { border: 1px solid var(--border); background: var(--tint); border-radius: 6px; padding: 10px 12px; margin-top: 16px; color: var(--muted); font-size: 13px; font-weight: 500; }\n.amo-empty { border: 1px dashed #cbd5e1; border-radius: 6px; background: var(--tint); color: var(--muted); padding: 16px; text-align: center; font-size: 13px; font-weight: 600; }\n.amo-line-card { display: grid; gap: 16px; }\n.amo-line-plot { width: 100%; }\n.amo-line-svg { width: 100%; height: auto; display: block; }\n.amo-axis-label { fill: var(--muted); font-size: 13px; font-weight: 500; }\n.amo-grid-line { stroke: #e2e8f0; stroke-width: 1; }\n.amo-axis-line { stroke: #94a3b8; stroke-width: 1; }\n.amo-series-line { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }\n.amo-series-area { opacity: .10; }\n.amo-chart-safe-stack .amo-chart-cluster { grid-template-columns: 1fr; row-gap: 20px; }\n.amo-chart-safe-stack .amo-line-card { gap: 20px; }\n.amo-chart-safe-stack .amo-chart-summary { margin-top: 20px; }\n.amo-segmented { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); }\n.amo-segment-button { border: 0; background: transparent; color: var(--muted); min-height: 36px; padding: 7px 12px; border-radius: 4px; font-size: 13px; font-weight: 650; }\n.amo-segment-button[aria-pressed=\"true\"] { background: #ffffff; color: var(--primary); box-shadow: 0 1px 2px rgba(15,23,42,.08); }\n.amo-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--border); border-radius: 6px; background: #ffffff; }\n.amo-table { width: 100%; border-collapse: collapse; min-width: 760px; font-variant-numeric: tabular-nums; }\n.amo-table th, .amo-table td { padding: 10px 12px; border-bottom: 1px solid var(--border); text-align: right; white-space: nowrap; }\n.amo-table th { background: var(--tint); color: var(--ink); font-size: 13px; font-weight: 700; }\n.amo-table th:first-child, .amo-table td:first-child { text-align: left; }\n.amo-table tbody tr:last-child td { border-bottom: 0; }\n.amo-table tbody tr:hover { background: #f8fafc; }\n.amo-table-note { margin-top: 16px; border: 1px solid var(--border); background: var(--tint); border-radius: 6px; padding: 10px 12px; color: var(--muted); font-size: 13px; font-weight: 500; }\n.amo-safe-table-stack .amo-table-note { margin-top: 20px; }\n.amo-education { margin-top: 24px; border-top: 1px solid var(--border); padding-top: 24px; }\n.amo-education-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }\n.amo-education-section { padding-bottom: 8px; }\n.amo-education-section p, .amo-education-section li { color: #334155; }\n.amo-education-section ul { margin: 0; padding-left: 20px; }\n.amo-education-section li + li { margin-top: 8px; }\n.amo-formula { border-left: 4px solid var(--primary); background: var(--tint); border-radius: 0 6px 6px 0; padding: 12px 16px; font-variant-numeric: tabular-nums; }\n.amo-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }\n\n.amo-calculator.amo-layout-stack .amo-workspace { grid-template-columns: 1fr; }\n.amo-calculator.amo-layout-chart-stack .amo-chart-cluster { grid-template-columns: 1fr; gap: 20px; }\n.amo-calculator.amo-layout-mobile { padding: 16px; border-radius: 6px; }\n.amo-calculator.amo-layout-mobile .amo-input-grid,\n.amo-calculator.amo-layout-mobile .amo-result-grid,\n.amo-calculator.amo-layout-mobile .amo-education-grid { grid-template-columns: 1fr; }\n.amo-calculator.amo-layout-mobile .amo-field-full { grid-column: auto; }\n.amo-calculator.amo-layout-mobile .amo-legend { justify-content: center; }\n.amo-calculator.amo-layout-mobile .amo-toolbar { align-items: stretch; }\n.amo-calculator.amo-layout-mobile .amo-button { flex: 1 1 auto; }\n.amo-calculator.amo-layout-mobile .amo-legend-row { grid-template-columns: 14px minmax(80px, auto) max-content; }\n.amo-calculator.amo-layout-mobile .amo-legend-percent { grid-column: 2 \/ 4; padding-left: 0; }\n.amo-calculator.amo-layout-mobile .amo-chart-summary,\n.amo-calculator.amo-layout-mobile .amo-table-note { margin-top: 16px; }\n.amo-calculator.amo-layout-tiny { padding: 12px; }\n.amo-calculator.amo-layout-tiny .amo-panel,\n.amo-calculator.amo-layout-tiny .amo-section { padding: 16px; }\n.amo-calculator.amo-layout-tiny .amo-button { width: 100%; }\n.amo-calculator.amo-layout-tiny .amo-legend-row { gap: 8px; }\n\n@media (max-width: 899px) {\n  .amo-calculator { padding: 20px; }\n  .amo-workspace { grid-template-columns: 1fr; }\n}\n@media (max-width: 639px) {\n  .amo-calculator { padding: 16px; border-radius: 6px; }\n  .amo-input-grid, .amo-result-grid, .amo-education-grid { grid-template-columns: 1fr; }\n  .amo-field-full { grid-column: auto; }\n  .amo-chart-cluster { grid-template-columns: 1fr; gap: 20px; }\n  .amo-legend { justify-content: center; }\n  .amo-toolbar { align-items: stretch; }\n  .amo-button { flex: 1 1 auto; }\n  .amo-legend-row { grid-template-columns: 14px minmax(80px, auto) max-content; }\n  .amo-legend-percent { grid-column: 2 \/ 4; padding-left: 0; }\n  .amo-chart-summary, .amo-table-note { margin-top: 16px; }\n}\n@media (max-width: 359px) {\n  .amo-calculator { padding: 12px; }\n  .amo-panel, .amo-section { padding: 16px; }\n  .amo-button { width: 100%; }\n  .amo-legend-row { gap: 8px; }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"amo-calculator\" data-calculator-root\u003e\n  \u003csection class=\"amo-header\"\u003e\n    \u003ch2\u003eLoan Amortization Calculator\u003c\/h2\u003e\n    \u003cp class=\"amo-subtitle\"\u003eEstimate a fixed periodic payment, compare the impact of extra principal, and inspect the full repayment schedule from one consistent model.\u003c\/p\u003e\n    \u003cdiv class=\"amo-pills\" aria-label=\"Live loan summary\"\u003e\n      \u003cspan class=\"amo-pill\"\u003ePayment \u003cstrong class=\"amo-pill-payment\"\u003e—\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"amo-pill\"\u003ePayoff \u003cstrong class=\"amo-pill-payoff\"\u003e—\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"amo-pill\"\u003eInterest \u003cstrong class=\"amo-pill-interest\"\u003e—\u003c\/strong\u003e\u003c\/span\u003e\n      \u003cspan class=\"amo-pill\"\u003eSaved \u003cstrong class=\"amo-pill-saved\"\u003e—\u003c\/strong\u003e\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003cdiv class=\"amo-toolbar\" aria-label=\"Calculator actions\"\u003e\n    \u003cbutton class=\"amo-button amo-button-primary amo-download\" type=\"button\"\u003e\n      \u003csvg 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.17V3Zm-6 16h14v2H5v-2Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n      \u003cspan\u003eDownload Excel\u003c\/span\u003e\n    \u003c\/button\u003e\n    \u003cbutton class=\"amo-button amo-reset\" type=\"button\"\u003eReset\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"amo-workspace\"\u003e\n    \u003csection class=\"amo-panel amo-inputs\" aria-labelledby=\"amo-inputs-title\"\u003e\n      \u003ch3 id=\"amo-inputs-title\"\u003eLoan assumptions\u003c\/h3\u003e\n      \u003cdiv class=\"amo-input-grid\"\u003e\n        \u003cdiv class=\"amo-field\"\u003e\n          \u003clabel class=\"amo-label\" for=\"amo-loan-amount\"\u003eLoan amount\u003c\/label\u003e\n          \u003cinput class=\"amo-input amo-money-input\" id=\"amo-loan-amount\" type=\"text\" inputmode=\"decimal\" value=\"$10,000.00\" autocomplete=\"off\"\u003e\n          \u003cdiv class=\"amo-help\"\u003ePrincipal borrowed before interest.\u003c\/div\u003e\n          \u003cdiv class=\"amo-error\" data-error-for=\"amo-loan-amount\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"amo-field\"\u003e\n          \u003clabel class=\"amo-label\" for=\"amo-term-years\"\u003eAmortization term\u003c\/label\u003e\n          \u003cinput class=\"amo-input amo-number-input\" id=\"amo-term-years\" type=\"text\" inputmode=\"decimal\" value=\"10\" autocomplete=\"off\"\u003e\n          \u003cdiv class=\"amo-help\"\u003eRepayment horizon in years.\u003c\/div\u003e\n          \u003cdiv class=\"amo-error\" data-error-for=\"amo-term-years\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"amo-field\"\u003e\n          \u003clabel class=\"amo-label\" for=\"amo-interest-rate\"\u003eAnnual interest rate\u003c\/label\u003e\n          \u003cinput class=\"amo-input amo-percent-input\" id=\"amo-interest-rate\" type=\"text\" inputmode=\"decimal\" value=\"12.50%\" autocomplete=\"off\"\u003e\n          \u003cdiv class=\"amo-help\"\u003eNominal annual rate before compounding.\u003c\/div\u003e\n          \u003cdiv class=\"amo-error\" data-error-for=\"amo-interest-rate\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"amo-field\"\u003e\n          \u003clabel class=\"amo-label\" for=\"amo-compounding\"\u003eCompounding frequency\u003c\/label\u003e\n          \u003cselect class=\"amo-select\" id=\"amo-compounding\"\u003e\n            \u003coption value=\"1\"\u003eYearly\u003c\/option\u003e\n            \u003coption value=\"2\"\u003eSemi-annually\u003c\/option\u003e\n            \u003coption value=\"4\"\u003eQuarterly\u003c\/option\u003e\n            \u003coption value=\"12\" selected\u003eMonthly\u003c\/option\u003e\n            \u003coption value=\"52\"\u003eWeekly\u003c\/option\u003e\n            \u003coption value=\"365\"\u003eDaily\u003c\/option\u003e\n            \u003coption value=\"continuous\"\u003eContinuous\u003c\/option\u003e\n          \u003c\/select\u003e\n          \u003cdiv class=\"amo-help\"\u003eHow often interest is converted into balance growth.\u003c\/div\u003e\n          \u003cdiv class=\"amo-error\" data-error-for=\"amo-compounding\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"amo-field\"\u003e\n          \u003clabel class=\"amo-label\" for=\"amo-payment-frequency\"\u003ePayment frequency\u003c\/label\u003e\n          \u003cselect class=\"amo-select\" id=\"amo-payment-frequency\"\u003e\n            \u003coption value=\"1\"\u003eYearly\u003c\/option\u003e\n            \u003coption value=\"2\"\u003eSemi-annually\u003c\/option\u003e\n            \u003coption value=\"4\"\u003eQuarterly\u003c\/option\u003e\n            \u003coption value=\"12\" selected\u003eMonthly\u003c\/option\u003e\n            \u003coption value=\"26\"\u003eBi-weekly\u003c\/option\u003e\n            \u003coption value=\"52\"\u003eWeekly\u003c\/option\u003e\n            \u003coption value=\"365\"\u003eDaily\u003c\/option\u003e\n          \u003c\/select\u003e\n          \u003cdiv class=\"amo-help\"\u003eNumber of scheduled installments per year.\u003c\/div\u003e\n          \u003cdiv class=\"amo-error\" data-error-for=\"amo-payment-frequency\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"amo-field\"\u003e\n          \u003clabel class=\"amo-label\" for=\"amo-extra-payment\"\u003eExtra payment\u003c\/label\u003e\n          \u003cinput class=\"amo-input amo-money-input\" id=\"amo-extra-payment\" type=\"text\" inputmode=\"decimal\" value=\"$0.00\" autocomplete=\"off\"\u003e\n          \u003cdiv class=\"amo-help\"\u003eAdditional principal added to each installment.\u003c\/div\u003e\n          \u003cdiv class=\"amo-error\" data-error-for=\"amo-extra-payment\"\u003e\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"amo-panel amo-results\" aria-labelledby=\"amo-results-title\"\u003e\n      \u003ch3 id=\"amo-results-title\"\u003eLive results\u003c\/h3\u003e\n      \u003cdiv class=\"amo-alert\" hidden\u003e\u003c\/div\u003e\n      \u003cdiv class=\"amo-primary-result\"\u003e\n        \u003cdiv class=\"amo-primary-label\"\u003eOriginal periodic payment\u003c\/div\u003e\n        \u003cdiv class=\"amo-primary-value amo-periodic-payment\"\u003e—\u003c\/div\u003e\n        \u003cdiv class=\"amo-primary-note amo-payment-frequency-note\"\u003eEnter valid assumptions to calculate.\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"amo-result-grid\"\u003e\n        \u003cdiv class=\"amo-result-card\"\u003e\n          \u003cdiv class=\"amo-result-label\"\u003ePayment with extra\u003c\/div\u003e\n          \u003cdiv class=\"amo-result-value amo-payment-extra\"\u003e—\u003c\/div\u003e\n          \u003cdiv class=\"amo-result-sub\"\u003eScheduled payment plus extra principal\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"amo-result-card\"\u003e\n          \u003cdiv class=\"amo-result-label\"\u003eTotal interest\u003c\/div\u003e\n          \u003cdiv class=\"amo-result-value amo-total-interest\"\u003e—\u003c\/div\u003e\n          \u003cdiv class=\"amo-result-sub amo-interest-comparison\"\u003eOriginal plan: —\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"amo-result-card\"\u003e\n          \u003cdiv class=\"amo-result-label\"\u003eTotal paid\u003c\/div\u003e\n          \u003cdiv class=\"amo-result-value amo-total-paid\"\u003e—\u003c\/div\u003e\n          \u003cdiv class=\"amo-result-sub\"\u003ePrincipal plus all interest\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"amo-result-card\"\u003e\n          \u003cdiv class=\"amo-result-label\"\u003ePayoff time\u003c\/div\u003e\n          \u003cdiv class=\"amo-result-value amo-payoff-time\"\u003e—\u003c\/div\u003e\n          \u003cdiv class=\"amo-result-sub amo-payoff-comparison\"\u003eOriginal schedule: —\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"amo-result-card\"\u003e\n          \u003cdiv class=\"amo-result-label\"\u003eInterest saved\u003c\/div\u003e\n          \u003cdiv class=\"amo-result-value amo-interest-saved\"\u003e—\u003c\/div\u003e\n          \u003cdiv class=\"amo-result-sub\"\u003eSavings created by extra payments\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"amo-result-card\"\u003e\n          \u003cdiv class=\"amo-result-label\"\u003eTime saved\u003c\/div\u003e\n          \u003cdiv class=\"amo-result-value amo-time-saved\"\u003e—\u003c\/div\u003e\n          \u003cdiv class=\"amo-result-sub\"\u003eFewer payment periods\u003c\/div\u003e\n        \u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"amo-sr-only\" aria-live=\"polite\" aria-atomic=\"true\"\u003e\u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"amo-section amo-breakdown\" aria-labelledby=\"amo-breakdown-title\"\u003e\n    \u003cdiv class=\"amo-section-head\"\u003e\n      \u003cdiv\u003e\n        \u003ch3 id=\"amo-breakdown-title\"\u003eCost breakdown\u003c\/h3\u003e\n        \u003cp\u003ePrincipal and interest in the active repayment plan.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"amo-breakdown-body\"\u003e\u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"amo-section amo-chart\" aria-labelledby=\"amo-chart-title\"\u003e\n    \u003cdiv class=\"amo-section-head\"\u003e\n      \u003cdiv\u003e\n        \u003ch3 id=\"amo-chart-title\"\u003eBalances over time\u003c\/h3\u003e\n        \u003cp\u003eTrack the remaining balance, cumulative principal paid, and cumulative interest paid.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"amo-line-body\"\u003e\u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"amo-section amo-schedule\" aria-labelledby=\"amo-schedule-title\"\u003e\n    \u003cdiv class=\"amo-section-head\"\u003e\n      \u003cdiv\u003e\n        \u003ch3 id=\"amo-schedule-title\"\u003eAmortization schedule\u003c\/h3\u003e\n        \u003cp\u003eEvery row is generated from the same balances used by the results and charts.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"amo-segmented\" role=\"group\" aria-label=\"Schedule detail level\"\u003e\n        \u003cbutton class=\"amo-segment-button\" type=\"button\" data-view=\"periodic\" aria-pressed=\"true\"\u003ePeriodic\u003c\/button\u003e\n        \u003cbutton class=\"amo-segment-button\" type=\"button\" data-view=\"annual\" aria-pressed=\"false\"\u003eYearly\u003c\/button\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"amo-table-wrap\"\u003e\n      \u003ctable class=\"amo-table\"\u003e\n        \u003cthead class=\"amo-table-head\"\u003e\u003c\/thead\u003e\n        \u003ctbody class=\"amo-table-body\"\u003e\u003c\/tbody\u003e\n      \u003c\/table\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"amo-table-note\"\u003eThe final installment is automatically reduced when the remaining balance is smaller than the regular payment. Minor display differences can occur because calculations retain full precision while the table shows cents.\u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"amo-education\" aria-labelledby=\"amo-guide-title\"\u003e\n    \u003ch2 id=\"amo-guide-title\"\u003eHow to use and interpret the amortization calculator\u003c\/h2\u003e\n    \u003cdiv class=\"amo-education-grid\"\u003e\n      \u003cdiv class=\"amo-education-section\"\u003e\n        \u003ch3\u003eWhat this calculator estimates\u003c\/h3\u003e\n        \u003cp\u003eThis calculator models a fully amortizing, fixed-rate loan paid in equal scheduled installments. Each payment first covers interest accrued on the outstanding balance; the remainder reduces principal. The calculator also lets you add the same extra principal amount to every installment. That extra amount does not change the contractual base payment, but it reduces the balance faster, which usually lowers total interest and shortens the payoff period.\u003c\/p\u003e\n        \u003cp\u003eThe model is suitable for many conventional mortgages, auto loans, equipment loans, student loans, and business term loans when the interest rate is fixed and payments occur at regular intervals. It does not model variable rates, fees, taxes, insurance, late charges, prepayment penalties, or irregular one-time payments. For mortgage disclosure concepts and the difference between principal, interest, and other housing costs, consult the \u003ca href=\"https:\/\/www.consumerfinance.gov\/owning-a-home\/loan-estimate\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eConsumer Financial Protection Bureau’s Loan Estimate guide\u003c\/a\u003e.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"amo-education-section\"\u003e\n        \u003ch3\u003eInput guide\u003c\/h3\u003e\n        \u003cul\u003e\n          \u003cli\u003e\n\u003cstrong\u003eLoan amount\u003c\/strong\u003e is the opening principal. Enter the amount actually financed, not the asset price unless they are identical. A higher principal increases the payment and total interest roughly in proportion.\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eAmortization term\u003c\/strong\u003e is the planned repayment horizon in years. A longer term usually lowers each payment but increases lifetime interest. A shorter term does the reverse.\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eAnnual interest rate\u003c\/strong\u003e is the nominal rate before the selected compounding convention is applied. Enter 5.25 for 5.25%. A higher rate raises both the periodic payment and the interest share of early installments.\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eCompounding frequency\u003c\/strong\u003e controls how the nominal annual rate becomes an effective rate between payments. More frequent compounding can raise the effective borrowing cost when the nominal rate is unchanged.\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003ePayment frequency\u003c\/strong\u003e determines how many installments occur each year. It also controls the number of schedule rows and the periodic rate used by the annuity formula.\u003c\/li\u003e\n          \u003cli\u003e\n\u003cstrong\u003eExtra payment\u003c\/strong\u003e is optional and is applied directly to principal each period. Use zero when you want the original contractual schedule. Confirm with the lender that extra payments are permitted and correctly designated as principal.\u003c\/li\u003e\n        \u003c\/ul\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"amo-education-section\"\u003e\n        \u003ch3\u003eHow the calculation works\u003c\/h3\u003e\n        \u003cp\u003eThe nominal annual rate is first converted to a rate per payment period. When compounding occurs a fixed number of times per year, the periodic rate is derived from the effective growth over one payment interval. Continuous compounding uses the exponential equivalent. The base installment then follows the present-value-of-an-annuity relationship:\u003c\/p\u003e\n        \u003cdiv class=\"amo-formula\"\u003e\n\u003cstrong\u003ePayment = Principal × r ÷ (1 − (1 + r)\u003csup\u003e−n\u003c\/sup\u003e)\u003c\/strong\u003e\u003cbr\u003ewhere \u003cem\u003er\u003c\/em\u003e is the effective rate per payment period and \u003cem\u003en\u003c\/em\u003e is the planned number of payments.\u003c\/div\u003e\n        \u003cp\u003eWhen the periodic rate is zero, the calculator uses principal divided by the number of payments. The schedule then iterates period by period: interest equals opening balance times the periodic rate; principal equals the actual payment minus interest; and closing balance equals opening balance minus principal. The last payment is capped so the balance ends at zero rather than becoming negative.\u003c\/p\u003e\n        \u003cp\u003eFor a broader explanation of amortized debt and why the principal share rises over time, see the \u003ca href=\"https:\/\/www.investopedia.com\/terms\/a\/amortization.asp\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eInvestopedia overview of amortization\u003c\/a\u003e.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"amo-education-section\"\u003e\n        \u003ch3\u003eUnderstanding the results\u003c\/h3\u003e\n        \u003cp\u003e\u003cstrong\u003eOriginal periodic payment\u003c\/strong\u003e is the level installment required to repay the loan over the chosen term without extra principal. \u003cstrong\u003ePayment with extra\u003c\/strong\u003e adds the selected extra amount, although the final installment may be smaller. \u003cstrong\u003eTotal interest\u003c\/strong\u003e is the sum of interest across the active schedule. \u003cstrong\u003eTotal paid\u003c\/strong\u003e equals principal plus interest. \u003cstrong\u003ePayoff time\u003c\/strong\u003e reports the number of active payment periods and an approximate duration in years and months. \u003cstrong\u003eInterest saved\u003c\/strong\u003e and \u003cstrong\u003etime saved\u003c\/strong\u003e compare the active extra-payment plan with the original schedule.\u003c\/p\u003e\n        \u003cp\u003eA zero-rate loan produces no interest and a straight-line principal decline. A zero loan amount produces no drawable chart and no repayment schedule. If the extra payment is very large, the loan may be retired in only a few periods; the last payment is still limited to the remaining principal plus accrued interest.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"amo-education-section\"\u003e\n        \u003ch3\u003eReading the charts and schedule\u003c\/h3\u003e\n        \u003cp\u003eThe cost donut divides total cash paid into original principal and interest. A larger interest segment signals a higher financing cost relative to the amount borrowed. The balance chart shows three cumulative series. Remaining balance should fall to zero. Principal paid should rise toward the original loan amount. Interest paid should rise throughout the schedule but often grows more slowly near the end because the balance generating interest has become smaller.\u003c\/p\u003e\n        \u003cp\u003eThe periodic table lists opening balance, payment, interest, principal, extra principal, and closing balance for every installment. The yearly view groups those same rows into annual buckets, which is easier for long loans. Because every output uses one underlying model, the chart totals, schedule totals, and exported workbook cross-foot to the same figures.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"amo-education-section\"\u003e\n        \u003ch3\u003ePractical tradeoffs and common mistakes\u003c\/h3\u003e\n        \u003cp\u003eExtra principal can create a risk-free reduction in future loan interest, but it also uses cash that might be needed for emergencies or higher-priority obligations. Review the contract for prepayment penalties and ask how the servicer applies additional funds. The \u003ca href=\"https:\/\/www.consumerfinance.gov\/ask-cfpb\/what-is-a-prepayment-penalty-en-1957\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eCFPB’s prepayment-penalty explanation\u003c\/a\u003e describes why this clause matters.\u003c\/p\u003e\n        \u003cp\u003eCommon mistakes include entering the asset price instead of the financed balance, confusing a nominal rate with an effective annual rate, selecting a payment frequency that does not match the contract, and assuming taxes or insurance are included. This calculator is educational and does not constitute financial, tax, legal, or investment advice. Compare its output with the lender’s official disclosure and payment schedule before making a decision.\u003c\/p\u003e\n      \u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909486878963,"sku":"amortization","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/amortization.webp?v=1783935508","url":"https:\/\/financialmodelslab.com\/products\/amortization","provider":"Financial Models Lab","version":"1.0","type":"link"}