Loan amortization schedule

Show the estimated principal and interest breakdown for a fixed-rate loan payment schedule.

Amounts use the currency of the entered principal. Each row shows payment, principal repaid, interest and remaining balance.

Both dots and commas are accepted as decimal separators.

SumHexa does not recommend or promote taking out credit or paying interest. This tool only illustrates a calculation method; its result is not financial advice.

Method and assumptions

Method version 1.0.0 · Updated

Generate schedule

Formula: Payment = fixed-rate annuity formula; monthly interest = balance × monthly rate

Amounts use the currency of the entered principal. Each row shows payment, principal repaid, interest and remaining balance.

principal
Loan principal
annualRatePercent
Nominal annual rate (%)
months
Term (months)

Assumes a fixed nominal annual rate, monthly payments and amounts rounded to cents each period. The final payment is adjusted to clear the balance. Insurance, fees and taxes are excluded. Maximum term: 600 months.

Calculate with code

These short examples use the same inputs and core calculation as this tool. Adapt validation and formatting to your application.

JavaScript
const balance = 200000, monthlyRate = 0.04 / 12, payment = 1055.67;
const interest = balance * monthlyRate, principalPaid = payment - interest;
console.log({ interest, principalPaid, nextBalance: balance - principalPaid });
TypeScript
const balance = 200000, rate = 0.04 / 12, payment = 1055.67;
const interest = balance * rate, principalPaid = payment - interest;
console.log({ interest, principalPaid, nextBalance: balance - principalPaid });
Python
balance, rate, payment = 200000, 0.04 / 12, 1055.67
interest = balance * rate
principal_paid = payment - interest
print(interest, principal_paid, balance - principal_paid)
Java
double balance=200000, rate=0.04/12, payment=1055.67;
double interest=balance*rate, principalPaid=payment-interest;
System.out.println(interest + ", " + principalPaid + ", " + (balance-principalPaid));
C#
decimal balance=200000m, rate=0.04m/12, payment=1055.67m;
decimal interest=balance*rate, principalPaid=payment-interest;
Console.WriteLine($"{interest}, {principalPaid}, {balance-principalPaid}");