
Loan amortization schedule
Show the estimated principal and interest breakdown for a fixed-rate loan payment schedule.
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}");