$
$
mo

Enter your details and hit Calculate

What Does This Calculator Do?

This interest rate calculator works in reverse — instead of calculating your payment from a known rate, it finds the implied annual interest rate (APR) when you already know your monthly payment, loan amount, and term. This is useful when you have a loan offer or existing loan and want to verify or discover the actual rate.

Common use cases include: verifying dealer financing quoted as a monthly payment (dealers often quote only the payment, not the rate), understanding what rate your old car or student loan is actually at, comparing loan offers where different lenders quote different terms, and checking whether refinancing makes sense by knowing your current effective rate.

The calculator uses a numerical bisection method to solve the amortization formula in reverse. This approach finds the monthly rate that produces exactly your stated payment for the given principal and term, then converts it to an annual rate.

How the Interest Rate is Found

The standard amortization formula calculates the monthly payment M given principal P, monthly rate r, and term n:

M = P × r(1 + r)n(1 + r)n − 1
  • Bisection method — Start with a low rate (0%) and high rate (500% monthly) and repeatedly halve the search range until the calculated payment matches your actual payment within a tiny margin of error.
  • Annual Rate — Monthly rate × 12 × 100 to convert to APR.
  • Convergence is typically reached in under 100 iterations to 10 decimal places of precision.

Example: $25,000 Loan, 60 Months

You took out a $25,000 car loan with a 60-month term. Here's what different monthly payments imply about your interest rate:

Monthly PaymentImplied APRTotal InterestTotal Paid
$4614.00%$2,650$27,650
$4756.00%$3,500$28,500
$50310.00%$5,180$30,180

The difference between a 4% and 10% rate on a $25,000 loan is only $42 per month — but it adds up to over $2,530 more in total interest. When shopping for a loan, even small rate differences matter significantly over 5 years.

Based on $25,000 loan amount, 60-month term. For illustrative purposes only.

Frequently Asked Questions

Why would I need to find my interest rate?

Car dealerships often present financing as "just $399 a month" without disclosing the rate. You can use this calculator to find out if the implied rate is competitive. Also useful if you inherited a loan or lost your paperwork and want to know your rate before deciding whether to refinance.

What is the difference between interest rate and APR?

The interest rate is the base cost of borrowing expressed as a percentage of the loan balance. APR (Annual Percentage Rate) is broader — it includes the interest rate plus fees, origination charges, and other costs rolled into a single annualized rate. For a simple installment loan with no fees, the interest rate and APR are the same. This calculator finds the effective rate based on payments alone, which is closest to the interest rate concept.

What if my payment seems too low?

If your monthly payment is less than or equal to the monthly interest on the loan (payment × term ≤ principal), the rate would be zero or negative — which indicates the payment is too low to fully repay the loan. This might happen if you entered incorrect values. Double-check that your payment is sufficient to cover at least the monthly interest charge.

Can I use this for a mortgage?

Yes. Enter your mortgage balance as the loan amount, your monthly payment (principal + interest only, not including taxes and insurance), and your remaining term in months. The calculator will find your effective interest rate. Note that if you're mid-loan, use your remaining balance, not the original loan amount.

function resetCalc() { document.querySelectorAll('.field-grid input, .field-grid select').forEach(function(el) { el.value = ''; }); var p = document.getElementById('placeholder'); var g = document.getElementById('resultsGrid'); if (p) p.style.display = ''; if (g) g.hidden = true; document.querySelectorAll('.result-value').forEach(function(el) { el.textContent = '—'; }); }