HomeFinance › Amortization Schedule Calculator

Amortization Schedule Calculator

Builds the amortization schedule of a fixed-rate loan: the level monthly payment, a year-by-year summary of principal, interest and balance, the first 12 monthly rows, and the interest and time saved by a fixed extra monthly payment.

When to use

You need to see how each payment splits into principal and interest over the life of a mortgage or loan, the balance at the end of each year, or the effect of paying extra every month.

Do not use when: You only need the payment amount (use loan-payment or mortgage-payment), or you know the payment and want the payoff time of a revolving balance (use debt-payoff).

Formula

i = annual_rate_percent / 1200; n = 12·term_years + term_months; monthly_payment = principal × i / (1 − (1 + i)^−n) (principal / n if i = 0). Each month: interest = balance × i; principal_paid = monthly_payment + extra_monthly_payment − interest (capped at the balance); balance −= principal_paid, until the balance is 0.

Standard monthly amortization with end-of-month payments and the extra amount applied to principal from the first month; the final payment is reduced to what remains. Lenders round payments to cents, so real schedules can differ by a few cents.

Inputs

ParameterTypeUnitRequiredDescription
principalnumberyesAmount borrowed. Range: > 0, ≤ 1000000000000
annual_rate_percentnumber%yesFixed nominal annual rate in percent; the monthly rate is this / 12. Range: ≥ 0, ≤ 100
term_yearsnumberyearsnoLoan term in years; added to term_months when both are given. Total term is limited to 40 years. Range: ≥ 0, ≤ 40
term_monthsintegermonthsdefault 0Additional months of term (e.g. term_months=60 alone for a five-year loan). Range: ≥ 0, ≤ 480
extra_monthly_paymentnumberdefault 0Optional fixed amount paid on top of the scheduled payment every month, applied to principal. Range: ≥ 0, ≤ 1000000000000
start_datedatenoOptional loan origination date (YYYY-MM-DD); the first payment is due one month later and payoff_date is reported.

Outputs

OutputTypeUnitDescription
monthly_paymentnumberLevel payment from the annuity formula (before any extra payment).
number_of_paymentsinteger12 × term_years + term_months.
payoff_monthsintegermonthsActual number of payments including the extra payment (equals number_of_payments without one).
payoff_timestringpayoff_months in years and months.
payoff_datedatestart_date plus payoff_months (only when start_date is given).
total_interestnumberInterest paid over the actual schedule (with extra payments).
total_paidnumberprincipal + total_interest.
scheduled_total_interestnumbermonthly_payment × number_of_payments − principal.
interest_savednumberscheduled_total_interest − total_interest.
months_savedintegermonthsnumber_of_payments − payoff_months.
first_month_interestnumberprincipal × annual_rate_percent / 1200.
first_month_principalnumbermonthly_payment + extra_monthly_payment − first_month_interest.
yearly_summarylistOne row per loan year: year, principal_paid, interest_paid, ending_balance (at most 40 rows).
first_12_monthslistRows for months 1–12: month, payment, principal, interest, balance.

Example

200,000 at 6 % for 30 years: {"principal":200000,"annual_rate_percent":6,"term_years":30}{"monthly_payment":1199.1,"number_of_payments":360,"payoff_months":360,"payoff_time":"30 years","total_interest":231676.38,"total_paid":431676.38,"scheduled_total_interest":231676.38,"interest_saved":0,"months_saved":0,"first_month_interest":1000,"first_month_principal":199.1}

300,000 at 5 % for 15 years with 300 extra per month from 2026-01-01: {"principal":300000,"annual_rate_percent":5,"term_years":15,"extra_monthly_payment":300,"start_date":"2026-01-01"}{"monthly_payment":2372.38,"number_of_payments":180,"payoff_months":152,"payoff_time":"12 years 8 months","payoff_date":"2038-09-01","total_interest":105316.26,"scheduled_total_interest":127028.56,"interest_saved":21712.3,"months_saved":28}

GET https://tttkmbb.com/api/v1/calculate/amortization-schedule?principal=200000&annual_rate_percent=6&term_years=30

Machine access

Sources

FAQ

Why is the first payment mostly interest?

Interest is charged on the outstanding balance, which is largest at the start: 200,000 × 6 % / 12 = 1,000 of the first 1,199.10 payment is interest and only 199.10 reduces the balance. The split reverses as the balance falls.

How is the extra payment applied?

It is added to every scheduled payment and goes entirely to principal, which shortens the term and lowers total interest; the scheduled payment itself does not change.

Why only a yearly summary and 12 months?

A 30-year loan has 360 rows; the yearly totals plus the first year give the shape of the schedule. Any single month's balance follows from balance = P(1+i)^k − PMT((1+i)^k − 1)/i.

Related calculators