PMI Calculator
A PMI calculator estimates Private Mortgage Insurance costs when your down payment is less than 20%. PMI protects the lender (not you) and can add $100-$500 or more to your monthly payment.
PMI Rates by LTV and Credit Score
| Loan-to-Value | Credit 760+ | Credit 700-759 | Credit 640-699 |
|---|---|---|---|
| 95% LTV | 0.55% | 0.78% | 1.10% |
| 90% LTV | 0.41% | 0.52% | 0.78% |
| 85% LTV | 0.30% | 0.40% | 0.52% |
| 80% LTV | No PMI | No PMI | No PMI |
PMI Cost Example
$300,000 home, 10% down ($30,000), $270,000 loan:
| Credit Score | PMI Rate | Annual PMI | Monthly PMI |
|---|---|---|---|
| 760+ | 0.41% | $1,107 | $92 |
| 720 | 0.52% | $1,404 | $117 |
| 680 | 0.78% | $2,106 | $176 |
| 640 | 1.10% | $2,970 | $248 |
PMI Calculator Implementation
``javascript
function calculatePMI(homePrice, downPaymentPercent, creditScore, loanAmount = null) {
const ltv = 100 - downPaymentPercent;
if (ltv <= 80) return { pmi: 0, message: 'No PMI required' };
const loan = loanAmount || homePrice * (1 - downPaymentPercent / 100);
// PMI rates by LTV and credit (simplified)
let rate;
if (creditScore >= 760) rate = ltv > 90 ? 0.55 : ltv > 85 ? 0.41 : 0.30;
else if (creditScore >= 700) rate = ltv > 90 ? 0.78 : ltv > 85 ? 0.52 : 0.40;
else rate = ltv > 90 ? 1.10 : ltv > 85 ? 0.78 : 0.52;
const annualPMI = loan * (rate / 100);
return {
monthlyPMI: (annualPMI / 12).toFixed(2),
annualPMI: annualPMI.toFixed(2),
rate: rate + '%',
ltv: ltv + '%'
};
}
console.log(calculatePMI(300000, 10, 720));
// { monthlyPMI: '117.00', annualPMI: '1404.00', rate: '0.52%', ltv: '90%' }
``
Removing PMI
PMI automatically terminates when your LTV reaches 78% through payments. You can request removal at 80% LTV. Refinancing or appraisal showing increased home value can also eliminate PMI sooner.