Property Cap Rate Calculator
.cr-calculator-container {
max-width: 800px;
margin: 0 auto;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
color: #333;
background: #fff;
border: 1px solid #e0e0e0;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}
.cr-header {
background: #0056b3;
color: white;
padding: 20px;
text-align: center;
}
.cr-header h2 {
margin: 0;
font-size: 24px;
}
.cr-body {
padding: 30px;
display: flex;
flex-wrap: wrap;
gap: 30px;
}
.cr-inputs {
flex: 1;
min-width: 300px;
}
.cr-results {
flex: 1;
min-width: 300px;
background: #f8f9fa;
padding: 20px;
border-radius: 6px;
border: 1px solid #dee2e6;
display: flex;
flex-direction: column;
justify-content: center;
}
.cr-form-group {
margin-bottom: 20px;
}
.cr-form-group label {
display: block;
font-weight: 600;
margin-bottom: 8px;
font-size: 14px;
color: #444;
}
.cr-form-group input {
width: 100%;
padding: 12px;
border: 1px solid #ccc;
border-radius: 4px;
font-size: 16px;
box-sizing: border-box;
}
.cr-form-group input:focus {
border-color: #0056b3;
outline: none;
box-shadow: 0 0 0 3px rgba(0,86,179,0.1);
}
.cr-btn {
width: 100%;
background: #0056b3;
color: white;
border: none;
padding: 15px;
font-size: 16px;
font-weight: bold;
border-radius: 4px;
cursor: pointer;
transition: background 0.2s;
}
.cr-btn:hover {
background: #004494;
}
.cr-result-item {
margin-bottom: 20px;
text-align: center;
border-bottom: 1px solid #e9ecef;
padding-bottom: 15px;
}
.cr-result-item:last-child {
border-bottom: none;
margin-bottom: 0;
padding-bottom: 0;
}
.cr-result-label {
font-size: 14px;
color: #666;
margin-bottom: 5px;
}
.cr-result-value {
font-size: 32px;
font-weight: 700;
color: #2c3e50;
}
.cr-result-value.highlight {
color: #28a745;
font-size: 42px;
}
.cr-article {
max-width: 800px;
margin: 40px auto;
padding: 0 20px;
line-height: 1.6;
color: #333;
}
.cr-article h2 {
color: #0056b3;
margin-top: 30px;
}
.cr-article p {
margin-bottom: 15px;
}
.cr-article ul {
margin-bottom: 15px;
padding-left: 20px;
}
.cr-article li {
margin-bottom: 8px;
}
.cr-error {
color: #dc3545;
font-size: 14px;
margin-top: 5px;
display: none;
}
@media (max-width: 600px) {
.cr-body {
flex-direction: column;
}
.cr-results {
margin-top: 0;
}
}
Capitalization Rate (Cap Rate)
0.00%
Net Operating Income (NOI)
$0.00
Effective Gross Income
$0.00
How to Calculate Property Cap Rate
The Capitalization Rate, or "Cap Rate," is one of the most fundamental metrics in commercial and investment real estate. It helps investors measure the potential return on an investment property, independent of how that property is financed. Essentially, it tells you the percentage return you would receive if you bought the property with all cash.
The Cap Rate Formula
The formula to calculate Cap Rate is relatively simple mathematically, but requires accurate data regarding the property's income and expenses:
Cap Rate = (Net Operating Income / Current Market Value) × 100
To use this formula, you must first calculate the Net Operating Income (NOI):
- Gross Income: Total annual rental income plus other income (parking, laundry, etc.).
- Vacancy Loss: Estimated income lost due to empty units (usually 5% to 10%).
- Operating Expenses: Costs to run the property (taxes, insurance, maintenance, management fees, utilities). Note: Do not include mortgage payments or capital expenditures.
Example Calculation
Let's say you are evaluating a small apartment building listed for $1,000,000.
- Gross Annual Income: The building generates $100,000 in rent per year.
- Vacancy: You estimate a 5% vacancy rate ($5,000 loss).
- Effective Gross Income: $100,000 – $5,000 = $95,000.
- Operating Expenses: Property taxes, insurance, and maintenance total $35,000 per year.
- NOI: $95,000 – $35,000 = $60,000.
Cap Rate Calculation: ($60,000 / $1,000,000) = 0.06 or 6.0%.
What is a Good Cap Rate?
There is no single "good" Cap Rate, as it varies by location, property class, and current economic interest rates. Generally:
- 4% – 5%: Often found in high-demand, low-risk areas (Class A properties in major cities). These offer stability but lower cash flow.
- 6% – 8%: Common for balanced investments offering a mix of stability and cash flow.
- 8% – 12%+: Typically found in riskier assets, older buildings, or rural areas. These offer higher potential returns to offset the higher risk.
Why Cap Rate Matters
Cap Rate allows you to compare different properties on an apples-to-apples basis. Since it excludes mortgage debt service, it reveals the profitability of the asset itself, not the profitability of your financing structure. A property with a high Cap Rate generally generates more income relative to its price, while a low Cap Rate implies the property is expensive relative to its income.
function calculatePropertyCapRate() {
// 1. Get input values by ID
var propValueInput = document.getElementById('cr_property_value');
var grossIncomeInput = document.getElementById('cr_annual_income');
var vacancyRateInput = document.getElementById('cr_vacancy_rate');
var expensesInput = document.getElementById('cr_annual_expenses');
var errorMsg = document.getElementById('cr_error_msg');
// 2. Parse values to floats
var propValue = parseFloat(propValueInput.value);
var grossIncome = parseFloat(grossIncomeInput.value);
var vacancyRate = parseFloat(vacancyRateInput.value);
var expenses = parseFloat(expensesInput.value);
// 3. Validation
if (isNaN(propValue) || isNaN(grossIncome) || isNaN(expenses) || propValue <= 0) {
errorMsg.style.display = 'block';
if (propValue <= 0) {
errorMsg.innerHTML = "Property Value must be greater than zero.";
} else {
errorMsg.innerHTML = "Please enter valid numbers for all fields.";
}
return;
}
// Handle vacancy if empty (default to 0)
if (isNaN(vacancyRate)) {
vacancyRate = 0;
}
errorMsg.style.display = 'none';
// 4. Calculate Logic
// Calculate Vacancy Loss
var vacancyLoss = grossIncome * (vacancyRate / 100);
// Calculate Effective Gross Income
var effectiveGrossIncome = grossIncome – vacancyLoss;
// Calculate Net Operating Income (NOI)
var noi = effectiveGrossIncome – expenses;
// Calculate Cap Rate
// Formula: (NOI / Property Value) * 100
var capRate = (noi / propValue) * 100;
// 5. Update UI
// Format Currency
var currencyFormatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 2
});
document.getElementById('cr_result_noi').innerText = currencyFormatter.format(noi);
document.getElementById('cr_result_effective_income').innerText = currencyFormatter.format(effectiveGrossIncome);
document.getElementById('cr_result_percentage').innerText = capRate.toFixed(2) + "%";
}