.cap-rate-calculator-wrapper {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
max-width: 800px;
margin: 0 auto;
background: #fff;
color: #333;
line-height: 1.6;
}
.calc-container {
background: #f8f9fa;
padding: 30px;
border-radius: 8px;
box-shadow: 0 4px 15px rgba(0,0,0,0.1);
margin-bottom: 40px;
border: 1px solid #e9ecef;
}
.calc-title {
text-align: center;
color: #2c3e50;
margin-bottom: 25px;
font-size: 24px;
font-weight: 700;
}
.calc-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}
@media (max-width: 600px) {
.calc-grid {
grid-template-columns: 1fr;
}
}
.input-group {
margin-bottom: 15px;
}
.input-group label {
display: block;
margin-bottom: 8px;
font-weight: 600;
font-size: 14px;
color: #495057;
}
.input-group input {
width: 100%;
padding: 12px;
border: 1px solid #ced4da;
border-radius: 6px;
font-size: 16px;
transition: border-color 0.2s;
box-sizing: border-box;
}
.input-group input:focus {
border-color: #3498db;
outline: none;
box-shadow: 0 0 0 3px rgba(52, 152, 219, 0.25);
}
.section-header {
grid-column: 1 / -1;
font-size: 18px;
color: #2c3e50;
border-bottom: 2px solid #e9ecef;
padding-bottom: 10px;
margin: 20px 0 10px 0;
font-weight: bold;
}
.btn-calculate {
grid-column: 1 / -1;
background: #27ae60;
color: white;
border: none;
padding: 15px;
font-size: 18px;
font-weight: bold;
border-radius: 6px;
cursor: pointer;
transition: background 0.2s;
margin-top: 10px;
width: 100%;
}
.btn-calculate:hover {
background: #219150;
}
.results-box {
grid-column: 1 / -1;
background: #fff;
padding: 20px;
border-radius: 6px;
border-left: 5px solid #27ae60;
margin-top: 20px;
display: none;
}
.result-row {
display: flex;
justify-content: space-between;
margin-bottom: 10px;
font-size: 16px;
}
.result-row.final {
border-top: 1px solid #eee;
padding-top: 10px;
margin-top: 10px;
font-size: 20px;
font-weight: 800;
color: #27ae60;
}
.result-label {
color: #555;
}
.result-value {
font-weight: bold;
color: #333;
}
.article-content {
padding: 20px 0;
}
.article-content h2 {
color: #2c3e50;
margin-top: 30px;
}
.article-content p, .article-content li {
color: #555;
font-size: 17px;
margin-bottom: 15px;
}
.article-content ul {
padding-left: 20px;
}
.highlight-box {
background-color: #e8f4fc;
padding: 15px;
border-radius: 5px;
border-left: 4px solid #3498db;
margin: 20px 0;
}
function calculateCapRate() {
// Get Input Values
var price = parseFloat(document.getElementById('purchasePrice').value) || 0;
var grossIncome = parseFloat(document.getElementById('grossIncome').value) || 0;
var vacancyRate = parseFloat(document.getElementById('vacancyRate').value) || 0;
var mgmt = parseFloat(document.getElementById('managementFees').value) || 0;
var tax = parseFloat(document.getElementById('propertyTax').value) || 0;
var ins = parseFloat(document.getElementById('insurance').value) || 0;
var maint = parseFloat(document.getElementById('maintenance').value) || 0;
var other = parseFloat(document.getElementById('otherExp').value) || 0;
// Calculations
var vacancyLoss = grossIncome * (vacancyRate / 100);
var effectiveIncome = grossIncome – vacancyLoss;
var totalExpenses = mgmt + tax + ins + maint + other;
var noi = effectiveIncome – totalExpenses;
var capRate = 0;
if (price > 0) {
capRate = (noi / price) * 100;
}
// Formatting currency
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 0,
maximumFractionDigits: 0,
});
// Display Results
document.getElementById('resultsBox').style.display = 'block';
document.getElementById('dispGross').innerText = formatter.format(grossIncome);
document.getElementById('dispVacancy').innerText = "-" + formatter.format(vacancyLoss);
document.getElementById('dispEffective').innerText = formatter.format(effectiveIncome);
document.getElementById('dispExpenses').innerText = "-" + formatter.format(totalExpenses);
document.getElementById('dispNOI').innerText = formatter.format(noi);
var capRateElement = document.getElementById('dispCapRate');
capRateElement.innerText = capRate.toFixed(2) + "%";
// Visual feedback based on result
if(capRate = 4 && capRate < 8) {
capRateElement.style.color = "#f39c12"; // Orange for moderate
} else {
capRateElement.style.color = "#27ae60"; // Green for high
}
}
What is a Capitalization Rate (Cap Rate)?
The Capitalization Rate, commonly referred to as the "Cap Rate," is one of the most fundamental metrics in commercial and investment real estate. It represents the expected rate of return on a real estate investment property based on the income the property is expected to generate.
Formula: Cap Rate = (Net Operating Income / Current Market Value) × 100
Unlike other metrics such as Cash-on-Cash return, the Cap Rate does not take mortgage financing into account. It assumes the property is purchased with 100% cash. This makes it an excellent tool for comparing the intrinsic value and profitability of different properties relative to their purchase price, regardless of how they are financed.
How to Use This Cap Rate Calculator
Our calculator simplifies the process of deriving the Cap Rate by breaking down the specific inputs required for an accurate analysis:
- Purchase Price: The current listing price or the amount you intend to offer for the property.
- Gross Annual Rental Income: The total income the property generates in a year before any expenses are deducted.
- Vacancy Rate: Real estate is rarely 100% occupied forever. A standard safety margin is 5% to 10% to account for turnover periods.
- Operating Expenses: These are the costs required to run the property, including property management fees, taxes, insurance, maintenance, and HOA fees.
What is a "Good" Cap Rate?
There is no single number that defines a "good" Cap Rate, as it varies significantly by location, asset class, and market risk. Generally:
- 4% to 5%: Often found in high-demand, low-risk areas (Class A properties in major cities). These properties usually have lower returns but higher appreciation potential.
- 6% to 8%: Considered a balanced return for moderate-risk investments.
- 8% to 10%+: Typically found in higher-risk neighborhoods or older properties requiring more maintenance (Class C properties). While the cash flow looks higher, the risk of vacancy and repairs is also greater.
Net Operating Income (NOI) Explained
The key driver of your Cap Rate is the Net Operating Income (NOI). NOI is calculated by subtracting all operating expenses from the effective gross income. Crucially, mortgage payments (debt service) are NOT included in operating expenses when calculating NOI or Cap Rate.
Use this calculator to quickly screen potential investment properties. If a property's Cap Rate is significantly lower than the market average for that area, it may be overpriced. Conversely, a higher Cap Rate might indicate a bargain—or hidden issues that justify the higher risk premium.