Loan Calculator

Estimate your monthly payment, total cost, and total interest for a fixed-rate amortizing loan.

How the calculation works

This calculator uses the standard fixed-rate amortization formula: M = P × (r / (1 − (1 + r)^−n)), where P is the principal, r is the monthly interest rate, and n is the total number of monthly payments. Each payment is the same size, but the split between interest and principal shifts over time — early payments are mostly interest, later payments are mostly principal.

Typical personal loan rates

Credit profileTypical APR range
Excellent credit6% – 12%
Good credit12% – 18%
Fair credit18% – 28%
Poor credit28% – 36%

Limitations of this calculator

This tool assumes a fixed interest rate and equal monthly payments over the full term. It does not account for origination fees, variable rates, prepayment penalties, or extra payments toward principal — all of which change the real total cost of a loan. Use it as a starting estimate, not a binding quote.

How to calculate a loan payment in Python

def monthly_payment(principal: float, annual_rate: float, years: float) -> float: monthly_rate = annual_rate / 100 / 12 n = years * 12 if monthly_rate == 0: return principal / n return principal * (monthly_rate / (1 - (1 + monthly_rate) ** -n)) payment = monthly_payment(20000, 6, 5) print(round(payment, 2)) # 386.66

How to calculate a loan payment in JavaScript

function monthlyPayment(principal, annualRate, years) { const monthlyRate = annualRate / 100 / 12; const n = years * 12; if (monthlyRate === 0) return principal / n; return principal * (monthlyRate / (1 - Math.pow(1 + monthlyRate, -n))); } const payment = monthlyPayment(20000, 6, 5); console.log(payment.toFixed(2)); // 386.66

This calculator is for informational purposes only and is not financial advice. Talk to a lender or qualified financial advisor before taking on debt.

Related Tools