Monthly Payment
$ {{ format(monthlyPayment) }}
$ {{ format(totalPrincipal) }} Principal $ {{ format(totalInterest) }} Interest {{ ((totalPrincipal/totalPaid)*100).toFixed(0) }} % P / {{ ((totalInterest/totalPaid)*100).toFixed(0) }} % I
$
% / yr
yrs mos
$
$
$ at month
Items: 1 · Valid: {{ validInputs ? 'Yes' : 'No' }} · Payoff in {{ payoffMonths }} month(s)
Metric Value Copy
Monthly payment ($) {{ format(monthlyPayment) }}
Total principal ($) {{ format(totalPrincipal) }}
Total interest ($) {{ format(totalInterest) }}
Total paid ($) {{ format(totalPaid) }}
Months to payoff {{ payoffMonths }}
Month Payment ($) Principal ($) Interest ($) Balance ($) Copy
{{ r.period }} {{ format(r.payment) }} {{ format(r.principal) }} {{ format(r.interest) }} {{ format(r.balance) }}

                
:

Introduction:

Personal loans are fixed term borrowing repaid in equal monthly installments that combine interest with principal as the balance declines. A personal loan amortization calculator shows how the payment is determined and how long it takes to finish.

Provide a loan amount, a yearly percentage rate, and a term in years and months, then read the monthly payment and months to payoff. Add optional prepayments to see how extra amounts reduce total interest and shorten the schedule.

For example, a borrower might compare plans for a renovation and check how a small extra payment each month trims interest and knocks several months off the end date. Use consistent inputs so results are comparable across scenarios.

Rounding to cents makes the final installment adjust slightly so the balance reaches zero. Enter realistic numbers and avoid mixing different unit conventions to keep results sensible.

Technical Details:

The quantities measured are principal, rate, time, and cash flows for a level‑payment installment loan. The yearly percentage rate is transformed into a monthly rate so a constant base payment is computed, then each period’s payment is split into interest and principal as the balance declines.

The computation first finds a base payment that would amortize the principal over the chosen number of months. Optional prepayments are applied on top of that base as a fixed extra each month, a once‑per‑year addition at months 12, 24, and so on, and a one‑time lump sum at a chosen month. The last payment is reduced if needed so the remaining balance reaches zero.

Results are interpreted as follows: the “Monthly payment” value reflects the constant base payment plus any recurring monthly extra; annual and lump‑sum prepayments do not change that headline figure but do shorten the payoff time and reduce total interest. “Months to payoff” equals the number of scheduled periods generated.

Comparability assumes a fixed rate with monthly compounding and constant timing of payments. Because cents rounding is applied, small differences can appear when comparing scenarios with many prepayments or long durations.

r = APR12 Mbase = if r = 0 , Pn ; otherwise , Pr 1 (1+r) n M = Mbase + xM
Symbols and units
Symbol Meaning Unit/Datatype Source
PPrincipal (loan amount)$Input
APRAnnual percentage rate% per yearInput
rMonthly ratefraction per monthDerived
nNumber of monthsmonthsDerived
MbaseBase level payment without prepayments$Computed
xMExtra monthly prepayment$Input
xAExtra annual prepayment (months 12, 24, …)$Input
LOne‑time lump sum$Input
mLMonth index of lump summonth ≥ 1Input
BtBalance after month t$Computed
ItInterest in month t$Computed
Worked example. P = $15,000; APR = 7; n = 36; xM = 0; xA = 0; L = 0. Monthly rate r = 0.07 / 12. Base payment Mbase ≈ $463.16. Total paid ≈ $16,673.76 and total interest ≈ $1,673.76, with payoff in 36 months. A $25 extra each month would shorten the schedule and reduce interest further.
  1. Compute r from APR and n from years and months.
  2. Compute Mbase using the zero‑rate or amortization formula.
  3. Add xM to get the displayed monthly payment M.
  4. For each month, apply interest It = Bt‑1·r and allocate the remainder to principal.
  5. Apply xA at months 12, 24, … and L at month mL, if provided.
  6. Stop when balance < $0.01 or when 6,000 months have been created; reduce the final payment if needed.
Variables and parameters
Parameter Meaning Unit/Datatype Typical Range Sensitivity Notes
Loan amountBorrowed principal$1,000–100,000HighMust be > 0 to compute.
Interest rateAPR as a percent (not decimal)% per year0–40High7 means 7% yearly.
TermYears plus extra monthsyears, months1–10 yearsHighMonths use 0 to 11.
PrepaymentsMonthly, annual, lump sum$0–10% of PMediumShorten payoff and cut interest.

Units, precision & rounding

Displayed amounts use two decimals with the locale’s decimal separator. Per‑row payment, interest, and principal are rounded to cents; the final balance is shown as $0 when the residual is below one cent. The headline monthly payment rounds to two decimals and includes only the recurring monthly extra.

Validation & bounds extracted from code

Input validation and limits
Field Type Min Max Step/Pattern Error Text Placeholder
Loan amountnumber0
Interest rate (%/yr)number00.01
Term yearsnumber0
Term monthsnumber011
Extra monthlynumber0
Extra annualnumber0
Lump sumnumber0
Lump sum monthnumber1

I/O formats

Inputs and outputs
Input Accepted Families Output Encoding/Precision Rounding
Numbersprincipal, APR, years, months, prepaymentsMetrics and scheduleTwo decimals for moneyPer row to cents; final adjust
Copy/DownloadCSV, JSONLoan metrics, amortization rowsUTF‑8 textValues as shown

Networking & storage behavior

All calculations run in the UI layer. Copy actions use the clipboard, and CSV/JSON files are generated locally; no network requests are required.

Performance & complexity

Schedule generation runs once per period (O(n)) and stops early when the balance falls below one cent or after 6,000 months, whichever comes first. Charting reuses precomputed arrays.

Diagnostics & determinism

Identical inputs yield identical outputs. Minor differences can appear when large prepayments trigger an earlier final period due to cents rounding.

Security considerations

No secrets or credentials are involved. Inputs are numeric and constrained; downloads contain only the values you entered and the computed results.

Privacy & compliance

Processing is client‑only and data is not sent to a server. Outputs are educational and not financial advice.

Assumptions & limitations

  • Fixed rate and monthly compounding are assumed.
  • Payments occur at regular monthly intervals.
  • Displayed monthly payment includes only the recurring monthly extra.
  • Annual extras apply at months 12, 24, 36, and so on.
  • Lump sum applies once at the selected month index.
  • Years and months are floored to integers before use.
  • Negative values are clamped to zero; rate cannot be negative.
  • Heads‑up The final installment may be smaller due to cents rounding.
  • A hard cap of 6,000 months prevents runaway calculations.
  • Interpretation assumes no fees, taxes, or payment skips.

Edge cases & error sources

  • Zero APR uses straight division of principal by months.
  • Very long terms can hit the 6,000‑month limit with tiny rates.
  • Principal ≤ 0 or total months ≤ 0 prevents calculation.
  • Entering NaN or Infinity yields invalid inputs and no results.
  • Locale decimal symbols affect how numbers are displayed.
  • Rounding to cents can slightly change cumulative totals vs. unrounded math.
  • Lump sum month < 1 is rejected by bounds.
  • Term months > 11 are out of range and ignored.
  • Extremely large numbers can reduce legibility of charts or tables.
  • Clipboard permissions can block copy actions.

Step‑by‑Step Guide:

Personal loan payments and payoff time are estimated from your principal, rate, and term, with optional prepayments applied.

  1. Enter Loan amount as dollars.
  2. Enter Interest rate as a yearly percent, not a decimal.
  3. Set Term using years and 0 to 11 extra months.
  4. Optionally add Extra monthly, Extra annual, or a Lump sum and its month.
  5. Review the monthly payment, total interest, and months to payoff; inspect the amortization schedule if needed.

Example: $15,000 at 7 for 3 years produces about $463.16 per month and 36 months to payoff without prepayments.

  • Pro tip: test one change at a time so you can see which input matters most.

You now have a clear payment and a plan to finish on time or sooner.

FAQ:

Is my data stored?

No. Calculations happen in the UI and downloads are created locally. Nothing is sent to a server.

Clipboard and file permissions are handled by your device.
How accurate is the result?

Payments and per‑row amounts round to cents. The last installment adjusts so the remaining balance reaches zero to within one cent.

Rounding can cause tiny differences between scenarios with many prepayments.
What units should I use?

Enter dollars for amounts, a yearly percentage for the rate, and years plus 0 to 11 extra months for the term.

Does it work offline?

Yes. No network requests are required for calculation, copying, or saving files.

What does “borderline” mean near payoff?

If the last row shows a very small payment, rounding has pulled the payoff forward by one period. That is normal and expected.

How do I calculate monthly payments for a loan?

Use the amortization formula with a monthly rate from APR and the number of months, then add any recurring monthly extra you plan to pay.

What about cost or licensing?

No licensing terms are provided in the package. Treat outputs as informational for planning purposes.

Troubleshooting:

  • Monthly payment is zero — check that amount and total months are greater than zero.
  • Negative rate — rates below zero are not allowed; use 0 for no interest.
  • Months show out of range — months must be 0 to 11.
  • Lump sum month invalid — set it to 1 or greater.
  • Copy fails — allow clipboard access or use the download option instead.
  • Charts do not appear — resize the window once or switch tabs to trigger redraw.

Advanced Tips:

Tip Test the effect of a small monthly extra versus a single lump sum to see which suits your cash flow.

Tip Keep term months within 0 to 11 so years and months are unambiguous.

Tip Round your planned payments to whole dollars to make budgeting simpler.

Tip Use the schedule to spot when interest falls below principal each month.

Tip Try an annual prepayment timed near month 12 to see its impact.

Tip Save a JSON snapshot to compare scenarios over time.

Glossary:

Principal
The amount borrowed before interest.
APR
Annual percentage rate stated as a percent per year.
Monthly rate
APR divided by 12 for monthly calculations.
Term
Total repayment period expressed in years and months.
Amortization
Paying off debt through scheduled installments.
Prepayment
Extra money applied to reduce the balance faster.
Lump sum
A one‑time extra payment at a chosen month.
Payoff
The month when the balance reaches zero.