Refinancing your mortgage can be a strategic move to secure a lower interest rate, change your loan term, or tap into your home's equity. However, like any mortgage transaction, refinancing involves closing costs – fees paid to various parties involved in the process. Understanding these costs is crucial for determining if refinancing is truly beneficial for your financial situation.
This calculator helps you estimate the total closing costs associated with your mortgage refinance. It breaks down common fees, allowing for a more transparent view of the expenses you can expect.
How the Calculator Works:
The calculator estimates your total refinance closing costs based on several key inputs:
Current Loan Balance: The principal amount of your existing mortgage. This is often used as a base for calculating lender fees and title insurance.
Estimated Closing Cost Percentage: Lenders may provide an estimate of total closing costs as a percentage of the new loan amount. This calculator uses it as a percentage of your current loan balance as a simplified estimate for certain lender-related fees.
Appraisal Fee: The cost for a professional assessment of your home's current market value.
Title Insurance: Protects the lender (and sometimes the borrower) against future claims on the property's title.
Lender Fees: These can include origination fees, processing fees, underwriting fees, and more.
Recording Fees: Charged by local government to officially record the new mortgage with the county.
Prepaid Interest: Interest that accrues on your new loan from the closing date until the end of the month. This is often referred to as per diem interest.
Escrow Deposit: An initial deposit into an escrow account to cover future property taxes and homeowner's insurance premiums. The amount varies based on local tax rates and insurance policy costs.
The Math Behind the Estimate:
The calculator sums up the individual cost inputs and a percentage-based estimate of lender-related fees:
Note: The "Estimated Closing Cost Percentage" input is used to generate a broad estimate for lender-originated fees. The "Lender Fees" input allows for specific, known lender charges. Depending on your lender and loan program, the actual breakdown may vary.
When to Use This Calculator:
Use this tool when you are considering refinancing your mortgage to:
Estimate the upfront cash needed to close.
Compare the closing costs of different loan offers.
Determine your break-even point after refinancing, by comparing the savings from a lower rate against these initial costs.
Make an informed decision about whether refinancing is the right financial strategy for you.
It is always recommended to get a Loan Estimate from your lender, which will provide a more precise breakdown of all closing costs.
function calculateClosingCosts() {
var currentLoanBalance = parseFloat(document.getElementById("currentLoanBalance").value);
var estimatedClosingCostPercentage = parseFloat(document.getElementById("estimatedClosingCostPercentage").value);
var appraisalFee = parseFloat(document.getElementById("appraisalFee").value);
var titleInsurance = parseFloat(document.getElementById("titleInsurance").value);
var lenderFees = parseFloat(document.getElementById("lenderFees").value);
var recordingFees = parseFloat(document.getElementById("recordingFees").value);
var prepaidInterest = parseFloat(document.getElementById("prepaidInterest").value);
var escrowDeposit = parseFloat(document.getElementById("escrowDeposit").value);
var totalCosts = 0;
if (!isNaN(currentLoanBalance) && !isNaN(estimatedClosingCostPercentage) && estimatedClosingCostPercentage >= 0) {
var calculatedLenderFees = currentLoanBalance * (estimatedClosingCostPercentage / 100);
totalCosts += calculatedLenderFees;
}
if (!isNaN(appraisalFee) && appraisalFee >= 0) {
totalCosts += appraisalFee;
}
if (!isNaN(titleInsurance) && titleInsurance >= 0) {
totalCosts += titleInsurance;
}
if (!isNaN(lenderFees) && lenderFees >= 0) {
totalCosts += lenderFees;
}
if (!isNaN(recordingFees) && recordingFees >= 0) {
totalCosts += recordingFees;
}
if (!isNaN(prepaidInterest) && prepaidInterest >= 0) {
totalCosts += prepaidInterest;
}
if (!isNaN(escrowDeposit) && escrowDeposit >= 0) {
totalCosts += escrowDeposit;
}
var formattedTotalCosts = totalCosts.toLocaleString(undefined, {
style: 'currency',
currency: 'USD'
});
document.getElementById("totalCosts").textContent = formattedTotalCosts;
document.getElementById("result").style.display = "block";
}