Back to Finance Tools

Loan Amortization Schedule Calculator

Generate a full loan amortization schedule with equal-payment or equal-principal methods, prepayment modeling, and CSV/JSON/Markdown export. Runs entirely in your browser.

Principal
USD
Annual rate (%)
%
Term
years
Common terms
First payment date
yyyy-mm-dd
Payment frequency
Repayment method
Currency
Prepayment (optional)
Type
Total interest
Total interest$0.00
Total paid$0.00
First payment$0.00
Last payment$0.00
Balance and cumulative payments
Enter valid inputs to render the chart.
Payment schedule

Set the inputs above to generate a schedule.

Export
Formulas and assumptions

About this loan amortization calculator

Generate a complete payment schedule for any fixed-rate loan in your browser. Choose between equal monthly payment (level payment, like a standard mortgage) and equal principal (declining payment) methods, model one-time or recurring prepayments under either keep-payment-shorten-term or keep-term-lower-payment strategies, and export the schedule as CSV, JSON, or Markdown.

Repayment methods

Equal monthly payment uses the standard amortization formula PMT = P · r · (1+r)^n / ((1+r)^n − 1). Equal principal divides the principal evenly across periods and adds the interest accrued on the outstanding balance, producing a payment that decreases each period.

Prepayment strategies

Shorten term keeps the original payment and applies extra principal directly to the balance, ending the loan early. Reduce payment recomputes the remaining payment using the new (lower) balance and the original term, leaving the end date unchanged.

Precision

All money is accumulated in integer minor units (cents) so 360-period schedules round-trip to exactly the original principal at the last row.

FAQ

Is my data uploaded?
No. The schedule is generated entirely in your browser.
Why do my totals not match the bank's?
Banks often round each payment up to the nearest cent and absorb the difference in the final payment. We follow the same rule, but day-count conventions (30/360 vs actual/actual) can still differ — pick the method your lender uses.
Does it support biweekly payments correctly?
Yes. We use a periodic rate of annualRate / 26 (biweekly) or / 52 (weekly) and advance the date by 14 or 7 calendar days between rows.
Can I share my exact scenario?
Yes — every input updates the URL, so copying the address bar shares the same view.

Related Tools