Loan desk

Loan Amortization Calculator

View a bounded month-by-month principal, interest, payment, and balance schedule.

Loan Amortization Calculator: Inspect how a fixed monthly payment is divided between interest and principal as a loan balance declines. The schedule follows each payment internally and shows the first twelve months plus the final row for longer terms. It also totals interest and repayments, making the balance reduction easier to compare with the original amount borrowed. Runs 100% locally in your browser with zero server file uploads.

Category
Calculators
Runs
In your browser
Cost
Free · no sign-up
Availability
Ready to use
TOEA / LOAN ENGINE 01Browser only
INPUT SHEET / 01

Loan assumptions

Values stay on this device. Review the assumptions before using an estimate.

RESULT SHEET / 02

Monthly principal and interest payment

$4,891.54

Total interest
$43,492.22
Total of scheduled payments
$293,492.22
Number of payments
60 months
Working formulaEvery month: interest = opening balance × annual rate ÷ 12; principal = payment − interest.
SCHEDULE / BOUNDED VIEW

Principal, interest, and balance

Showing the first 12 payments and the final displayed payment. The engine uses the full bounded schedule.

MonthPaymentPrincipalInterestBalance
1$4,891.54$3,537.37$1,354.17$246,462.63
2$4,891.54$3,556.53$1,335.01$242,906.10
3$4,891.54$3,575.80$1,315.74$239,330.30
4$4,891.54$3,595.16$1,296.37$235,735.14
5$4,891.54$3,614.64$1,276.90$232,120.50
6$4,891.54$3,634.22$1,257.32$228,486.28
7$4,891.54$3,653.90$1,237.63$224,832.38
8$4,891.54$3,673.70$1,217.84$221,158.68
9$4,891.54$3,693.59$1,197.94$217,465.09
10$4,891.54$3,713.60$1,177.94$213,751.49
11$4,891.54$3,733.72$1,157.82$210,017.77
12$4,891.54$3,753.94$1,137.60$206,263.83
60$4,891.54$4,865.18$26.35$0.00
ASSUMPTIONS / READ BEFORE USING
  1. The schedule is a fixed-rate estimate; displayed rows are bounded for readability while the engine retains the typed schedule.
  2. This is an educational estimate for a fixed-rate loan with monthly compounding and monthly payments.
  3. Taxes, insurance, mortgage insurance, HOA dues, origination charges, and other costs are not included unless an input says otherwise.
  4. Actual lender terms, APR, fees, rounding, payment dates, prepayment rules, and contracts can differ. This is not a credit offer or financial advice.

Formula and worked example

Every month: interest = opening balance × annual rate ÷ 12; principal = payment − interest.

A worked example with sample values:

Inputs
Loan amount$250,000.00
Annual interest rate6.5%
Term5 years
Results
Monthly principal and interest payment$4,891.54
Total interest$43,492.22
Total of scheduled payments$293,492.22
Number of payments60 months

Building the first two schedule rows

Let P be starting balance, i monthly rate and n months. Fixed payment M = P × i ÷ (1 − (1 + i)^−n), with M = P ÷ n at zero interest. For each row, interest J = opening balance × i; principal K = min(opening balance, M − J); closing balance = opening balance − K. The next row starts from that closing balance.

For an illustrative $2,400 loan at 12% over 1 year, i = 0.01 and n = 12. M = 2,400 × 0.01 ÷ (1 − 1.01^−12) = $213.237093. Row one shows $213.24 paid, $24.00 interest, $189.24 principal and $2,210.76 balance. Row two uses the unrounded closing balance: interest is $22.11, principal $191.13 and balance $2,019.63. Total interest is $158.85 and repayments total $2,558.85.

Recognising other repayment structures

OpenStax's loan-amortisation chapter (https://openstax.org/books/principles-finance-2e/pages/8-3-loan-amortization) explains a schedule that retires principal. An interest-only row would pay only balance × monthly rate and leave principal unchanged; that is a different schedule from the one this tool produces.

A payment below accrued interest can increase debt, which CFPB calls negative amortisation (https://www.consumerfinance.gov/ask-cfpb/what-is-negative-amortization-en-103/). This calculator does not model that structure. Use extra payments to accelerate a fully amortising schedule or balloon loan to calculate an unpaid balance due at an earlier maturity.

How to use it

  1. Enter the amounts, rate and duration shown in the worked example or your own scenario.
  2. Calculate to update the result and review the assumptions.
  3. Compare the formula and example before using the result for planning.

Privacy & limitations

Inputs and calculations stay in your browser. No values are uploaded.

Related tools

Frequently asked questions

Why does the interest column decline through an amortisation schedule?

Monthly interest is calculated on the opening balance, which falls after principal is repaid. With a fixed payment and a positive unchanged rate, less interest leaves more of the next payment for principal. Interest is not computed on the original balance every month.

Why do the displayed rows skip from month twelve to the final month?

For a longer term the page shows the first twelve rows and the last row to keep the table readable. The totals include all calculated months, including the omitted middle rows. The final displayed balance is after that month's payment, not before it.

Will summing rounded schedule cells always reproduce the totals exactly?

Not necessarily. The calculation keeps precision between months, while currency cells are rounded for display. Adding displayed cents can differ slightly from a total rounded only once. Contractual rounding, daily accrual or a different payment date can also produce a different lender schedule.

Embed this tool

Free to use on any website. Paste the code where the tool should appear; the link under it lets readers open the full page.

<iframe src="https://toea.com/embed/loan-amortization-calculator" title="Loan Amortization Calculator" width="100%" height="970" style="border:0;max-width:680px" loading="lazy"></iframe>
<p style="margin:4px 0 16px;font-size:13px"><a href="https://toea.com/loan-amortization-calculator">Loan Amortization Calculator</a> &middot; TOEA</p>
<script>addEventListener("message",function(e){if(e.origin!=="https://toea.com"||!e.data||e.data.type!=="toea-embed-height")return;document.querySelectorAll("iframe").forEach(function(f){if(f.contentWindow===e.source)f.style.height=e.data.height+"px"})})</script>

Free tool · runs in your browser · no account required