{
  "slug": "rental-cap-rate",
  "title": "Rental Property Cap Rate Calculator",
  "heading": "Cap Rate Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/rental-cap-rate",
  "summary": "Net operating income over price — the unlevered yield that lets you compare any two deals.",
  "description": "Cap rate is net operating income divided by purchase price, and it deliberately ignores financing so two properties can be compared on the asset alone. This calculator builds NOI properly: gross rent less vacancy, less every operating expense — taxes, insurance, management, maintenance, capital reserves, utilities, HOA — and specifically excluding mortgage payments and depreciation, which are financing and tax items, not operating ones. It returns the cap rate on purchase price and on all-in cost including closing and rehab, since the second figure is the one that reflects what you actually spent.",
  "formula": "Effective gross income = rent × 12 × (1 − vacancy). NOI = EGI − operating expenses. Cap rate = NOI ÷ price. All-in cap rate = NOI ÷ (price + closing + rehab).",
  "dateModified": "2026-08-25",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=rental-cap-rate",
  "inputs": [
    {
      "id": "price",
      "label": "Purchase price",
      "kind": "number",
      "hint": null,
      "default": 285000,
      "unit": "$",
      "min": 1000,
      "max": null
    },
    {
      "id": "closing",
      "label": "Closing costs",
      "kind": "number",
      "hint": null,
      "default": 7000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "rehab",
      "label": "Immediate rehab",
      "kind": "number",
      "hint": null,
      "default": 12000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "rent",
      "label": "Monthly market rent",
      "kind": "number",
      "hint": null,
      "default": 2350,
      "unit": "$/mo",
      "min": 0,
      "max": null
    },
    {
      "id": "otherIncome",
      "label": "Other income",
      "kind": "number",
      "hint": "Parking, laundry, pet rent, storage",
      "default": 60,
      "unit": "$/mo",
      "min": 0,
      "max": null
    },
    {
      "id": "vacancy",
      "label": "Vacancy & credit loss",
      "kind": "number",
      "hint": null,
      "default": 6,
      "unit": "%",
      "min": 0,
      "max": 50
    },
    {
      "id": "taxes",
      "label": "Property taxes",
      "kind": "number",
      "hint": null,
      "default": 3900,
      "unit": "$/yr",
      "min": 0,
      "max": null
    },
    {
      "id": "insurance",
      "label": "Insurance",
      "kind": "number",
      "hint": null,
      "default": 1500,
      "unit": "$/yr",
      "min": 0,
      "max": null
    },
    {
      "id": "mgmtPct",
      "label": "Property management",
      "kind": "number",
      "hint": null,
      "default": 8,
      "unit": "% of collected rent",
      "min": 0,
      "max": 20
    },
    {
      "id": "maintPct",
      "label": "Maintenance & repairs",
      "kind": "number",
      "hint": null,
      "default": 7,
      "unit": "% of rent",
      "min": 0,
      "max": 25
    },
    {
      "id": "capexPct",
      "label": "Capital reserves",
      "kind": "number",
      "hint": null,
      "default": 6,
      "unit": "% of rent",
      "min": 0,
      "max": 25
    },
    {
      "id": "otherOpex",
      "label": "Utilities, HOA & other",
      "kind": "number",
      "hint": null,
      "default": 1200,
      "unit": "$/yr",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "capRate",
      "label": "Cap rate on purchase price",
      "format": "percent",
      "hint": null,
      "primary": true
    },
    {
      "id": "allInCapRate",
      "label": "Cap rate on all-in cost",
      "format": "percent",
      "hint": null,
      "primary": false
    },
    {
      "id": "noi",
      "label": "Net operating income",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "monthlyNoi",
      "label": "NOI per month",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "egi",
      "label": "Effective gross income",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "opex",
      "label": "Total operating expenses",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "expenseRatio",
      "label": "Operating expense ratio",
      "format": "percent",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Purchase price: 285000 $",
      "Closing costs: 7000 $",
      "Immediate rehab: 12000 $",
      "Monthly market rent: 2350 $/mo",
      "Other income: 60 $/mo",
      "Vacancy & credit loss: 6 %",
      "Property taxes: 3900 $/yr",
      "Insurance: 1500 $/yr",
      "Property management: 8 % of collected rent",
      "Maintenance & repairs: 7 % of rent",
      "Capital reserves: 6 % of rent",
      "Utilities, HOA & other: 1200 $/yr"
    ],
    "outputs": [
      "Cap rate on purchase price: 5.2%",
      "Cap rate on all-in cost: 4.9%",
      "Net operating income: $14,875.99",
      "NOI per month: $1,239.67",
      "Effective gross income: $27,184.80",
      "Total operating expenses: $12,308.81",
      "Operating expense ratio: 45.3%"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter purchase price ($).",
      "Enter closing costs ($).",
      "Enter immediate rehab ($).",
      "Enter monthly market rent ($/mo).",
      "Enter other income ($/mo) — Parking, laundry, pet rent, storage.",
      "Enter vacancy & credit loss (%).",
      "Enter property taxes ($/yr).",
      "Enter insurance ($/yr).",
      "Enter property management (% of collected rent).",
      "Enter maintenance & repairs (% of rent).",
      "Enter capital reserves (% of rent).",
      "Enter utilities, hoa & other ($/yr).",
      "Read your cap rate on purchase price on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "price": 170000,
        "closing": 4000,
        "rehab": 7000,
        "rent": 1400,
        "otherIncome": 40,
        "vacancy": 3.5999999999999996,
        "taxes": 2300,
        "insurance": 900,
        "mgmtPct": 4.8,
        "maintPct": 4.2,
        "capexPct": 3.5999999999999996,
        "otherOpex": 700
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "price": 285000,
        "closing": 7000,
        "rehab": 12000,
        "rent": 2350,
        "otherIncome": 60,
        "vacancy": 6,
        "taxes": 3900,
        "insurance": 1500,
        "mgmtPct": 8,
        "maintPct": 7,
        "capexPct": 6,
        "otherOpex": 1200
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "price": 455000,
        "closing": 11000,
        "rehab": 19000,
        "rent": 3750,
        "otherIncome": 100,
        "vacancy": 9.600000000000001,
        "taxes": 6200,
        "insurance": 2400,
        "mgmtPct": 12.8,
        "maintPct": 11.200000000000001,
        "capexPct": 9.600000000000001,
        "otherOpex": 1900
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "Why doesn't cap rate include the mortgage?",
      "a": "Because financing is a property of the buyer, not the building. Two investors can pay wildly different rates on the same asset; stripping debt out lets you compare the property against other properties and against the local market's prevailing cap rate. Levered returns are measured with cash-on-cash instead."
    },
    {
      "q": "What's a good cap rate?",
      "a": "It is entirely market-relative. Prime metros with strong appreciation commonly trade at low single digits, while higher-yield secondary and tertiary markets can run considerably higher — and a very high cap rate is usually the market pricing in risk, weak tenant demand, or deferred maintenance rather than a bargain."
    },
    {
      "q": "Should capital reserves be an operating expense?",
      "a": "Strictly, capital expenditure sits below NOI in commercial appraisal, so purists exclude it. For small residential deals, excluding it produces a cap rate that quietly ignores the roof and the furnace, so including a reserve gives a far more honest number. Just be consistent when comparing to quoted market caps."
    },
    {
      "q": "Cap rate or cash-on-cash — which should drive the decision?",
      "a": "Use cap rate to judge the asset and the price, and cash-on-cash to judge your position in it. A deal can have a healthy cap rate and terrible cash-on-cash if it is financed badly, and the reverse is possible when cheap leverage flatters a mediocre building."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/rental-cash-flow",
    "https://www.revenuelab.fyi/toolbox/dscr-loan-sizing",
    "https://www.revenuelab.fyi/toolbox/one-percent-rule"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Rental Property Cap Rate Calculator (https://www.revenuelab.fyi/toolbox/rental-cap-rate)"
}