Please enter valid positive numbers for all required fields.
Monthly Financial Analysis
Gross Monthly Rent:$0.00
Principal & Interest:-$0.00
Tax & Insurance (Monthly):-$0.00
Vacancy & Maintenance Reserves:-$0.00
HOA/Misc Fees:-$0.00
Net Monthly Cash Flow:$0.00
Investment Returns
Annual Cash Flow:$0.00
Cash on Cash Return (ROI):0.00%
Cap Rate:0.00%
function calculateRental() {
var price = parseFloat(document.getElementById('propPrice').value);
var down = parseFloat(document.getElementById('downPay').value);
var rate = parseFloat(document.getElementById('intRate').value);
var years = parseFloat(document.getElementById('loanYrs').value);
var rent = parseFloat(document.getElementById('moRent').value);
var tax = parseFloat(document.getElementById('yrTax').value);
var ins = parseFloat(document.getElementById('yrIns').value);
var vac = parseFloat(document.getElementById('vacRate').value);
var rep = parseFloat(document.getElementById('repairs').value);
var hoa = parseFloat(document.getElementById('hoa').value);
// Default defaults if fields are empty but allow 0
if (isNaN(hoa)) hoa = 0;
if (isNaN(vac)) vac = 0;
if (isNaN(rep)) rep = 0;
var errorBox = document.getElementById('errorBox');
var resultBox = document.getElementById('resultBox');
if (isNaN(price) || isNaN(down) || isNaN(rate) || isNaN(years) || isNaN(rent) || isNaN(tax) || isNaN(ins)) {
errorBox.style.display = 'block';
resultBox.style.display = 'none';
return;
}
errorBox.style.display = 'none';
// Mortgage Calculation
var loanAmount = price – down;
var monthlyRate = (rate / 100) / 12;
var numPayments = years * 12;
var monthlyMortgage = 0;
if (rate > 0) {
monthlyMortgage = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numPayments)) / (Math.pow(1 + monthlyRate, numPayments) – 1);
} else {
monthlyMortgage = loanAmount / numPayments;
}
// Expenses
var monthlyTax = tax / 12;
var monthlyIns = ins / 12;
var monthlyTaxIns = monthlyTax + monthlyIns;
var vacancyCost = rent * (vac / 100);
var repairCost = rent * (rep / 100);
var monthlyReserves = vacancyCost + repairCost;
var totalMonthlyExpenses = monthlyMortgage + monthlyTaxIns + monthlyReserves + hoa;
var cashFlow = rent – totalMonthlyExpenses;
var annualCashFlow = cashFlow * 12;
// Metrics
var cashOnCash = 0;
if (down > 0) {
cashOnCash = (annualCashFlow / down) * 100;
}
// Cap Rate = (NOI / Price) * 100
// NOI = Annual Income – Annual Operating Expenses (excluding debt service)
var annualOperatingExpenses = (monthlyTaxIns + monthlyReserves + hoa) * 12;
var annualNOI = (rent * 12) – annualOperatingExpenses;
var capRate = (annualNOI / price) * 100;
// Display
document.getElementById('resRent').innerText = '$' + rent.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
document.getElementById('resMortgage').innerText = '-$' + monthlyMortgage.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
document.getElementById('resTaxIns').innerText = '-$' + monthlyTaxIns.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
document.getElementById('resReserves').innerText = '-$' + monthlyReserves.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
document.getElementById('resHoa').innerText = '-$' + hoa.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
var flowEl = document.getElementById('resCashFlow');
flowEl.innerText = '$' + cashFlow.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
flowEl.style.color = cashFlow >= 0 ? '#2c7744' : '#c0392b';
var annEl = document.getElementById('resAnnualFlow');
annEl.innerText = '$' + annualCashFlow.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ",");
annEl.style.color = annualCashFlow >= 0 ? '#2c7744' : '#c0392b';
document.getElementById('resCoc').innerText = cashOnCash.toFixed(2) + '%';
document.getElementById('resCap').innerText = capRate.toFixed(2) + '%';
resultBox.style.display = 'block';
}
Understanding Rental Property Cash Flow
Calculating cash flow is the most critical step in evaluating a real estate investment. Cash flow is the net amount of money moving in and out of a business or investment. In real estate, positive cash flow means the rental income exceeds all expenses, putting money in your pocket every month.
How This Calculator Works
This Rental Property Cash Flow Calculator takes a comprehensive approach to investment analysis. Unlike simple mortgage calculators, it accounts for the "hidden" costs of being a landlord, such as:
Vacancy Rates: The percentage of time a property sits empty without generating rent. A standard conservative estimate is 5-8%.
Maintenance Reserves: Money set aside for future repairs (roof, HVAC, painting). Experts recommend budgeting 5-10% of monthly rent.
Capitalization Rate (Cap Rate): A metric used to evaluate the profitability of an investment independent of financing. It is calculated as Net Operating Income (NOI) divided by the Purchase Price.
Cash on Cash Return (CoC): This measures the annual return on the actual cash you invested (down payment), providing a true picture of your money's efficiency.
Example Calculation
Imagine you purchase a property for $250,000 with a 20% down payment ($50,000). You secure a loan at 6.5% interest for 30 years.
Rental Income: $2,200/month
Mortgage (P&I): ~$1,264/month
Taxes & Insurance: $350/month
Reserves (10%): $220/month
After deducting these expenses, your estimated monthly cash flow would be roughly $366. This results in an annual profit of $4,392, translating to a Cash on Cash return of approximately 8.8%.
Why is Cash on Cash Return Important?
While Cap Rate helps you compare the property's value against the market, Cash on Cash Return tells you how hard your specific dollars are working. A 10% CoC return generally outperforms the stock market average (7%), making real estate a powerful vehicle for wealth generation when leveraged correctly.
Use the calculator above to adjust your offer price, down payment, or rental estimates to find a deal that meets your financial goals.