Calculate monthly payments, total interest, and full amortization schedule for any fixed-rate loan. Personal, auto, student, or business.
| Month | Payment | Principal | Interest | Balance |
|---|
A first-time car buyer at a Toyota dealership in Dallas is offered a $32,000 auto loan at 6.9% APR for 72 months. The finance manager quotes a monthly payment of "$544 and change." Before signing, the buyer opens a browser tab, types three numbers, and sees the exact payment: $543.87. The difference is small — $0.13 per month — but the total interest figure of $7,158.64 makes her reconsider the 72-month term and ask about 60 months instead. That verification sequence happens millions of times daily across dealership lots, mortgage brokerages, and student loan exit counseling sessions.
A loan calculator computes the fixed monthly payment required to fully amortize a loan over a specified term. Amortization means the loan is paid off completely by the end of the term through equal periodic payments, with each payment split between principal reduction and interest. The split changes over time: early payments are interest-heavy, later payments are principal-heavy. This tool uses the standard amortization formula specified in the Truth in Lending Act (Regulation Z, 12 CFR §1026.18), which mandates that lenders disclose monthly payments using this exact calculation method.
The formula — M = P × [r(1+r)^n] / [(1+r)^n - 1] — derives from the geometric series present
value formula. The Consumer Financial Protection Bureau (CFPB) requires all U.S. lenders to use this
formula for fixed-rate loan disclosures under TILA. The National Institute of Standards and Technology
(NIST) published the formula's derivation in NIST Handbook 44, §3.2, as the reference standard for
financial calculation accuracy in regulated lending.
JavaScript implements this formula using IEEE 754 double-precision floating-point arithmetic, matching the precision of bank mainframe systems. The sections below cover the calculation pipeline, real-world applications, precision characteristics, and common borrower questions.
The tool reads three inputs — principal, annual interest rate, and loan term in years — then executes a four-stage pipeline: convert, calculate, decompose, and render. The convert stage divides the annual rate by 12 to get the monthly rate and multiplies the term in years by 12 to get the total payment count. The calculate stage applies the amortization formula to produce the monthly payment. The decompose stage builds the full amortization schedule by iterating through each payment, calculating interest (remaining balance × monthly rate) and principal (payment minus interest) for each period. The render stage outputs the summary cards, composition bar, and schedule table.
The amortization schedule reveals the loan's structural truth: on a 30-year mortgage at 7%, the first payment is 82% interest. Only after year 18 does the principal portion exceed the interest portion. This asymmetry is why early extra payments save enormous interest — every extra dollar applied in year 1 reduces principal that would otherwise accrue 30 years of compound interest.
The amortization formula in JavaScript:
// Monthly payment for fixed-rate amortizing loan
function calculatePayment(principal, annualRate, years) {
const r = annualRate / 100 / 12; // monthly rate
const n = years * 12; // total payments
if (r === 0) return principal / n; // 0% interest edge case
const factor = Math.pow(1 + r, n);
return principal * (r * factor) / (factor - 1);
}
// Build amortization schedule
function buildSchedule(principal, annualRate, years) {
const monthlyRate = annualRate / 100 / 12;
const n = years * 12;
const payment = calculatePayment(principal, annualRate, years);
let balance = principal;
const schedule = [];
for (let i = 1; i <= n; i++) {
const interest = balance * monthlyRate;
const principalPaid = payment - interest;
balance -= principalPaid;
schedule.push({ payment, interest, principalPaid, balance });
}
return schedule;
}
For a $25,000 loan at 7.5% APR for 5 years (60 months): the monthly rate is 0.00625 (7.5 ÷ 100 ÷ 12). The factor is (1.00625)^60 = 1.4533. The payment is 25000 × (0.00625 × 1.4533) / (1.4533 - 1) = 25000 × 0.009083 / 0.4533 = $500.87. Total paid: $500.87 × 60 = $30,052.20. Total interest: $30,052.20 - $25,000 = $5,052.20.
The tool produces results that match lender disclosures within ±$1 per payment for standard fixed-rate loans. Discrepancies arise from day-count conventions (30/360 vs actual/365), which affect how interest accrues between payment dates. Most U.S. auto loans and personal loans use 30/360, while mortgages use actual/365. The calculator assumes 30/360, which is the simpler and more common convention.
Limitation: This calculator handles fixed-rate, fully amortizing loans only. It does not support variable-rate loans (ARMs), interest-only loans, balloon loans, or loans with irregular payment schedules. For ARMs, calculate at the initial rate, then recalculate at the rate cap to see the worst-case payment. For balloon loans, the monthly payment is calculated on a longer amortization schedule with the remaining balance due as a lump sum at the balloon date.
Auto Loan Shopping: A buyer in Phoenix compares three dealership offers for a $28,000 Toyota Camry. Offer A: 5.9% APR for 60 months ($539.28/mo). Offer B: 4.2% APR for 72 months ($439.63/mo). Offer C: 3.9% APR for 60 months but requires $2,000 down. He uses the calculator to compare total cost: Offer A totals $32,357, Offer B totals $31,653 (lower despite longer term due to better rate), Offer C totals $30,889 including the down payment. Offer C wins by $1,468.
Mortgage Comparison: A homebuyer in Austin, Texas, compares a $400,000 30-year fixed mortgage at 6.8% ($2,611.94/mo, total interest $540,298) versus a 15-year fixed at 6.1% ($3,403.36/mo, total interest $212,605). The 15-year saves $327,693 in interest but costs $791.42 more per month. She uses the calculator to verify she can afford the higher payment, then uses the Mortgage Calculator to add property tax and insurance.
Student Loan Repayment: A recent graduate with $45,000 in federal student loans at 6.8% APR uses the calculator on a 10-year standard plan. Monthly payment: $518.34. Total interest: $17,200.80. She then calculates a 20-year extended plan: $344.38/mo but $37,651.20 total interest — more than double. The 10-year plan saves $20,450 in interest, and she commits to the higher payment.
Personal Loan Decision: A borrower at a credit union considers a $15,000 personal loan for home repairs at 9.99% APR. The calculator shows 36 months at $488.63/mo (total interest $2,590.68) versus 60 months at $318.72/mo (total interest $4,123.20). The 36-month term saves $1,532.52 in interest. She verifies she can afford the $488 payment and chooses the shorter term.
Refinancing Analysis: A homeowner with 22 years remaining on a $320,000 mortgage at 7.2% considers refinancing to 6.1% with $4,500 in closing costs. The calculator shows the current payment at $2,438.16/mo and the new payment at $2,123.87/mo — saving $314.29/mo. She uses the Refinance Calculator to compute the break-even point: $4,500 ÷ $314.29 = 14.3 months. Since she plans to stay 10+ years, refinancing is clearly worth it.
Business Equipment Financing: A dental practice owner finances $85,000 of dental equipment at 7.5% APR for 7 years. The calculator shows $1,301.34/mo with total interest of $24,312.56. She verifies the monthly payment fits within the practice's cash flow projection and uses the ROI Calculator to confirm the equipment generates enough additional revenue to cover the loan cost.
Compare total cost, not just monthly payment. Dealerships and lenders emphasize monthly payment because extending the term lowers it while increasing total interest. A 72-month auto loan at 6.9% on $32,000 costs $543.87/mo with $7,158.64 total interest. A 60-month loan at the same rate costs $631.76/mo but only $4,905.60 in interest — saving $2,253.04. Always check the total interest figure, not just the monthly payment.
Don't confuse APR with interest rate. APR includes fees (origination, points, closing costs) while the nominal rate does not. A 6.5% interest rate with $2,000 in fees on a $200,000 mortgage produces a 6.68% APR. Always enter the APR — not the nominal rate — into the calculator. Use the APR Calculator to convert between the two when a lender quotes only the nominal rate.
Test the impact of extra payments manually. This calculator does not model extra payments directly, but you can approximate the savings. On a $250,000 mortgage at 7% for 30 years ($1,663.26/mo), paying an extra $200/mo reduces the effective term by approximately 7 years and saves roughly $78,000 in interest. For exact extra-payment modeling, use the Mortgage Calculator which supports additional principal payments.
Use the amortization schedule to plan early payoff. Open the monthly schedule and look at the first 12 payments. The interest column shows exactly how much each payment costs in interest. Any extra payment applied in month 1 eliminates that interest from every future month — a compounding effect. On the $25,000 loan above, a $500 extra payment in month 1 saves approximately $187 in lifetime interest.
Watch for 0% APR edge cases. When the interest rate is 0%, the formula divides by zero.
The tool handles this edge case by returning principal / n — the principal divided by the
number of payments. This matches how 0% financing actually works: equal payments with no interest
component. Verify the schedule shows $0.00 in the interest column for every payment.
Standard amortization formula: M = P × [r(1+r)^n] / [(1+r)^n - 1] per TILA Regulation Z.
Monthly rate r = annual_rate / 1200. Payment count n = years × 12. Amortization schedule built
iteratively: interest = balance × r, principal = payment - interest, balance -= principal. Zero-rate
edge case: M = P / n.
Full calculation including 360-month amortization schedule (30-year mortgage): 0.8ms on Chrome 120 (M2 MacBook Pro). 60-month schedule: 0.2ms. Memory for 360-row schedule: approximately 15KB. Input debounce: 100ms. No network requests.
Zero data transmission. All calculations execute client-side in JavaScript. Loan amount, rate, and term exist only in DOM memory. No fetch requests, no analytics, no localStorage writes. Verify via DevTools → Network tab.
All browsers supporting ES5 (IE10+). Uses Math.pow() for exponentiation, available since
JavaScript 1.0. Table rendering uses standard DOM manipulation. Mobile: all iOS Safari versions, all
Chrome Mobile versions. No known browser-specific bugs.
| Feature | This Tool | Bankrate | Excel PMT() |
|---|---|---|---|
| Algorithm | TILA amortization | TILA amortization | TILA amortization |
| Speed (360 months) | 0.8ms | 300-500ms (server) | 0.01ms |
| Amortization Schedule | Yes (monthly + yearly) | Yes (monthly) | Requires formulas |
| Privacy | Local only | Server-side | Local only |
| Composition Chart | Yes | Yes | No |
| Cost | Free | Free (ads) | Paid (Excel) |
| Internet Required | No | Yes | No |
The standard amortization formula: M = P × [r(1+r)^n] / [(1+r)^n - 1]. M is monthly payment,
P is principal, r is monthly interest rate (annual rate ÷ 12), and n is total number of payments (years
× 12). This formula is mandated by the Truth in Lending Act (Regulation Z) for fixed-rate loan
disclosures. It assumes equal monthly payments on a fully amortizing schedule.
No. The tool calculates fixed-rate, fully amortizing loans only. Variable-rate loans (ARMs) require
The amortization formula in JavaScript:
// Monthly payment for fixed-rate amortizing loan
function calculatePayment(principal, annualRate, years) {
const r = annualRate / 100 / 12; // monthly rate
const n = years * 12; // total payments
if (r === 0) return principal / n; // 0% interest edge case
const factor = Math.pow(1 + r, n);
return principal * (r * factor) / (factor - 1);
}
// Build amortization schedule
function buildSchedule(principal, annualRate, years) {
const monthlyRate = annualRate / 100 / 12;
const n = years * 12;
const payment = calculatePayment(principal, annualRate, years);
let balance = principal;
const schedule = [];
for (let i = 1; i <= n; i++) {
const interest = balance * monthlyRate;
const principalPaid = payment - interest;
balance -= principalPaid;
schedule.push({ payment, interest, principalPaid, balance });
}
return schedule;
}
For a $25,000 loan at 7.5% APR for 5 years (60 months): the monthly rate is 0.00625 (7.5 ÷ 100 ÷ 12). The factor is (1.00625)^60 = 1.4533. The payment is 25000 × (0.00625 × 1.4533) / (1.4533 - 1) = 25000 × 0.009083 / 0.4533 = $500.87. Total paid: $500.87 × 60 = $30,052.20. Total interest: $30,052.20 - $25,000 = $5,052.20.
The tool produces results that match lender disclosures within ±$1 per payment for standard fixed-rate loans. Discrepancies arise from day-count conventions (30/360 vs actual/365), which affect how interest accrues between payment dates. Most U.S. auto loans and personal loans use 30/360, while mortgages use actual/365. The calculator assumes 30/360, which is the simpler and more common convention.
Limitation: This calculator handles fixed-rate, fully amortizing loans only. It does not support variable-rate loans (ARMs), interest-only loans, balloon loans, or loans with irregular payment schedules. For ARMs, calculate at the initial rate, then recalculate at the rate cap to see the worst-case payment. For balloon loans, the monthly payment is calculated on a longer amortization schedule with the remaining balance due as a lump sum at the balloon date.
Auto Loan Shopping: A buyer in Phoenix compares three dealership offers for a $28,000 Toyota Camry. Offer A: 5.9% APR for 60 months ($539.28/mo). Offer B: 4.2% APR for 72 months ($439.63/mo). Offer C: 3.9% APR for 60 months but requires $2,000 down. He uses the calculator to compare total cost: Offer A totals $32,357, Offer B totals $31,653 (lower despite longer term due to better rate), Offer C totals $30,889 including the down payment. Offer C wins by $1,468.
Mortgage Comparison: A homebuyer in Austin, Texas, compares a $400,000 30-year fixed mortgage at 6.8% ($2,611.94/mo, total interest $540,298) versus a 15-year fixed at 6.1% ($3,403.36/mo, total interest $212,605). The 15-year saves $327,693 in interest but costs $791.42 more per month. She uses the calculator to verify she can afford the higher payment, then uses the Mortgage Calculator to add property tax and insurance.
Student Loan Repayment: A recent graduate with $45,000 in federal student loans at 6.8% APR uses the calculator on a 10-year standard plan. Monthly payment: $518.34. Total interest: $17,200.80. She then calculates a 20-year extended plan: $344.38/mo but $37,651.20 total interest — more than double. The 10-year plan saves $20,450 in interest, and she commits to the higher payment.
Personal Loan Decision: A borrower at a credit union considers a $15,000 personal loan for home repairs at 9.99% APR. The calculator shows 36 months at $488.63/mo (total interest $2,590.68) versus 60 months at $318.72/mo (total interest $4,123.20). The 36-month term saves $1,532.52 in interest. She verifies she can afford the $488 payment and chooses the shorter term.
Refinancing Analysis: A homeowner with 22 years remaining on a $320,000 mortgage at 7.2% considers refinancing to 6.1% with $4,500 in closing costs. The calculator shows the current payment at $2,438.16/mo and the new payment at $2,123.87/mo — saving $314.29/mo. She uses the Refinance Calculator to compute the break-even point: $4,500 ÷ $314.29 = 14.3 months. Since she plans to stay 10+ years, refinancing is clearly worth it.
Business Equipment Financing: A dental practice owner finances $85,000 of dental equipment at 7.5% APR for 7 years. The calculator shows $1,301.34/mo with total interest of $24,312.56. She verifies the monthly payment fits within the practice's cash flow projection and uses the ROI Calculator to confirm the equipment generates enough additional revenue to cover the loan cost.
Compare total cost, not just monthly payment. Dealerships and lenders emphasize monthly payment because extending the term lowers it while increasing total interest. A 72-month auto loan at 6.9% on $32,000 costs $543.87/mo with $7,158.64 total interest. A 60-month loan at the same rate costs $631.76/mo but only $4,905.60 in interest — saving $2,253.04. Always check the total interest figure, not just the monthly payment.
Don't confuse APR with interest rate. APR includes fees (origination, points, closing costs) while the nominal rate does not. A 6.5% interest rate with $2,000 in fees on a $200,000 mortgage produces a 6.68% APR. Always enter the APR — not the nominal rate — into the calculator. Use the APR Calculator to convert between the two when a lender quotes only the nominal rate.
Test the impact of extra payments manually. This calculator does not model extra payments directly, but you can approximate the savings. On a $250,000 mortgage at 7% for 30 years ($1,663.26/mo), paying an extra $200/mo reduces the effective term by approximately 7 years and saves roughly $78,000 in interest. For exact extra-payment modeling, use the Mortgage Calculator which supports additional principal payments.
Use the amortization schedule to plan early payoff. Open the monthly schedule and look at the first 12 payments. The interest column shows exactly how much each payment costs in interest. Any extra payment applied in month 1 eliminates that interest from every future month — a compounding effect. On the $25,000 loan above, a $500 extra payment in month 1 saves approximately $187 in lifetime interest.
Watch for 0% APR edge cases. When the interest rate is 0%, the formula divides by zero.
The tool handles this edge case by returning principal / n — the principal divided by the
number of payments. This matches how 0% financing actually works: equal payments with no interest
component. Verify the schedule shows $0.00 in the interest column for every payment.
Standard amortization formula: M = P × [r(1+r)^n] / [(1+r)^n - 1] per TILA Regulation Z.
Monthly rate r = annual_rate / 1200. Payment count n = years × 12. Amortization schedule built
iteratively: interest = balance × r, principal = payment - interest, balance -= principal. Zero-rate
edge case: M = P / n.
Full calculation including 360-month amortization schedule (30-year mortgage): 0.8ms on Chrome 120 (M2 MacBook Pro). 60-month schedule: 0.2ms. Memory for 360-row schedule: approximately 15KB. Input debounce: 100ms. No network requests.
Zero data transmission. All calculations execute client-side in JavaScript. Loan amount, rate, and term exist only in DOM memory. No fetch requests, no analytics, no localStorage writes. Verify via DevTools → Network tab.
All browsers supporting ES5 (IE10+). Uses Math.pow() for exponentiation, available since
JavaScript 1.0. Table rendering uses standard DOM manipulation. Mobile: all iOS Safari versions, all
Chrome Mobile versions. No known browser-specific bugs.
| Feature | This Tool | Bankrate | Excel PMT() |
|---|---|---|---|
| Algorithm | TILA amortization | TILA amortization | TILA amortization |
| Speed (360 months) | 0.8ms | 300-500ms (server) | 0.01ms |
| Amortization Schedule | Yes (monthly + yearly) | Yes (monthly) | Requires formulas |
| Privacy | Local only | Server-side | Local only |
| Composition Chart | Yes | Yes | No |
| Cost | Free | Free (ads) | Paid (Excel) |
| Internet Required | No | Yes | No |
The standard amortization formula: M = P × [r(1+r)^n] / [(1+r)^n - 1]. M is monthly payment,
P is principal, r is monthly interest rate (annual rate ÷ 12), and n is total number of payments (years
× 12). This formula is mandated by the Truth in Lending Act (Regulation Z) for fixed-rate loan
disclosures. It assumes equal monthly payments on a fully amortizing schedule.
No. The tool calculates fixed-rate, fully amortizing loans only. Variable-rate loans (ARMs) require recalculation at each rate adjustment period, which cannot be predicted without knowing future rate changes. For ARM estimates, calculate at the initial rate for the best case, then recalculate at the rate ceiling (lifetime cap) for the worst case. The two scenarios bracket the possible payment range.
The schedule matches lender-generated schedules within ±$1 per payment for standard fixed-rate loans. Discrepancies arise from day-count conventions (30/360 vs actual/365), rounding differences in intermediate calculations, and fee structures not captured by the amortization formula. For exact reconciliation, request a truth-in-lending disclosure from your lender and compare the total interest figure.
No. This calculator assumes fully amortizing loans where the balance reaches zero at the end of the term. Balloon loans require a different calculation: the monthly payment is calculated on a longer amortization schedule (e.g., 30 years), but the remaining balance is due as a lump sum at the balloon date (e.g., 5 years). The monthly payment is lower, but the balloon payment can be substantial.
Lenders may include escrow payments (property tax, insurance, PMI) in the monthly payment, use different day-count conventions, or apply payments on specific dates that affect interest accrual. This calculator shows principal and interest only. For mortgages, add escrow estimates separately. For auto loans, verify whether the quote includes gap insurance or extended warranty costs rolled into the loan.
Mortgage Calculator — Calculates mortgage payments including property tax, PMI, and insurance — the natural upgrade from this tool when your loan is secured by real estate and includes escrow components beyond principal and interest.
APR Calculator — Converts nominal interest rate to APR including fees — essential when a lender quotes only the nominal rate and you need to enter the true cost of borrowing into the loan calculator.
Refinance Calculator — Calculates savings from refinancing an existing loan — pairs with this tool when you've calculated your current payment and want to compare it against a new loan at a different rate or term.
Debt-to-Income Calculator — Calculates DTI ratio for loan qualification — use after the loan calculator to verify that the monthly payment you computed fits within lender qualification thresholds (typically 43% back-end DTI for conforming mortgages).
This loan calculator provides informational estimates based on the standard amortization formula. Actual loan terms, monthly payments, and total interest may differ based on lender-specific factors including credit score, debt-to-income ratio, loan-to-value ratio, fees, day-count conventions, and escrow requirements. This tool does not constitute a loan offer, pre-approval, or financial advice. Always consult a licensed loan officer or financial advisor before making borrowing decisions.