Please fill in the Purchase Price and Monthly Rent fields correctly.
Investment Performance
Gross Rental Yield:0.00%
Net Rental Yield (Cap Rate):0.00%
Annual Net Operating Income (NOI):$0.00
Monthly Cash Flow (Est.):$0.00
Total Annual Expenses:$0.00
Understanding Rental Yield and Cap Rate
Investing in real estate requires more than just buying a property and hoping it appreciates. Professional investors rely on specific metrics to determine if a property is a sound financial decision. This Rental Yield Calculator helps you compute the two most critical figures: Gross Yield and Capitalization Rate (Cap Rate).
What is Gross Rental Yield?
Gross Rental Yield is the simplest calculation for property investors. It represents the annual rental income expressed as a percentage of the property's value. While useful for a quick glance, it does not account for operating expenses.
Formula: (Annual Rental Income / Property Value) × 100
What is the Capitalization Rate (Cap Rate)?
The Cap Rate is a more accurate measure of a rental property's potential ROI (Return on Investment). It calculates the Net Operating Income (NOI) relative to the purchase price. The NOI includes income after deducting all operating expenses such as taxes, insurance, HOA fees, maintenance, and vacancy losses, but typically excludes mortgage payments.
Formula: (Net Operating Income / Property Value) × 100
What is a Good Rental Yield?
A "good" yield depends heavily on the location and property type:
High Growth Areas: Often have lower yields (3-5%) but higher potential for property value appreciation.
Stable Rental Markets: typically offer yields between 5-8%.
High Risk Areas: May offer yields above 10% to compensate for tenant turnover or lower appreciation.
Expenses Matter
Many new landlords underestimate the costs of owning a rental. Our calculator factors in:
Vacancy Rate: The percentage of time the property sits empty. A standard conservative estimate is 5-8%.
Maintenance: Repairs are inevitable. Budgeting 1% of the property value annually is a common rule of thumb.
HOA & Insurance: Fixed costs that directly reduce your monthly cash flow.
function calculateRentalYield() {
// Get Input Values
var price = parseFloat(document.getElementById('propPrice').value);
var rent = parseFloat(document.getElementById('monthlyRent').value);
var tax = parseFloat(document.getElementById('propTax').value) || 0;
var insurance = parseFloat(document.getElementById('insurance').value) || 0;
var hoa = parseFloat(document.getElementById('hoa').value) || 0;
var maintenancePercent = parseFloat(document.getElementById('maintenance').value) || 0;
var vacancyPercent = parseFloat(document.getElementById('vacancy').value) || 0;
var closingCosts = parseFloat(document.getElementById('closingCosts').value) || 0;
var errorDiv = document.getElementById('errorMsg');
var resultsDiv = document.getElementById('resultsArea');
// Validation
if (isNaN(price) || isNaN(rent) || price <= 0 || rent <= 0) {
errorDiv.style.display = 'block';
resultsDiv.style.display = 'none';
return;
}
errorDiv.style.display = 'none';
// Calculations
// 1. Gross Annual Income
var annualRent = rent * 12;
// 2. Effective Gross Income (Adjusted for Vacancy)
var vacancyLoss = annualRent * (vacancyPercent / 100);
var effectiveGrossIncome = annualRent – vacancyLoss;
// 3. Maintenance Cost Calculation (Based on Property Value % per year)
// Note: Some investors calculate maintenance as % of rent, others as % of value.
// The input label says "% of Value" which is a safer buffer for big repairs (CapEx).
var maintenanceCost = price * (maintenancePercent / 100);
// 4. Total Operating Expenses
var annualHOA = hoa * 12;
var totalExpenses = tax + insurance + annualHOA + maintenanceCost;
// 5. Net Operating Income (NOI)
var noi = effectiveGrossIncome – totalExpenses;
// 6. Total Investment Cost Base
var totalInvestment = price + closingCosts;
// 7. Yield Metrics
var grossYield = (annualRent / totalInvestment) * 100;
var capRate = (noi / totalInvestment) * 100;
// 8. Monthly Cash Flow (Pre-Mortgage)
var monthlyCashFlow = noi / 12;
// Display Results with Formatting
var formatter = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 2
});
document.getElementById('grossYield').innerHTML = grossYield.toFixed(2) + "%";
document.getElementById('capRate').innerHTML = capRate.toFixed(2) + "%";
document.getElementById('annualNOI').innerHTML = formatter.format(noi);
document.getElementById('monthlyCashFlow').innerHTML = formatter.format(monthlyCashFlow);
document.getElementById('totalExpenses').innerHTML = formatter.format(totalExpenses);
// Conditional styling for negative cash flow
if(noi < 0) {
document.getElementById('annualNOI').style.color = '#dc3545';
document.getElementById('monthlyCashFlow').style.color = '#dc3545';
} else {
document.getElementById('annualNOI').style.color = '#2c3e50';
document.getElementById('monthlyCashFlow').style.color = '#2c3e50';
}
resultsDiv.style.display = 'block';
}