Mortgage calculator with amortization schedule
Work out the monthly payment, total interest and a month-by-month amortization schedule from the loan amount, rate and term. Compare level payment and level principal, and see what extra payments save.
Loan
Only changes the cost labels and the default currency and term. No rates or taxes are filled in.
Changes symbols and rounding (minor unit) only. No exchange rates are applied.
Level payment: the same payment every month. Level principal: the same principal every month, so payments start higher and decrease.
Extra repayments (optional)
Other costs (optional, can be left empty)
Added on top of principal and interest: monthly costs and a one-time upfront fee.
- Monthly payment (principal + interest)
- Total interest
- Total repaid (principal + interest + extra)
- Time to pay off
- Monthly outflow incl. costs (first month)
- Total outflow incl. costs and upfront fee
Principal Interest
Effect of extra repayments
| Without extra | With extra | |
|---|---|---|
| Total interest | ||
| Time to pay off | ||
| Total repaid |
| No. | Payment | Principal | Interest | Extra | Balance |
|---|
How to use
- Enter the loan amount, the annual interest rate and the term in years (plus months), and pick a repayment method.
- The monthly payment, total interest, total repaid, payoff time and the full monthly schedule appear right away.
- For extra payments, enter a one-time amount (after which payment) and/or a recurring amount (every month or every year), then choose "Shorten the term" or "Reduce the payment". A comparison with no extra payments is shown.
- Optionally add monthly property tax, insurance and other fees, plus a one-time upfront fee, to see your total outflow. These fields can stay empty.
- Use "Download CSV" to open the schedule in a spreadsheet.
Notes and limits
- The rate is treated as fixed for the whole term. Adjustable-rate resets, interest-only periods, graduated payments, balloon payments and tax deductions are not modeled.
- Results may differ from your lender's figures because of rounding, day-count conventions and fees. Ask your lender for official numbers.
- The example country only changes cost labels and the default currency and term. No rates, taxes or exchange rates are fetched.
- Terms up to 50 years (600 payments) and rates from 0 to 100% are supported.
How it works
Monthly rate = annual rate ÷ 12. One payment is made at the end of each month.
All amounts are kept as whole minor units of the selected currency (cents for USD, yen for JPY). Each month, interest = balance × monthly rate, rounded half up to the minor unit.
Level payment = loan × r ÷ (1 − (1 + r)^−n), rounded half up to the minor unit; at 0% it is loan ÷ n. Level principal pays loan ÷ n of principal (rounded half up) plus that month's interest.
The last payment is adjusted so the final balance is exactly 0, absorbing any rounding differences.
Extra payments are applied to principal right after that month's scheduled payment, never more than the remaining balance. "Shorten the term" keeps the scheduled payment (or principal part) and ends the loan sooner; "Reduce the payment" keeps the end date and recalculates the payment from the new balance over the remaining months.
Monthly costs are counted for every month until payoff; the upfront fee is added once. Prepayment penalties are not included.
FAQ
Is it 1,798.65 for 300,000 at 6% over 30 years?
Yes. With level payments, a 300,000 loan at 6% for 30 years has a monthly principal-and-interest payment of 1,798.65. The last payment is adjusted slightly so the balance ends at exactly 0.
Should I shorten the term or reduce the payment?
Shortening the term usually saves more interest. Reducing the payment keeps the same end date and lowers what you pay each month. The comparison table shows both results for your numbers.
Does the monthly payment include taxes and insurance?
The main figure is principal and interest only. When you enter property tax, insurance or other fees, the monthly and total outflow including those costs are shown separately.
Is what I enter saved or sent anywhere?
No. The calculation runs in your browser and nothing is stored or sent.
Related tools
Last updated: