Rental Property Cash on Cash Return Calculator
:root {
–primary-color: #2c3e50;
–accent-color: #27ae60;
–bg-color: #f9f9f9;
–border-radius: 8px;
}
body {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
line-height: 1.6;
color: #333;
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
.calculator-container {
display: flex;
flex-wrap: wrap;
gap: 30px;
background: #fff;
padding: 30px;
border-radius: var(–border-radius);
box-shadow: 0 4px 6px rgba(0,0,0,0.1);
margin-bottom: 40px;
}
.input-section, .result-section {
flex: 1;
min-width: 300px;
}
.result-section {
background: #f0f4f8;
padding: 20px;
border-radius: var(–border-radius);
display: flex;
flex-direction: column;
justify-content: center;
}
h2 {
color: var(–primary-color);
border-bottom: 2px solid var(–accent-color);
padding-bottom: 10px;
margin-top: 30px;
}
.form-group {
margin-bottom: 15px;
}
label {
display: block;
font-weight: 600;
margin-bottom: 5px;
font-size: 0.95em;
}
input[type="number"] {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 16px;
box-sizing: border-box;
}
input[type="number"]:focus {
border-color: var(–accent-color);
outline: none;
}
.btn-calculate {
background-color: var(–accent-color);
color: white;
border: none;
padding: 15px 30px;
font-size: 18px;
font-weight: bold;
border-radius: 4px;
cursor: pointer;
width: 100%;
margin-top: 10px;
transition: background-color 0.3s;
}
.btn-calculate:hover {
background-color: #219150;
}
.result-card {
background: white;
padding: 15px;
border-radius: 4px;
margin-bottom: 15px;
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.result-label {
font-size: 0.9em;
color: #666;
}
.result-value {
font-size: 1.4em;
font-weight: bold;
color: var(–primary-color);
}
.result-value.highlight {
color: var(–accent-color);
font-size: 2em;
}
.content-section {
background: #fff;
padding: 30px;
border-radius: var(–border-radius);
box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.grid-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 15px;
}
@media (max-width: 600px) {
.grid-row {
grid-template-columns: 1fr;
}
}
Results
Cash on Cash Return
0.00%
Monthly Mortgage (P&I)
$0.00
Total Monthly Expenses
$0.00
Total Cash Invested
$0.00
Understanding the Rental Property Calculator
Investing in real estate is one of the most reliable ways to build wealth, but simply buying a property doesn't guarantee a profit. To succeed, investors must understand the numbers behind the deal. This Rental Property Cash on Cash Return Calculator is designed to help you analyze the profitability of a potential investment property by breaking down income, expenses, and financing costs.
What is Cash on Cash Return?
Cash on Cash (CoC) Return is a metric used in real estate transactions to calculate the cash income earned on the cash invested in a property. Unlike the Return on Investment (ROI) which might consider total equity, CoC Return focuses strictly on the actual cash flow relative to the cash you initially put into the deal (down payment, closing costs, and rehab costs).
The formula is:
Cash on Cash Return = (Annual Pre-Tax Cash Flow / Total Cash Invested) × 100
How to Use This Calculator
- Purchase Price & Financing: Enter the price of the property and your loan details. The calculator determines your mortgage payment automatically based on the loan amount (Price minus Down Payment).
- Upfront Costs: Include your down payment, closing costs, and any immediate repair or rehab costs. These make up your "Total Cash Invested."
- Income: Enter the expected monthly rent.
- Expenses: Be realistic about expenses. Include property taxes, insurance, HOA fees, and an allowance for maintenance and vacancy (often 5-10% of rent).
Interpreting Your Results
Once you hit "Calculate," you will see several key figures:
- Monthly Cash Flow: This is your "take-home" money every month after the mortgage and all operating expenses are paid. A positive number means the property pays for itself and provides income.
- Total Cash Invested: This is the actual amount of money you need to have in the bank to close the deal and get the property rent-ready.
- Cash on Cash Return %: This is your yield. For example, a 10% CoC return means that for every $100,000 you invest, you earn $10,000 per year in cash flow.
What is a "Good" Cash on Cash Return?
While answers vary depending on the market and investor goals, many real estate investors look for a Cash on Cash return between 8% and 12%. In highly competitive markets, 5-7% might be acceptable if there is high appreciation potential. In riskier or lower-cost markets, investors might demand 15% or higher to offset the risk.
function calculateROI() {
// 1. Get Input Values
var price = parseFloat(document.getElementById('purchasePrice').value) || 0;
var downPayment = parseFloat(document.getElementById('downPayment').value) || 0;
var closingCosts = parseFloat(document.getElementById('closingCosts').value) || 0;
var rehabCosts = parseFloat(document.getElementById('rehabCosts').value) || 0;
var interestRate = parseFloat(document.getElementById('interestRate').value) || 0;
var loanTerm = parseFloat(document.getElementById('loanTerm').value) || 0;
var monthlyRent = parseFloat(document.getElementById('monthlyRent').value) || 0;
var annualTaxes = parseFloat(document.getElementById('annualTaxes').value) || 0;
var annualInsurance = parseFloat(document.getElementById('annualInsurance').value) || 0;
var monthlyHOA = parseFloat(document.getElementById('monthlyHOA').value) || 0;
var monthlyMaintenance = parseFloat(document.getElementById('monthlyMaintenance').value) || 0;
// 2. Calculate Mortgage (P&I)
var loanAmount = price – downPayment;
var monthlyRate = (interestRate / 100) / 12;
var numberOfPayments = loanTerm * 12;
var monthlyPI = 0;
if (loanAmount > 0 && interestRate > 0) {
monthlyPI = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments)) / (Math.pow(1 + monthlyRate, numberOfPayments) – 1);
} else if (loanAmount > 0 && interestRate === 0) {
monthlyPI = loanAmount / numberOfPayments;
}
// 3. Calculate Monthly Expenses
var monthlyTaxes = annualTaxes / 12;
var monthlyInsurance = annualInsurance / 12;
var totalMonthlyExpenses = monthlyPI + monthlyTaxes + monthlyInsurance + monthlyHOA + monthlyMaintenance;
// 4. Calculate Cash Flow
var monthlyCashFlow = monthlyRent – totalMonthlyExpenses;
var annualCashFlow = monthlyCashFlow * 12;
// 5. Calculate Total Invested
var totalInvested = downPayment + closingCosts + rehabCosts;
// 6. Calculate Cash on Cash Return
var cocReturn = 0;
if (totalInvested > 0) {
cocReturn = (annualCashFlow / totalInvested) * 100;
}
// 7. Update UI
document.getElementById('monthlyMortgage').innerText = formatCurrency(monthlyPI);
document.getElementById('totalExpenses').innerText = formatCurrency(totalMonthlyExpenses);
document.getElementById('monthlyCashFlow').innerText = formatCurrency(monthlyCashFlow);
document.getElementById('totalInvested').innerText = formatCurrency(totalInvested);
document.getElementById('cocResult').innerText = cocReturn.toFixed(2) + '%';
// Change color based on profitability
var cashFlowEl = document.getElementById('monthlyCashFlow');
if (monthlyCashFlow >= 0) {
cashFlowEl.style.color = '#27ae60';
} else {
cashFlowEl.style.color = '#c0392b';
}
}
function formatCurrency(num) {
return '$' + num.toLocaleString('en-US', {minimumFractionDigits: 2, maximumFractionDigits: 2});
}
// Initial calculation on load
calculateROI();