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: 800px;
margin: 0 auto;
padding: 20px;
}
.calc-container {
background: #f8f9fa;
border: 1px solid #e9ecef;
border-radius: 8px;
padding: 30px;
margin-bottom: 40px;
box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
.calc-title {
text-align: center;
margin-bottom: 25px;
color: #2c3e50;
font-size: 24px;
font-weight: 700;
}
.input-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
@media (max-width: 600px) {
.input-grid {
grid-template-columns: 1fr;
}
}
.input-group {
display: flex;
flex-direction: column;
}
.input-group label {
font-size: 14px;
font-weight: 600;
margin-bottom: 5px;
color: #555;
}
.input-group input {
padding: 10px;
border: 1px solid #ced4da;
border-radius: 4px;
font-size: 16px;
}
.section-header {
grid-column: 1 / -1;
margin-top: 10px;
margin-bottom: 5px;
font-size: 18px;
color: #0056b3;
border-bottom: 2px solid #e9ecef;
padding-bottom: 5px;
}
.calc-btn {
grid-column: 1 / -1;
background-color: #28a745;
color: white;
border: none;
padding: 15px;
font-size: 18px;
font-weight: bold;
border-radius: 5px;
cursor: pointer;
margin-top: 20px;
transition: background-color 0.2s;
}
.calc-btn:hover {
background-color: #218838;
}
#results-area {
display: none;
margin-top: 30px;
background: white;
border: 1px solid #dee2e6;
border-radius: 6px;
padding: 20px;
}
.result-row {
display: flex;
justify-content: space-between;
padding: 10px 0;
border-bottom: 1px solid #eee;
}
.result-row:last-child {
border-bottom: none;
}
.result-label {
font-weight: 600;
color: #666;
}
.result-value {
font-weight: 700;
color: #333;
}
.highlight-result {
background-color: #e8f5e9;
padding: 15px;
border-radius: 5px;
margin-bottom: 15px;
text-align: center;
}
.highlight-result .result-label {
font-size: 16px;
color: #2e7d32;
}
.highlight-result .result-value {
font-size: 28px;
color: #1b5e20;
}
.content-section {
margin-top: 50px;
}
.content-section h2 {
color: #2c3e50;
margin-top: 30px;
}
.content-section p, .content-section ul {
margin-bottom: 20px;
}
.content-section li {
margin-bottom: 10px;
}
.tooltip {
font-size: 12px;
color: #777;
margin-top: 2px;
}
Rental Property ROI Calculator
Cash on Cash Return
0.00%
Cap Rate (Capitalization Rate)
0.00%
Net Operating Income (NOI) / Year
$0.00
Total Initial Cash Invested
$0.00
Monthly Mortgage Payment
$0.00
Total Monthly Expenses (inc. Mortgage)
$0.00
function calculateRental() {
// 1. Get Inputs
var price = parseFloat(document.getElementById('purchasePrice').value) || 0;
var closing = parseFloat(document.getElementById('closingCosts').value) || 0;
var downPercent = parseFloat(document.getElementById('downPaymentPercent').value) || 0;
var interest = parseFloat(document.getElementById('interestRate').value) || 0;
var years = parseFloat(document.getElementById('loanTerm').value) || 0;
var rent = parseFloat(document.getElementById('monthlyRent').value) || 0;
var taxesYear = parseFloat(document.getElementById('annualTaxes').value) || 0;
var insYear = parseFloat(document.getElementById('annualInsurance').value) || 0;
var hoaMonth = parseFloat(document.getElementById('monthlyHOA').value) || 0;
var maintPercent = parseFloat(document.getElementById('maintenancePercent').value) || 0;
var vacancyPercent = parseFloat(document.getElementById('vacancyPercent').value) || 0;
// 2. Calculations
// Loan Details
var downPaymentAmount = price * (downPercent / 100);
var loanAmount = price – downPaymentAmount;
var totalInvested = downPaymentAmount + closing;
// Mortgage Calculation (P&I)
var monthlyRate = interest / 100 / 12;
var numberOfPayments = years * 12;
var monthlyMortgage = 0;
if (interest === 0) {
monthlyMortgage = loanAmount / numberOfPayments;
} else {
monthlyMortgage = loanAmount * (monthlyRate * Math.pow(1 + monthlyRate, numberOfPayments)) / (Math.pow(1 + monthlyRate, numberOfPayments) – 1);
}
if (isNaN(monthlyMortgage)) monthlyMortgage = 0;
// Operating Expenses
var vacancyCost = rent * (vacancyPercent / 100);
var maintenanceCost = rent * (maintPercent / 100);
var monthlyTaxes = taxesYear / 12;
var monthlyIns = insYear / 12;
var totalOperatingExpensesMonthly = monthlyTaxes + monthlyIns + hoaMonth + maintenanceCost + vacancyCost;
// NOI (Net Operating Income)
var monthlyNOI = rent – totalOperatingExpensesMonthly;
var annualNOI = monthlyNOI * 12;
// Cash Flow
var monthlyCashFlow = monthlyNOI – monthlyMortgage;
var annualCashFlow = monthlyCashFlow * 12;
// Returns
var capRate = 0;
if (price > 0) {
capRate = (annualNOI / price) * 100;
}
var cashOnCash = 0;
if (totalInvested > 0) {
cashOnCash = (annualCashFlow / totalInvested) * 100;
}
// 3. Display Results
document.getElementById('displayCoC').innerHTML = cashOnCash.toFixed(2) + "%";
document.getElementById('displayCashFlow').innerHTML = "$" + monthlyCashFlow.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
document.getElementById('displayCapRate').innerHTML = capRate.toFixed(2) + "%";
document.getElementById('displayNOI').innerHTML = "$" + annualNOI.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
document.getElementById('displayTotalInvested').innerHTML = "$" + totalInvested.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
document.getElementById('displayMortgage').innerHTML = "$" + monthlyMortgage.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
var totalExpensesMonthly = totalOperatingExpensesMonthly + monthlyMortgage;
document.getElementById('displayTotalExpenses').innerHTML = "$" + totalExpensesMonthly.toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,');
// Show result area
document.getElementById('results-area').style.display = 'block';
}
How to Calculate Cash on Cash Return
Real estate investing relies heavily on accurate mathematical analysis to ensure a property will be profitable. The Cash on Cash Return (CoC) is one of the most important metrics for investors because it measures the annual return on the actual cash invested, rather than the total purchase price of the property.
Unlike a standard "Return on Investment" (ROI) which might look at total equity, Cash on Cash return focuses strictly on the liquid cash you put into the deal (down payment plus closing costs) versus the liquid cash the property generates (net cash flow).
The Formula
The calculation used in this calculator is based on the standard industry formula:
- Annual Cash Flow = (Monthly Rent × 12) – (Operating Expenses + Mortgage Payments)
- Total Cash Invested = Down Payment + Closing Costs + Rehab Costs
- Cash on Cash Return = (Annual Cash Flow / Total Cash Invested) × 100
Understanding the Metrics
When analyzing a rental property, it is crucial to understand the difference between the various output metrics provided by this calculator:
- Net Operating Income (NOI): This is your total revenue minus operating expenses (taxes, insurance, maintenance, vacancy), excluding mortgage payments. It represents the profitability of the property itself, regardless of financing.
- Cap Rate (Capitalization Rate): Calculated as NOI divided by the purchase price. This metric allows you to compare the "raw" potential of different properties assuming an all-cash purchase. It helps measure market risk and value.
- Cash Flow: The actual money left in your pocket every month after paying all expenses and the mortgage. Positive cash flow is essential for sustainable investing.
What is a "Good" Cash on Cash Return?
While answers vary depending on the market and the investor's goals, most professional real estate investors aim for a Cash on Cash return between 8% and 12%. In highly competitive markets, investors might accept 5-7% anticipating higher property appreciation, while in riskier or lower-cost markets, investors may demand 15% or higher.
Why Use This Calculator?
Many novice investors make the mistake of underestimating expenses. This tool forces you to account for "silent killers" of profit, such as vacancy rates (months where the property sits empty) and maintenance reserves (funds set aside for future repairs). By including these in your calculation, you get a realistic view of the property's potential performance before you sign any contracts.