Calculate your annual return on actual cash invested.
Please enter valid numeric values for all fields.
Total Cash Invested:$0.00
Monthly Cash Flow:$0.00
Annual Cash Flow:$0.00
Cash on Cash Return (ROI):0.00%
What is Cash on Cash Return?
Cash on Cash (CoC) Return is a fundamental metric in real estate investing that calculates the cash income earned on the cash invested in a property. Unlike typical Return on Investment (ROI) calculations that might account for total debt, CoC specifically focuses on the actual dollars you put into the deal (down payment plus closing and renovation costs) versus the actual spendable cash flow the property generates annually.
The formula is: (Annual Pre-Tax Cash Flow / Total Cash Invested) × 100%.
Why is this calculator important?
Real estate investors use the Cash on Cash Return Calculator to compare the profitability of different investment properties. It answers the question: "If I put $50,000 into this house, what percentage of that money will I get back every year?"
Understanding Your Results
Total Cash Invested: This includes your down payment, closing costs, and any immediate repair costs needed to get the property rent-ready.
Monthly Cash Flow: Your rental income minus your mortgage (principal and interest) and operating expenses (taxes, insurance, HOA fees, maintenance, vacancy reserves).
The Percentage: A CoC return of 8-12% is generally considered good by many investors, while anything above 15% is often considered excellent. However, this varies by market and risk tolerance.
Remember, this metric looks at cash flow only. It does not account for mortgage principal paydown (equity build-up) or property appreciation, which are other significant ways real estate builds wealth.
function calculateCoC() {
var purchasePrice = parseFloat(document.getElementById('purchasePrice').value);
var downPayment = parseFloat(document.getElementById('downPayment').value);
var closingCosts = parseFloat(document.getElementById('closingCosts').value);
var monthlyRent = parseFloat(document.getElementById('monthlyRent').value);
var monthlyMortgage = parseFloat(document.getElementById('monthlyMortgage').value);
var monthlyExpenses = parseFloat(document.getElementById('monthlyExpenses').value);
var errorMsg = document.getElementById('errorMsg');
var resultsSection = document.getElementById('resultsSection');
// Basic validation check
if (isNaN(purchasePrice) || isNaN(downPayment) || isNaN(closingCosts) ||
isNaN(monthlyRent) || isNaN(monthlyMortgage) || isNaN(monthlyExpenses)) {
errorMsg.style.display = 'block';
resultsSection.style.display = 'none';
return;
} else {
errorMsg.style.display = 'none';
resultsSection.style.display = 'grid';
}
// Calculations
// 1. Total Cash Invested = Down Payment + Closing Costs/Rehab
var totalCashInvested = downPayment + closingCosts;
// 2. Monthly Cash Flow = Rent – Mortgage – Expenses
var monthlyCashFlow = monthlyRent – monthlyMortgage – monthlyExpenses;
// 3. Annual Cash Flow
var annualCashFlow = monthlyCashFlow * 12;
// 4. Cash on Cash Return = (Annual Cash Flow / Total Cash Invested) * 100
var cocReturn = 0;
if (totalCashInvested > 0) {
cocReturn = (annualCashFlow / totalCashInvested) * 100;
}
// Update DOM
document.getElementById('displayTotalInvested').innerText = formatCurrency(totalCashInvested);
document.getElementById('displayMonthlyCashFlow').innerText = formatCurrency(monthlyCashFlow);
document.getElementById('displayAnnualCashFlow').innerText = formatCurrency(annualCashFlow);
var cocDisplay = document.getElementById('displayCoC');
cocDisplay.innerText = cocReturn.toFixed(2) + '%';
// Styling for positive/negative flow
if (cocReturn < 0) {
cocDisplay.style.color = '#d63031'; // Red for negative
} else {
cocDisplay.style.color = '#27ae60'; // Green for positive
}
}
function formatCurrency(num) {
return '$' + num.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
}