How to Calculate a Cap Rate on a Rental Property

Rental Property Cap Rate Calculator :root { –primary-color: #2c3e50; –accent-color: #27ae60; –bg-color: #f4f7f6; –text-color: #333; –border-radius: 8px; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; line-height: 1.6; color: var(–text-color); max-width: 800px; margin: 0 auto; padding: 20px; background-color: #fff; } .calculator-container { background-color: var(–bg-color); padding: 30px; border-radius: var(–border-radius); box-shadow: 0 4px 6px rgba(0,0,0,0.1); margin-bottom: 40px; border: 1px solid #e0e0e0; } .calculator-header { text-align: center; margin-bottom: 25px; } .calculator-header h2 { color: var(–primary-color); margin: 0; font-size: 24px; } .input-group { margin-bottom: 20px; } .input-group label { display: block; margin-bottom: 8px; font-weight: 600; font-size: 14px; color: var(–primary-color); } .input-wrapper { position: relative; } .input-wrapper input { width: 100%; padding: 12px; padding-left: 25px; /* Space for currency symbol */ border: 1px solid #ccc; border-radius: 4px; font-size: 16px; box-sizing: border-box; } .input-wrapper.percent input { padding-left: 12px; padding-right: 25px; } .currency-symbol { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #777; font-weight: bold; } .percent-symbol { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: #777; font-weight: bold; } button.calc-btn { width: 100%; padding: 15px; background-color: var(–accent-color); color: white; border: none; border-radius: 4px; font-size: 18px; font-weight: bold; cursor: pointer; transition: background-color 0.3s; margin-top: 10px; } button.calc-btn:hover { background-color: #219150; } #results { margin-top: 30px; padding: 20px; background-color: #fff; border-radius: 4px; display: none; border-left: 5px solid var(–accent-color); } .result-row { display: flex; justify-content: space-between; margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px solid #eee; } .result-row:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; } .result-label { font-weight: 500; color: #555; } .result-value { font-weight: bold; font-size: 18px; color: var(–primary-color); } .final-cap-rate { font-size: 28px; color: var(–accent-color); } .article-content h2, .article-content h3 { color: var(–primary-color); margin-top: 30px; } .article-content p, .article-content li { margin-bottom: 15px; font-size: 16px; } .article-content ul { margin-left: 20px; } .callout { background-color: #e8f6f3; padding: 15px; border-left: 4px solid var(–accent-color); margin: 20px 0; } .formula-box { background-color: #2c3e50; color: #fff; padding: 15px; text-align: center; font-family: monospace; font-size: 1.1em; border-radius: 4px; margin: 20px 0; } @media (max-width: 600px) { .calculator-container { padding: 20px; } }

Cap Rate Calculator

Calculate the Capitalization Rate for Real Estate Investments

$
$
%
$
Includes taxes, insurance, maintenance, property management, but NOT loan payments.
Gross Income: $0.00
Vacancy Loss: $0.00
Effective Gross Income: $0.00
Operating Expenses: $0.00
Net Operating Income (NOI): $0.00
Capitalization Rate: 0.00%

How to Calculate a Cap Rate on a Rental Property

The Capitalization Rate, or "Cap Rate," is one of the most fundamental metrics in real estate investing. It allows investors to assess the profitability and return potential of a rental property regardless of how it is financed. Unlike Cash-on-Cash return, Cap Rate ignores mortgage debt, providing a pure measure of the property's natural yield.

The Cap Rate Formula

Calculating the Cap Rate requires two primary figures: the Net Operating Income (NOI) and the current market value (or purchase price) of the property.

Cap Rate = (Net Operating Income / Property Value) × 100

To use this formula effectively, you must understand the components:

  • Property Value: The current market price or the price you intend to pay for the asset.
  • Net Operating Income (NOI): This is the annual income the property generates after all operating expenses are deducted, but before debt service (mortgage payments) and income taxes.

Step-by-Step Calculation Guide

1. Determine Gross Annual Income

Start by calculating the total income the property could generate if it were fully rented for the entire year. This includes rent, parking fees, laundry coin-op income, and any other revenue streams.

2. Account for Vacancy

No property is occupied 100% of the time forever. It is prudent to subtract a vacancy rate (typically 5% to 10%) to determine your Effective Gross Income.

3. Deduct Operating Expenses

Subtract all costs required to run the property. Common operating expenses include:

  • Property Taxes
  • Property Insurance
  • Maintenance and Repairs (estimate 1% of property value annually)
  • Property Management Fees (typically 8-10% of rent)
  • Utilities (if paid by landlord)
  • Landscaping and Snow Removal
Important: Do NOT include mortgage principal, interest, or capital expenditures (like a new roof) in Operating Expenses when calculating Cap Rate.

4. Divide NOI by Property Value

Once you have the NOI (Effective Income minus Expenses), divide that number by the Property Value. Multiply the result by 100 to get the percentage.

Example Calculation

Let's say you are looking at a single-family rental with a purchase price of $250,000.

  • Gross Rent: $24,000 per year ($2,000/month).
  • Vacancy (5%): $1,200.
  • Effective Income: $22,800.
  • Operating Expenses: $7,000 (Taxes, Insurance, Repairs).
  • Net Operating Income (NOI): $15,800 ($22,800 – $7,000).

Calculation: ($15,800 / $250,000) = 0.0632

Cap Rate: 6.32%

What is a "Good" Cap Rate?

There is no single "good" Cap Rate, as it depends on the location, asset class, and economic environment. Generally:

  • 4% – 5%: Common in high-demand, low-risk areas (Class A properties in major cities).
  • 6% – 8%: Often considered a healthy balance of risk and return for residential rentals.
  • 8% – 12%+: Common in older properties or riskier neighborhoods where the potential for cash flow is high, but so is the risk of vacancy or repair issues.

Investors use the Cap Rate to compare different properties. If Property A has a Cap Rate of 5% and Property B has a Cap Rate of 8%, Property B offers a higher return relative to its price, though it likely comes with higher risk.

function calculateCapRate() { // 1. Get Input Values var propValueStr = document.getElementById('propertyValue').value; var grossIncomeStr = document.getElementById('grossAnnualIncome').value; var vacancyRateStr = document.getElementById('vacancyRate').value; var expensesStr = document.getElementById('operatingExpenses').value; // 2. Validate and Parse Inputs var propValue = parseFloat(propValueStr); var grossIncome = parseFloat(grossIncomeStr); var vacancyRate = parseFloat(vacancyRateStr); var expenses = parseFloat(expensesStr); // Simple validation checks if (isNaN(propValue) || propValue <= 0) { alert("Please enter a valid Property Market Value greater than 0."); return; } if (isNaN(grossIncome) || grossIncome < 0) { alert("Please enter a valid Gross Annual Income."); return; } if (isNaN(expenses) || expenses < 0) { alert("Please enter valid Operating Expenses."); return; } // If vacancy is empty, treat as 0 if (isNaN(vacancyRate)) { vacancyRate = 0; } // 3. Perform Calculations // Calculate Vacancy Loss var vacancyLoss = grossIncome * (vacancyRate / 100); // Calculate Effective Gross Income var effectiveIncome = grossIncome – vacancyLoss; // Calculate Net Operating Income (NOI) var noi = effectiveIncome – expenses; // Calculate Cap Rate // Formula: (NOI / Property Value) * 100 var capRate = (noi / propValue) * 100; // 4. Update the DOM with Results var formatter = new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', minimumFractionDigits: 2 }); document.getElementById('resGrossIncome').innerText = formatter.format(grossIncome); document.getElementById('resVacancyLoss').innerText = formatter.format(vacancyLoss); document.getElementById('resEffectiveIncome').innerText = formatter.format(effectiveIncome); document.getElementById('resExpenses').innerText = formatter.format(expenses); // Color NOI based on positive/negative var noiElement = document.getElementById('resNOI'); noiElement.innerText = formatter.format(noi); if (noi < 0) { noiElement.style.color = '#e74c3c'; // Red for negative } else { noiElement.style.color = '#2c3e50'; // Standard color } // Display Cap Rate document.getElementById('resCapRate').innerText = capRate.toFixed(2) + "%"; // Show the results container document.getElementById('results').style.display = 'block'; }

Leave a Comment