Rental Property Cash on Cash Return Calculator
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;
background-color: #f9f9f9;
}
.calculator-container {
background: #ffffff;
padding: 30px;
border-radius: 12px;
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
margin-bottom: 40px;
}
.calc-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 30px;
}
@media (max-width: 768px) {
.calc-grid {
grid-template-columns: 1fr;
}
}
h2 {
color: #2c3e50;
margin-bottom: 20px;
border-bottom: 2px solid #3498db;
padding-bottom: 10px;
}
.input-group {
margin-bottom: 15px;
}
.input-group label {
display: block;
margin-bottom: 5px;
font-weight: 600;
color: #555;
}
.input-group input {
width: 100%;
padding: 10px;
border: 1px solid #ddd;
border-radius: 6px;
font-size: 16px;
box-sizing: border-box;
}
.input-group input:focus {
border-color: #3498db;
outline: none;
box-shadow: 0 0 0 3px rgba(52,152,219,0.2);
}
.calc-btn {
background-color: #27ae60;
color: white;
border: none;
padding: 15px 30px;
font-size: 18px;
font-weight: bold;
border-radius: 6px;
cursor: pointer;
width: 100%;
margin-top: 10px;
transition: background-color 0.2s;
}
.calc-btn:hover {
background-color: #219150;
}
.results-section {
background-color: #f1f8ff;
padding: 20px;
border-radius: 8px;
border: 1px solid #d1e8ff;
}
.result-row {
display: flex;
justify-content: space-between;
margin-bottom: 12px;
padding-bottom: 12px;
border-bottom: 1px solid #e1e4e8;
}
.result-row:last-child {
border-bottom: none;
margin-bottom: 0;
}
.result-label {
font-weight: 600;
color: #555;
}
.result-value {
font-weight: 700;
color: #2c3e50;
}
.big-result {
text-align: center;
margin-top: 20px;
background: #fff;
padding: 15px;
border-radius: 8px;
border: 2px solid #27ae60;
}
.big-result h3 {
margin: 0;
color: #27ae60;
font-size: 1.2em;
}
.big-result span {
font-size: 2.5em;
font-weight: 800;
color: #27ae60;
display: block;
margin-top: 5px;
}
.content-section {
background: white;
padding: 30px;
border-radius: 12px;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.content-section h2 {
margin-top: 0;
}
.content-section p, .content-section ul {
margin-bottom: 1.5em;
}
.content-section ul {
padding-left: 20px;
}
.content-section li {
margin-bottom: 10px;
}
.error-msg {
color: #e74c3c;
text-align: center;
display: none;
margin-top: 10px;
}
Financial Breakdown
Total Cash Invested
$0.00
Loan Amount
$0.00
Monthly Mortgage P&I
$0.00
Total Monthly Costs
$0.00
Monthly Cash Flow
$0.00
Annual Cash Flow
$0.00
Cash on Cash Return
0.00%
Rental Property Cash on Cash Return Calculator
Understanding the profitability of a rental property is crucial for real estate investors. The Cash on Cash (CoC) Return is one of the most popular metrics used to evaluate the performance of an investment property. Unlike a simple cap rate, the Cash on Cash Return takes into account debt service (your mortgage), providing a realistic view of the return on the actual cash you have invested.
How is Cash on Cash Return Calculated?
The formula for Cash on Cash Return is relatively straightforward but requires accurate inputs regarding your income, expenses, and financing.
Formula:
Cash on Cash Return = (Annual Pre-Tax Cash Flow / Total Cash Invested) × 100
Key Components:
- Annual Cash Flow: This is calculated by taking your total annual rental income and subtracting all operating expenses and debt service (mortgage payments).
(Monthly Rent – Monthly Expenses – Monthly Mortgage) × 12
- Total Cash Invested: This is the total amount of liquidity used to acquire the property. It includes your down payment, closing costs, and any immediate renovation or repair costs required to make the property rentable.
What is a Good Cash on Cash Return?
A "good" return varies depending on the investor's strategy, the location of the property, and the economic environment. However, general benchmarks include:
- 8-12%: Generally considered a solid return for most buy-and-hold residential real estate investors.
- 15%+: Considered an excellent return, often found in high-cash-flow markets or properties purchased below market value (fixer-uppers).
- Below 5%: Might be acceptable in high-appreciation markets where the primary goal is long-term equity growth rather than immediate cash flow.
Why Use This Calculator?
Our Rental Property Cash on Cash Return Calculator helps you analyze deals quickly. By inputting your purchase price, financing details, and projected income/expenses, you can instantly see if a property meets your investment criteria. It accounts for the principal and interest payments on your loan, ensuring you don't overestimate your profits by ignoring debt service.
Use this tool to compare multiple properties and decide which one offers the best efficiency for your invested capital.
function calculateROI() {
// Get Input Values
var purchasePrice = parseFloat(document.getElementById('purchasePrice').value);
var downPayment = parseFloat(document.getElementById('downPayment').value);
var closingCosts = parseFloat(document.getElementById('closingCosts').value);
var interestRate = parseFloat(document.getElementById('interestRate').value);
var loanTerm = parseFloat(document.getElementById('loanTerm').value);
var monthlyRent = parseFloat(document.getElementById('monthlyRent').value);
var monthlyExpenses = parseFloat(document.getElementById('monthlyExpenses').value);
var errorMsg = document.getElementById('errorMsg');
// Validation
if (isNaN(purchasePrice) || isNaN(downPayment) || isNaN(closingCosts) ||
isNaN(interestRate) || isNaN(loanTerm) || isNaN(monthlyRent) || isNaN(monthlyExpenses)) {
errorMsg.style.display = 'block';
return;
} else {
errorMsg.style.display = 'none';
}
// Calculations
// 1. Total Cash Invested
var totalInvested = downPayment + closingCosts;
// 2. Loan Amount
var loanAmount = purchasePrice – downPayment;
if (loanAmount 0) {
var monthlyRate = (interestRate / 100) / 12;
var numberOfPayments = loanTerm * 12;
if (monthlyRate === 0) {
monthlyMortgage = loanAmount / numberOfPayments;
} else {
monthlyMortgage = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments)) / (Math.pow(1 + monthlyRate, numberOfPayments) – 1);
}
}
// 4. Total Monthly Costs
var totalMonthlyCosts = monthlyMortgage + monthlyExpenses;
// 5. Monthly Cash Flow
var monthlyCashFlow = monthlyRent – totalMonthlyCosts;
// 6. Annual Cash Flow
var annualCashFlow = monthlyCashFlow * 12;
// 7. Cash on Cash Return
var cocReturn = 0;
if (totalInvested > 0) {
cocReturn = (annualCashFlow / totalInvested) * 100;
}
// Display Results
// Helper function for currency formatting
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 2
});
document.getElementById('resTotalInvested').innerHTML = formatter.format(totalInvested);
document.getElementById('resLoanAmount').innerHTML = formatter.format(loanAmount);
document.getElementById('resMortgage').innerHTML = formatter.format(monthlyMortgage);
document.getElementById('resTotalCosts').innerHTML = formatter.format(totalMonthlyCosts);
document.getElementById('resMonthlyCashFlow').innerHTML = formatter.format(monthlyCashFlow);
// Color coding for cash flow
var cashFlowEl = document.getElementById('resAnnualCashFlow');
cashFlowEl.innerHTML = formatter.format(annualCashFlow);
if (annualCashFlow >= 0) {
cashFlowEl.style.color = '#27ae60';
} else {
cashFlowEl.style.color = '#c0392b';
}
// CoC Return formatting
var cocEl = document.getElementById('resCoC');
cocEl.innerHTML = cocReturn.toFixed(2) + "%";
if (cocReturn >= 0) {
cocEl.style.color = '#27ae60';
document.querySelector('.big-result').style.borderColor = '#27ae60';
document.querySelector('.big-result h3').style.color = '#27ae60';
} else {
cocEl.style.color = '#c0392b';
document.querySelector('.big-result').style.borderColor = '#c0392b';
document.querySelector('.big-result h3').style.color = '#c0392b';
}
}