{"product_id":"finance-calculator","title":"Finance Calculator","description":"\u003cstyle\u003e\n.finc-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  container-type: inline-size;\n  width: 100%;\n  max-width: 1200px;\n  margin: 0 auto;\n  color: var(--ink);\n  background: var(--tint);\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  overflow-wrap: anywhere;\n}\n.finc-calculator,\n.finc-calculator *,\n.finc-calculator *::before,\n.finc-calculator *::after { box-sizing: border-box; }\n.finc-calculator \u003e * { min-width: 0; }\n.finc-calculator :is(.finc-pills, .finc-toolbar, .finc-workspace, .finc-segments, .finc-form-grid, .finc-field, .finc-settings-grid, .finc-timing-options, .finc-metric-grid, .finc-chart-cluster, .finc-legend-list, .finc-legend-row, .finc-table-controls) \u003e * { min-width: 0; }\n.finc-calculator a { color: #1e40af; text-decoration-thickness: 1px; text-underline-offset: 2px; }\n.finc-calculator a:hover { color: #1d4ed8; }\n.finc-calculator button,\n.finc-calculator input,\n.finc-calculator select { font: inherit; }\n.finc-calculator button,\n.finc-calculator input,\n.finc-calculator select,\n.finc-calculator summary { min-height: 44px; }\n.finc-calculator button,\n.finc-calculator summary,\n.finc-calculator input[type=\"radio\"] + label { cursor: pointer; }\n.finc-calculator :focus-visible { outline: 3px solid rgba(29, 78, 216, .35); outline-offset: 2px; }\n.finc-calculator .finc-num,\n.finc-calculator input,\n.finc-calculator td,\n.finc-calculator th { font-variant-numeric: tabular-nums; }\n.finc-calculator .finc-header { padding: 24px 24px 16px; background: var(--surface); border-bottom: 1px solid var(--border); border-radius: 8px 8px 0 0; }\n.finc-calculator .finc-title { margin: 0; font-size: 24px; line-height: 1.25; font-weight: 700; letter-spacing: -.015em; }\n.finc-calculator .finc-subtitle { margin: 8px 0 0; max-width: 820px; color: var(--muted); }\n.finc-calculator .finc-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }\n.finc-calculator .finc-pill { display: inline-flex; align-items: center; gap: 6px; padding: 5px 9px; border: 1px solid var(--border); border-radius: 999px; background: var(--tint); color: #334155; font-size: 13px; font-weight: 600; }\n.finc-calculator .finc-toolbar { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 16px 24px; background: var(--surface); border-bottom: 1px solid var(--border); }\n.finc-calculator .finc-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 0; border: 1px solid transparent; border-radius: 6px; padding: 12px 18px; font-size: 15px; font-weight: 700; line-height: 1; white-space: nowrap; transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .05s ease; }\n.finc-calculator .finc-button:active { transform: translateY(1px); }\n.finc-calculator .finc-download { background: var(--accent); color: #ffffff; box-shadow: 0 1px 2px rgba(15, 23, 42, .12); }\n.finc-calculator .finc-download:hover { background: var(--accent-hover); box-shadow: 0 3px 8px rgba(15, 23, 42, .14); }\n.finc-calculator .finc-download:disabled { opacity: .65; cursor: not-allowed; }\n.finc-calculator .finc-reset { background: var(--surface); color: var(--ink); border-color: #cbd5e1; }\n.finc-calculator .finc-reset:hover { background: #f1f5f9; border-color: #94a3b8; }\n.finc-calculator .finc-excel-icon { width: 18px; height: 18px; flex: 0 0 18px; }\n.finc-calculator .finc-workspace { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 24px; padding: 24px; align-items: start; }\n.finc-calculator .finc-panel { min-width: 0; background: var(--surface); border: 1px solid var(--border); border-radius: 8px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }\n.finc-calculator .finc-panel-head { padding: 16px 16px 12px; border-bottom: 1px solid var(--border); }\n.finc-calculator .finc-section-title { margin: 0; font-size: 18px; line-height: 1.35; font-weight: 650; }\n.finc-calculator .finc-section-copy { margin: 4px 0 0; color: var(--muted); font-size: 13px; font-weight: 500; }\n.finc-calculator .finc-input-body { padding: 16px; }\n.finc-calculator .finc-solve-fieldset,\n.finc-calculator .finc-timing-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }\n.finc-calculator .finc-legend { margin: 0 0 8px; padding: 0; color: var(--ink); font-size: 14px; font-weight: 600; }\n.finc-calculator .finc-segments { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; padding: 4px; border: 1px solid var(--border); border-radius: 8px; background: var(--tint); }\n.finc-calculator .finc-segments input { position: absolute; opacity: 0; pointer-events: none; }\n.finc-calculator .finc-segments label { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 40px; padding: 8px 6px; border: 1px solid transparent; border-radius: 5px; color: #334155; font-size: 13px; font-weight: 700; text-align: center; }\n.finc-calculator .finc-segments input:checked + label { color: #ffffff; background: var(--primary); border-color: var(--primary); box-shadow: 0 1px 2px rgba(15, 23, 42, .12); }\n.finc-calculator .finc-segments input:focus-visible + label { outline: 3px solid rgba(29, 78, 216, .35); outline-offset: 2px; }\n.finc-calculator .finc-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; align-items: start; }\n.finc-calculator .finc-field { min-width: 0; display: flex; flex-direction: column; gap: 6px; }\n.finc-calculator .finc-field label { color: var(--ink); font-size: 14px; font-weight: 600; }\n.finc-calculator .finc-control { width: 100%; min-width: 0; height: 44px; border: 1px solid #cbd5e1; border-radius: 6px; padding: 9px 11px; color: var(--ink); background: var(--surface); box-shadow: inset 0 1px 1px rgba(15, 23, 42, .02); }\n.finc-calculator .finc-control:hover { border-color: #94a3b8; }\n.finc-calculator .finc-control[readonly] { color: #1e3a8a; background: #eff6ff; border-color: #93c5fd; font-weight: 700; }\n.finc-calculator .finc-control[aria-invalid=\"true\"] { border-color: #b91c1c; background: #fef2f2; }\n.finc-calculator .finc-helper { min-height: 40px; margin: 0; color: var(--muted); font-size: 13px; font-weight: 500; line-height: 1.45; }\n.finc-calculator .finc-error { min-height: 20px; margin: 0; color: #991b1b; font-size: 13px; font-weight: 600; line-height: 1.4; }\n.finc-calculator .finc-advanced { margin-top: 16px; border: 1px solid var(--border); border-radius: 8px; background: var(--tint); }\n.finc-calculator .finc-advanced summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 12px; color: var(--ink); font-size: 14px; font-weight: 700; list-style: none; }\n.finc-calculator .finc-advanced summary::-webkit-details-marker { display: none; }\n.finc-calculator .finc-advanced summary::after { content: \"+\"; width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #cbd5e1; border-radius: 50%; color: var(--primary); background: var(--surface); font-size: 18px; line-height: 1; }\n.finc-calculator .finc-advanced[open] summary::after { content: \"−\"; }\n.finc-calculator .finc-advanced-body { padding: 0 12px 12px; }\n.finc-calculator .finc-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }\n.finc-calculator .finc-timing-fieldset { grid-column: 1 \/ -1; }\n.finc-calculator .finc-timing-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }\n.finc-calculator .finc-radio-card { min-width: 0; }\n.finc-calculator .finc-radio-card input { position: absolute; opacity: 0; pointer-events: none; }\n.finc-calculator .finc-radio-card label { display: flex; align-items: center; min-height: 44px; padding: 9px 11px; border: 1px solid #cbd5e1; border-radius: 6px; background: var(--surface); color: #334155; font-size: 14px; font-weight: 600; }\n.finc-calculator .finc-radio-card input:checked + label { border-color: var(--primary); background: #eff6ff; color: #1e3a8a; }\n.finc-calculator .finc-radio-card input:focus-visible + label { outline: 3px solid rgba(29, 78, 216, .35); outline-offset: 2px; }\n.finc-calculator .finc-results-body { padding: 16px; }\n.finc-calculator .finc-primary-result { padding: 16px; border: 1px solid #bfdbfe; border-radius: 8px; background: #eff6ff; }\n.finc-calculator .finc-primary-label { margin: 0; color: #1e3a8a; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }\n.finc-calculator .finc-primary-value { margin: 4px 0 0; color: #172554; font-size: 30px; line-height: 1.2; font-weight: 700; overflow-wrap: anywhere; }\n.finc-calculator .finc-primary-note { margin: 8px 0 0; color: #334155; font-size: 13px; font-weight: 500; }\n.finc-calculator .finc-live { margin: 0; }\n.finc-calculator .finc-metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }\n.finc-calculator .finc-metric { min-width: 0; padding: 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); }\n.finc-calculator .finc-metric-label { margin: 0; color: var(--muted); font-size: 13px; font-weight: 600; }\n.finc-calculator .finc-metric-value { margin: 4px 0 0; color: var(--ink); font-size: 20px; line-height: 1.25; font-weight: 700; overflow-wrap: anywhere; }\n.finc-calculator .finc-equation { margin-top: 12px; padding: 12px; border: 1px solid var(--border); border-radius: 8px; background: var(--tint); }\n.finc-calculator .finc-equation-title { margin: 0; color: var(--ink); font-size: 13px; font-weight: 700; }\n.finc-calculator .finc-equation-text { margin: 4px 0 0; color: var(--muted); font-size: 13px; font-weight: 500; }\n.finc-calculator .finc-message { margin-top: 12px; padding: 10px 12px; border: 1px solid #fecaca; border-radius: 6px; background: #fef2f2; color: #991b1b; font-size: 13px; font-weight: 600; }\n.finc-calculator .finc-content-section { margin: 0 24px 24px; min-width: 0; background: var(--surface); border: 1px solid var(--border); border-radius: 8px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }\n.finc-calculator .finc-content-head { padding: 16px 16px 12px; border-bottom: 1px solid var(--border); }\n.finc-calculator .finc-content-body { min-width: 0; padding: 16px; }\n.finc-calculator .finc-chart-card { min-width: 0; }\n.finc-calculator .finc-chart-intro { margin: 0; color: var(--muted); font-size: 13px; font-weight: 500; }\n.finc-calculator .finc-chart-cluster { display: grid; grid-template-columns: minmax(0, 620px) max-content; justify-content: center; align-items: center; gap: 24px; margin-top: 16px; min-width: 0; }\n.finc-calculator .finc-chart-plot { min-width: 0; width: 100%; }\n.finc-calculator .finc-chart-svg { display: block; width: 100%; height: auto; min-height: 0; overflow: visible; }\n.finc-calculator .finc-chart-empty[hidden], .finc-calculator .finc-message[hidden] { display: none !important; }\n.finc-calculator .finc-chart-empty { display: flex; align-items: center; justify-content: center; min-height: 96px; padding: 16px; border: 1px dashed #94a3b8; border-radius: 6px; background: var(--tint); color: var(--muted); font-size: 13px; font-weight: 600; text-align: center; }\n.finc-calculator .finc-legend-list { display: grid; gap: 10px; min-width: 220px; max-width: 300px; }\n.finc-calculator .finc-legend-row { display: grid; grid-template-columns: 12px minmax(0, max-content) minmax(0, max-content); align-items: center; gap: 10px; min-width: 0; color: #334155; font-size: 13px; font-weight: 600; }\n.finc-calculator .finc-legend-swatch { width: 12px; height: 12px; border-radius: 3px; }\n.finc-calculator .finc-legend-value { color: var(--ink); font-weight: 700; }\n.finc-calculator .finc-chart-summary-wrap { margin-top: 16px; overflow-x: auto; border: 1px solid var(--border); border-radius: 6px; }\n.finc-calculator .finc-chart-summary { width: 100%; min-width: 520px; border-collapse: collapse; }\n.finc-calculator .finc-chart-summary th,\n.finc-calculator .finc-chart-summary td { padding: 10px 12px; border-bottom: 1px solid var(--border); text-align: right; white-space: nowrap; }\n.finc-calculator .finc-chart-summary th:first-child,\n.finc-calculator .finc-chart-summary td:first-child { text-align: left; }\n.finc-calculator .finc-chart-summary thead th { background: #e2e8f0; color: var(--ink); font-size: 13px; font-weight: 700; }\n.finc-calculator .finc-chart-summary tbody tr:last-child td { border-bottom: 0; }\n.finc-calculator .finc-chart-caption { margin-top: 16px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); color: var(--muted); font-size: 13px; font-weight: 500; }\n.finc-calculator .finc-safe-stack .finc-chart-cluster { grid-template-columns: minmax(0, 620px); row-gap: 16px; }\n.finc-calculator .finc-safe-stack .finc-legend-list { max-width: 620px; min-width: 0; justify-self: center; }\n.finc-calculator .finc-safe-stack .finc-chart-caption { margin-top: 20px; }\n.finc-calculator .finc-table-controls { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 12px; }\n.finc-calculator .finc-table-control-label { color: var(--muted); font-size: 13px; font-weight: 600; }\n.finc-calculator .finc-table-toggle { min-height: 38px; padding: 8px 11px; border: 1px solid #cbd5e1; border-radius: 6px; background: var(--surface); color: #334155; font-size: 13px; font-weight: 700; }\n.finc-calculator .finc-table-toggle[aria-pressed=\"true\"] { color: #ffffff; background: var(--primary); border-color: var(--primary); }\n.finc-calculator .finc-table-wrap { min-width: 0; overflow-x: auto; border: 1px solid var(--border); border-radius: 6px; }\n.finc-calculator .finc-table { width: 100%; min-width: 760px; border-collapse: collapse; }\n.finc-calculator .finc-table th,\n.finc-calculator .finc-table td { padding: 10px 12px; border-bottom: 1px solid var(--border); text-align: right; white-space: nowrap; }\n.finc-calculator .finc-table th:first-child,\n.finc-calculator .finc-table td:first-child { text-align: left; }\n.finc-calculator .finc-table thead th { background: #e2e8f0; color: var(--ink); font-size: 13px; font-weight: 700; }\n.finc-calculator .finc-table tbody tr:nth-child(even) { background: #f8fafc; }\n.finc-calculator .finc-table tbody tr:last-child td { border-bottom: 0; font-weight: 700; }\n.finc-calculator .finc-table-note { margin-top: 16px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 6px; background: var(--tint); color: var(--muted); font-size: 13px; font-weight: 500; }\n.finc-calculator .finc-safe-table-stack .finc-table-note { margin-top: 20px; }\n.finc-calculator .finc-education { padding: 24px; background: var(--surface); border-top: 1px solid var(--border); border-radius: 0 0 8px 8px; }\n.finc-calculator .finc-education-inner { max-width: 900px; margin: 0 auto; }\n.finc-calculator .finc-education h2 { margin: 0 0 12px; font-size: 24px; line-height: 1.3; font-weight: 700; }\n.finc-calculator .finc-education h3 { margin: 24px 0 8px; font-size: 18px; line-height: 1.4; font-weight: 650; }\n.finc-calculator .finc-education p { margin: 0 0 12px; color: #334155; }\n.finc-calculator .finc-education ul { margin: 8px 0 12px; padding-left: 22px; color: #334155; }\n.finc-calculator .finc-education li { margin: 6px 0; }\n.finc-calculator .finc-education strong { color: var(--ink); }\n@container (max-width: 899px) {\n  .finc-calculator .finc-workspace { grid-template-columns: minmax(0, 1fr); }\n}\n@container (max-width: 639px) {\n  .finc-calculator .finc-header { padding: 20px 16px 14px; }\n  .finc-calculator .finc-toolbar { padding: 14px 16px; }\n  .finc-calculator .finc-workspace { padding: 16px; gap: 16px; }\n  .finc-calculator .finc-content-section { margin: 0 16px 16px; }\n  .finc-calculator .finc-chart-cluster { grid-template-columns: minmax(0, 1fr); gap: 16px; }\n  .finc-calculator .finc-legend-list { min-width: 0; max-width: 100%; justify-self: center; }\n  .finc-calculator .finc-chart-caption { margin-top: 16px; }\n  .finc-calculator .finc-education { padding: 20px 16px; }\n}\n@container (max-width: 479px) {\n  .finc-calculator .finc-segments { grid-template-columns: repeat(3, minmax(0, 1fr)); }\n  .finc-calculator .finc-form-grid,\n  .finc-calculator .finc-settings-grid,\n  .finc-calculator .finc-metric-grid { grid-template-columns: minmax(0, 1fr); }\n  .finc-calculator .finc-timing-options { grid-template-columns: minmax(0, 1fr); }\n  .finc-calculator .finc-button { flex: 1 1 auto; }\n  .finc-calculator .finc-download { flex-basis: 100%; }\n}\n@media (max-width: 899px) {\n  .finc-calculator .finc-workspace { grid-template-columns: minmax(0, 1fr); }\n}\n@media (prefers-reduced-motion: reduce) {\n  .finc-calculator * { scroll-behavior: auto !important; transition: none !important; }\n}\n\u003c\/style\u003e\n\u003cdiv class=\"finc-calculator\" data-calculator-root\u003e\n  \u003csection class=\"finc-header\"\u003e\n    \u003ch2 class=\"finc-title\"\u003eFinance Calculator\u003c\/h2\u003e\n    \u003cp class=\"finc-subtitle\"\u003eSolve any one of the five core time-value-of-money variables and inspect the cash-flow schedule, interest effect, and value path in real time.\u003c\/p\u003e\n    \u003cdiv class=\"finc-pills\" aria-label=\"Live calculation summary\"\u003e\n      \u003cspan class=\"finc-pill\" data-finc-pill=\"mode\"\u003eSolve for FV\u003c\/span\u003e\n      \u003cspan class=\"finc-pill finc-num\" data-finc-pill=\"rate\"\u003ePeriodic rate 6.00%\u003c\/span\u003e\n      \u003cspan class=\"finc-pill finc-num\" data-finc-pill=\"effective\"\u003eEffective annual 6.00%\u003c\/span\u003e\n      \u003cspan class=\"finc-pill finc-num\" data-finc-pill=\"periods\"\u003e10 periods\u003c\/span\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003cdiv class=\"finc-toolbar\" aria-label=\"Calculator actions\"\u003e\n    \u003cbutton class=\"finc-button finc-download\" type=\"button\" data-finc-action=\"download\"\u003e\n      \u003csvg class=\"finc-excel-icon\" viewbox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"\u003e\u003cpath fill=\"currentColor\" d=\"M5 2h9l5 5v15H5V2Zm9 1.8V8h4.2L14 3.8ZM8.1 10.2l2.2 3.3-2.4 3.6h2.2l1.3-2.2 1.3 2.2h2.2l-2.4-3.6 2.2-3.3h-2.1l-1.2 2-1.2-2H8.1Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\n      \u003cspan\u003eDownload Excel\u003c\/span\u003e\n    \u003c\/button\u003e\n    \u003cbutton class=\"finc-button finc-reset\" type=\"button\" data-finc-action=\"reset\"\u003eReset\u003c\/button\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"finc-workspace\"\u003e\n    \u003csection class=\"finc-panel finc-inputs-panel\"\u003e\n      \u003cdiv class=\"finc-panel-head\"\u003e\n        \u003ch3 class=\"finc-section-title\"\u003eInputs\u003c\/h3\u003e\n        \u003cp class=\"finc-section-copy\"\u003eChoose the unknown variable, then enter the other four values using standard cash-flow signs.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"finc-input-body\"\u003e\n        \u003cfieldset class=\"finc-solve-fieldset\"\u003e\n          \u003clegend class=\"finc-legend\"\u003eSolve for\u003c\/legend\u003e\n          \u003cdiv class=\"finc-segments\"\u003e\n            \u003cinput id=\"finc-mode-fv\" name=\"finc-mode\" type=\"radio\" value=\"fv\" checked\u003e\n            \u003clabel for=\"finc-mode-fv\"\u003eFV\u003c\/label\u003e\n            \u003cinput id=\"finc-mode-pmt\" name=\"finc-mode\" type=\"radio\" value=\"pmt\"\u003e\n            \u003clabel for=\"finc-mode-pmt\"\u003ePMT\u003c\/label\u003e\n            \u003cinput id=\"finc-mode-iy\" name=\"finc-mode\" type=\"radio\" value=\"iy\"\u003e\n            \u003clabel for=\"finc-mode-iy\"\u003eI\/Y\u003c\/label\u003e\n            \u003cinput id=\"finc-mode-n\" name=\"finc-mode\" type=\"radio\" value=\"n\"\u003e\n            \u003clabel for=\"finc-mode-n\"\u003eN\u003c\/label\u003e\n            \u003cinput id=\"finc-mode-pv\" name=\"finc-mode\" type=\"radio\" value=\"pv\"\u003e\n            \u003clabel for=\"finc-mode-pv\"\u003ePV\u003c\/label\u003e\n          \u003c\/div\u003e\n        \u003c\/fieldset\u003e\n\n        \u003cdiv class=\"finc-form-grid\"\u003e\n          \u003cdiv class=\"finc-field\"\u003e\n            \u003clabel for=\"finc-n\"\u003eN — number of payment periods\u003c\/label\u003e\n            \u003cinput class=\"finc-control finc-num\" id=\"finc-n\" data-finc-field=\"n\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"10\" aria-describedby=\"finc-n-help finc-n-error\"\u003e\n            \u003cp class=\"finc-helper\" id=\"finc-n-help\"\u003eEnter payment periods, not years. Ten annual payments means N = 10; ten years of monthly payments means N = 120.\u003c\/p\u003e\n            \u003cp class=\"finc-error\" id=\"finc-n-error\" data-finc-error=\"n\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"finc-field\"\u003e\n            \u003clabel for=\"finc-iy\"\u003eI\/Y — nominal interest per year\u003c\/label\u003e\n            \u003cinput class=\"finc-control finc-num\" id=\"finc-iy\" data-finc-field=\"iy\" data-finc-mask=\"percent\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"6.00%\" aria-describedby=\"finc-iy-help finc-iy-error\"\u003e\n            \u003cp class=\"finc-helper\" id=\"finc-iy-help\"\u003eAnnual nominal rate. P\/Y and C\/Y below convert it to the effective rate per payment period.\u003c\/p\u003e\n            \u003cp class=\"finc-error\" id=\"finc-iy-error\" data-finc-error=\"iy\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"finc-field\"\u003e\n            \u003clabel for=\"finc-pv\"\u003ePV — present value\u003c\/label\u003e\n            \u003cinput class=\"finc-control finc-num\" id=\"finc-pv\" data-finc-field=\"pv\" data-finc-mask=\"currency\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"$20,000.00\" aria-describedby=\"finc-pv-help finc-pv-error\"\u003e\n            \u003cp class=\"finc-helper\" id=\"finc-pv-help\"\u003eValue at period 0. Enter money received as positive and money paid out as negative.\u003c\/p\u003e\n            \u003cp class=\"finc-error\" id=\"finc-pv-error\" data-finc-error=\"pv\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"finc-field\"\u003e\n            \u003clabel for=\"finc-pmt\"\u003ePMT — periodic payment\u003c\/label\u003e\n            \u003cinput class=\"finc-control finc-num\" id=\"finc-pmt\" data-finc-field=\"pmt\" data-finc-mask=\"currency\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"-$2,000.00\" aria-describedby=\"finc-pmt-help finc-pmt-error\"\u003e\n            \u003cp class=\"finc-helper\" id=\"finc-pmt-help\"\u003eEqual payment every period. Withdrawals or repayments are usually negative; deposits or receipts are positive.\u003c\/p\u003e\n            \u003cp class=\"finc-error\" id=\"finc-pmt-error\" data-finc-error=\"pmt\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n          \u003cdiv class=\"finc-field\"\u003e\n            \u003clabel for=\"finc-fv\"\u003eFV — future value\u003c\/label\u003e\n            \u003cinput class=\"finc-control finc-num\" id=\"finc-fv\" data-finc-field=\"fv\" data-finc-mask=\"currency\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" value=\"\" readonly aria-describedby=\"finc-fv-help finc-fv-error\"\u003e\n            \u003cp class=\"finc-helper\" id=\"finc-fv-help\"\u003eClosing cash flow after N periods. Its sign is normally opposite the accumulated balance.\u003c\/p\u003e\n            \u003cp class=\"finc-error\" id=\"finc-fv-error\" data-finc-error=\"fv\"\u003e\u003c\/p\u003e\n          \u003c\/div\u003e\n        \u003c\/div\u003e\n\n        \u003cdetails class=\"finc-advanced\"\u003e\n          \u003csummary\u003eCompounding and payment settings\u003c\/summary\u003e\n          \u003cdiv class=\"finc-advanced-body\"\u003e\n            \u003cdiv class=\"finc-settings-grid\"\u003e\n              \u003cdiv class=\"finc-field\"\u003e\n                \u003clabel for=\"finc-py\"\u003eP\/Y — payments per year\u003c\/label\u003e\n                \u003cinput class=\"finc-control finc-num\" id=\"finc-py\" data-finc-field=\"py\" type=\"number\" inputmode=\"numeric\" min=\"1\" max=\"365\" step=\"1\" value=\"1\" aria-describedby=\"finc-py-help finc-py-error\"\u003e\n                \u003cp class=\"finc-helper\" id=\"finc-py-help\"\u003eUse 12 for monthly payments, 4 for quarterly, or 1 for annual payments.\u003c\/p\u003e\n                \u003cp class=\"finc-error\" id=\"finc-py-error\" data-finc-error=\"py\"\u003e\u003c\/p\u003e\n              \u003c\/div\u003e\n              \u003cdiv class=\"finc-field\"\u003e\n                \u003clabel for=\"finc-cy\"\u003eC\/Y — compounding periods per year\u003c\/label\u003e\n                \u003cinput class=\"finc-control finc-num\" id=\"finc-cy\" data-finc-field=\"cy\" type=\"number\" inputmode=\"numeric\" min=\"1\" max=\"365\" step=\"1\" value=\"1\" aria-describedby=\"finc-cy-help finc-cy-error\"\u003e\n                \u003cp class=\"finc-helper\" id=\"finc-cy-help\"\u003eThis may differ from payment frequency; monthly compounding uses C\/Y = 12.\u003c\/p\u003e\n                \u003cp class=\"finc-error\" id=\"finc-cy-error\" data-finc-error=\"cy\"\u003e\u003c\/p\u003e\n              \u003c\/div\u003e\n              \u003cfieldset class=\"finc-timing-fieldset\"\u003e\n                \u003clegend class=\"finc-legend\"\u003ePayment timing\u003c\/legend\u003e\n                \u003cdiv class=\"finc-timing-options\"\u003e\n                  \u003cdiv class=\"finc-radio-card\"\u003e\n                    \u003cinput id=\"finc-timing-end\" name=\"finc-timing\" type=\"radio\" value=\"end\" checked\u003e\n                    \u003clabel for=\"finc-timing-end\"\u003eEnd of each period\u003c\/label\u003e\n                  \u003c\/div\u003e\n                  \u003cdiv class=\"finc-radio-card\"\u003e\n                    \u003cinput id=\"finc-timing-begin\" name=\"finc-timing\" type=\"radio\" value=\"begin\"\u003e\n                    \u003clabel for=\"finc-timing-begin\"\u003eBeginning of each period\u003c\/label\u003e\n                  \u003c\/div\u003e\n                \u003c\/div\u003e\n              \u003c\/fieldset\u003e\n            \u003c\/div\u003e\n          \u003c\/div\u003e\n        \u003c\/details\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n\n    \u003csection class=\"finc-panel finc-results-panel\"\u003e\n      \u003cdiv class=\"finc-panel-head\"\u003e\n        \u003ch3 class=\"finc-section-title\"\u003eLive results\u003c\/h3\u003e\n        \u003cp class=\"finc-section-copy\"\u003eResults update as you type. The equation uses the selected payment and compounding frequencies.\u003c\/p\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"finc-results-body\"\u003e\n        \u003cdiv class=\"finc-primary-result\"\u003e\n          \u003cp class=\"finc-primary-label\" data-finc-primary-label\u003eFuture value (FV)\u003c\/p\u003e\n          \u003cp class=\"finc-primary-value finc-num\" data-finc-primary-value\u003e—\u003c\/p\u003e\n          \u003cp class=\"finc-primary-note\" data-finc-primary-note\u003eEnter four known variables to solve the fifth.\u003c\/p\u003e\n          \u003cp class=\"finc-live\" aria-live=\"polite\" data-finc-live\u003e\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"finc-metric-grid\"\u003e\n          \u003carticle class=\"finc-metric\"\u003e\n            \u003cp class=\"finc-metric-label\"\u003eSum of periodic payments\u003c\/p\u003e\n            \u003cp class=\"finc-metric-value finc-num\" data-finc-metric=\"payments\"\u003e—\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"finc-metric\"\u003e\n            \u003cp class=\"finc-metric-label\"\u003eNet interest effect\u003c\/p\u003e\n            \u003cp class=\"finc-metric-value finc-num\" data-finc-metric=\"interest\"\u003e—\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"finc-metric\"\u003e\n            \u003cp class=\"finc-metric-label\"\u003eEffective rate per payment period\u003c\/p\u003e\n            \u003cp class=\"finc-metric-value finc-num\" data-finc-metric=\"periodic-rate\"\u003e—\u003c\/p\u003e\n          \u003c\/article\u003e\n          \u003carticle class=\"finc-metric\"\u003e\n            \u003cp class=\"finc-metric-label\"\u003eEffective annual rate\u003c\/p\u003e\n            \u003cp class=\"finc-metric-value finc-num\" data-finc-metric=\"effective-rate\"\u003e—\u003c\/p\u003e\n          \u003c\/article\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"finc-equation\"\u003e\n          \u003cp class=\"finc-equation-title\"\u003eCash-flow identity\u003c\/p\u003e\n          \u003cp class=\"finc-equation-text finc-num\" data-finc-equation\u003ePV, PMT, interest, and FV will appear here after validation.\u003c\/p\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"finc-message\" data-finc-message hidden\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n    \u003c\/section\u003e\n  \u003c\/div\u003e\n\n  \u003csection class=\"finc-content-section finc-chart-section\" data-finc-chart-card\u003e\n    \u003cdiv class=\"finc-content-head\"\u003e\n      \u003ch3 class=\"finc-section-title\"\u003eValue changes over time\u003c\/h3\u003e\n      \u003cp class=\"finc-section-copy\" data-finc-chart-intro\u003eRunning balance, cumulative payments, and accumulated interest use the same model as the result and schedule.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"finc-content-body finc-chart-card\"\u003e\n      \u003cdiv class=\"finc-chart-cluster\"\u003e\n        \u003cdiv class=\"finc-chart-plot\" data-finc-chart-plot\u003e\n          \u003csvg class=\"finc-chart-svg\" data-finc-chart-svg role=\"img\" aria-labelledby=\"finc-chart-title finc-chart-desc\" viewbox=\"0 0 620 320\" preserveaspectratio=\"xMidYMid meet\"\u003e\n            \u003ctitle id=\"finc-chart-title\"\u003eTime value of money projection\u003c\/title\u003e\n            \u003cdesc id=\"finc-chart-desc\" data-finc-chart-desc\u003eChart awaiting valid inputs.\u003c\/desc\u003e\n          \u003c\/svg\u003e\n          \u003cdiv class=\"finc-chart-empty\" data-finc-chart-empty hidden\u003eEnter values above to see the projection.\u003c\/div\u003e\n        \u003c\/div\u003e\n        \u003cdiv class=\"finc-legend-list\" data-finc-legend aria-label=\"Chart legend\"\u003e\u003c\/div\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"finc-chart-summary-wrap\"\u003e\n        \u003ctable class=\"finc-chart-summary\"\u003e\n          \u003cthead\u003e\u003ctr\u003e\n\u003cth scope=\"col\"\u003eSeries\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eStart\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eMidpoint\u003c\/th\u003e\n\u003cth scope=\"col\"\u003eEnd\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n          \u003ctbody data-finc-chart-summary\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"finc-chart-caption\" data-finc-chart-caption\u003eThe chart will explain the modeled value path after valid inputs are entered.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"finc-content-section finc-table-section\" data-finc-table-card\u003e\n    \u003cdiv class=\"finc-content-head\"\u003e\n      \u003ch3 class=\"finc-section-title\"\u003ePeriod schedule\u003c\/h3\u003e\n      \u003cp class=\"finc-section-copy\"\u003eEach row reconciles the opening balance, payment, interest, closing balance, and equivalent future cash flow.\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"finc-content-body\"\u003e\n      \u003cdiv class=\"finc-table-controls\" aria-label=\"Schedule display controls\"\u003e\n        \u003cspan class=\"finc-table-control-label\"\u003eRows:\u003c\/span\u003e\n        \u003cbutton class=\"finc-table-toggle\" type=\"button\" data-finc-table-mode=\"all\" aria-pressed=\"true\"\u003eAll periods\u003c\/button\u003e\n        \u003cbutton class=\"finc-table-toggle\" type=\"button\" data-finc-table-mode=\"summary\" aria-pressed=\"false\"\u003eKey periods\u003c\/button\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"finc-table-wrap\" data-finc-table-wrap\u003e\n        \u003ctable class=\"finc-table\"\u003e\n          \u003cthead\u003e\n            \u003ctr\u003e\n              \u003cth scope=\"col\"\u003ePeriod\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eOpening balance\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003ePayment\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eInterest\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eClosing balance\u003c\/th\u003e\n              \u003cth scope=\"col\"\u003eEquivalent FV\u003c\/th\u003e\n            \u003c\/tr\u003e\n          \u003c\/thead\u003e\n          \u003ctbody data-finc-schedule\u003e\u003c\/tbody\u003e\n        \u003c\/table\u003e\n      \u003c\/div\u003e\n      \u003cdiv class=\"finc-table-note\" data-finc-table-note\u003eThe equivalent FV column applies the cash-flow sign convention: a positive accumulated balance is represented by a negative closing cash flow.\u003c\/div\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\n  \u003csection class=\"finc-education\"\u003e\n    \u003cdiv class=\"finc-education-inner\"\u003e\n      \u003ch2\u003eHow to use the finance calculator\u003c\/h2\u003e\n      \u003cp\u003eThis calculator solves the standard five-key time-value-of-money relationship: present value (PV), future value (FV), periodic payment (PMT), nominal annual interest rate (I\/Y), and number of payment periods (N). Select the variable you want to find, then supply the other four. The result updates immediately, while the chart and schedule show how the same assumptions evolve period by period.\u003c\/p\u003e\n\n      \u003ch3\u003eCash-flow signs are essential\u003c\/h3\u003e\n      \u003cp\u003eFinancial calculators use a cash-flow sign convention rather than treating every amount as positive. Money received is positive and money paid out is negative. For an investment, an initial deposit may be negative and a later withdrawal positive. For a loan, loan proceeds may be positive while repayments are negative. At least one cash flow normally needs the opposite sign from the others; otherwise the requested solution may not exist. The calculated FV is usually the opposite sign of the accumulated balance because it represents the final cash flow needed to close the position.\u003c\/p\u003e\n\n      \u003ch3\u003eWhat each input means\u003c\/h3\u003e\n      \u003cul\u003e\n        \u003cli\u003e\n\u003cstrong\u003eN — number of payment periods:\u003c\/strong\u003e Enter the total number of payment intervals, not automatically the number of years. Monthly payments for 10 years use N = 120. A higher N generally gives interest more time to compound and adds more periodic payments. N is required unless it is the selected unknown. Values must be positive and are limited to 1,200 periods for a readable schedule.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eI\/Y — nominal interest per year:\u003c\/strong\u003e Enter the quoted annual rate as a percentage. The calculator converts I\/Y into an effective rate per payment period using P\/Y and C\/Y. A higher positive rate magnifies the effect of earlier cash flows; a negative rate reduces value over time. I\/Y is required unless you are solving for it.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003ePV — present value:\u003c\/strong\u003e This is the cash flow at time zero. It can represent a loan amount received, an investment made, or the current value of a future stream. PV is optional only when selected a\ns the unknown. A larger positive PV normally increases the accumulated balance and produces a more negative closing FV under the standard sign convention.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003ePMT — periodic payment:\u003c\/strong\u003e This is an equal cash flow made once per payment period. Use a negative number for regular deposits into an account viewed as money leaving you, or for loan repayments; use a positive number for receipts. Setting PMT to zero reduces the model to a single present-value and future-value calculation.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eFV — future value:\u003c\/strong\u003e This is the closing cash flow at the end of N periods. It may be a target balance, balloon payment, residual value, or final withdrawal. FV is required unless selected as the unknown. A target FV with the same sign as PV and PMT can make the equation unsolvable because all cash flows point in one direction.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eP\/Y — payments per year:\u003c\/strong\u003e Use 12 for monthly, 4 for quarterly, 2 for semiannual, or 1 for annual payments. P\/Y determines how the annual nominal rate is converted into the rate applied between payments. Changing P\/Y without changing N changes the modeled calendar duration.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003eC\/Y — compounding periods per year:\u003c\/strong\u003e This controls how often interest compounds. For example, a loan may compound monthly even if payments occur quarterly. When C\/Y differs from P\/Y, the calculator first derives an effective rate for one payment period.\u003c\/li\u003e\n        \u003cli\u003e\n\u003cstrong\u003ePayment timing:\u003c\/strong\u003e End-of-period payments form an ordinary annuity. Beginning-of-period payments form an annuity due, giving each payment one additional compounding interval. Beginning payments therefore have a larger absolute future effect when rates are positive.\u003c\/li\u003e\n      \u003c\/ul\u003e\n\n      \u003ch3\u003eHow to interpret the results\u003c\/h3\u003e\n      \u003cp\u003eThe \u003cstrong\u003eprimary result\u003c\/strong\u003e is the selected unknown. A zero result means the other cash flows already offset one another under the modeled rate and timing. A negative amount is not automatically unfavorable; it indicates direction under the sign convention. The \u003cstrong\u003esum of periodic payments\u003c\/strong\u003e is PMT multiplied by N. The \u003cstrong\u003enet interest effect\u003c\/strong\u003e is the difference required to reconcile PV, total payments, and FV. It can be positive or negative depending on the balance direction and rate.\u003c\/p\u003e\n      \u003cp\u003eThe \u003cstrong\u003eeffective rate per payment period\u003c\/strong\u003e is the rate actually used in each schedule step. The \u003cstrong\u003eeffective annual rate\u003c\/strong\u003e shows the one-year growth implied by the nominal rate and compounding frequency. These may differ from I\/Y, especially when compounding occurs more than once per year. The cash-flow identity underneath the cards provides a compact reconciliation so you can see whether signs and amounts behave as expected.\u003c\/p\u003e\n\n      \u003ch3\u003eReading the chart and schedule\u003c\/h3\u003e\n      \u003cp\u003eThe chart compares the running account balance, cumulative periodic payments, and accumulated interest. The exact start, midpoint, and end values appear in the chart data table, so the visual is never the only source of information. The schedule provides every modeled period by default. Opening balance plus payment and interest equals closing balance. The equivalent FV is the closing balance with the opposite sign, matching the final-cash-flow convention used by five-key financial calculators.\u003c\/p\u003e\n      \u003cp\u003eWhen N is not a whole number, the last row is a fractional projection point. The model applies the same compound-value equation at that exact time rather than pretending there is an additional full payment period. For very long schedules, use the “Key periods” view to inspect representative rows while the Excel export retains the complete current schedule.\u003c\/p\u003e\n\n      \u003ch3\u003eFormula approach and practical checks\u003c\/h3\u003e\n      \u003cp\u003eAt the core, the calculator grows PV by the effective periodic rate and adds the future value of the payment stream. End-of-period payments use the ordinary-annuity factor. Beginning-of-period payments multiply that factor by one additional period of growth. Solving for PV, PMT, or FV is algebraic; solving for N uses logarithms where valid; solving for I\/Y uses a bounded numerical root search because the rate appears in both the compound factor and annuity factor.\u003c\/p\u003e\n      \u003cp\u003eUseful validation includes testing PMT = 0, I\/Y = 0, and switching payment timing. At a zero rate, FV equals the negative of PV plus all payments. With positive rates, earlier positive balances generate more interest. Common mistakes include entering years instead of payment periods, mixing monthly PMT with annual N, forgetting to change P\/Y, or giving every cash flow the same sign.\u003c\/p\u003e\n\n      \u003ch3\u003eFurther learning\u003c\/h3\u003e\n      \u003cp\u003eFor neutral educational material, review the \u003ca href=\"https:\/\/www.investor.gov\/financial-tools-calculators\/calculators\/compound-interest-calculator\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eU.S. SEC compound interest resources\u003c\/a\u003e, the \u003ca href=\"https:\/\/www.federalreserveeducation.org\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eFederal Reserve education portal\u003c\/a\u003e, the \u003ca href=\"https:\/\/www.consumerfinance.gov\/consumer-tools\/\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eConsumer Financial Protection Bureau tools\u003c\/a\u003e, and \u003ca href=\"https:\/\/www.investopedia.com\/terms\/t\/timevalueofmoney.asp\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eInvestopedia’s time value of money overview\u003c\/a\u003e. This calculator is an educational modeling tool and does not provide individualized investment, lending, tax, or legal advice.\u003c\/p\u003e\n    \u003c\/div\u003e\n  \u003c\/section\u003e\n\u003c\/div\u003e","brand":"FinancialModelsLab","offers":[{"title":"Default Title","offer_id":49909481079027,"sku":"finance-calculator","price":0.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6191\/2762\/files\/finance-calculator.webp?v=1783935387","url":"https:\/\/financialmodelslab.com\/products\/finance-calculator","provider":"Financial Models Lab","version":"1.0","type":"link"}