Skip the math: use our free interactive calculator, live results, embeddable, no signup.
The DSCR calculator below is two clicks of arithmetic. Net operating income divided by annual debt service. Five seconds.
The calculator has two modes: forward (NOI and debt service → coverage) and reverse (NOI and target coverage → maximum loan size). The second mode is the one analysts rely on during a live deal. Forward DSCR is how you screen. Reverse DSCR is how you size.
I spent 10 years on the buy side, the last five as Director of Research, closing more than $2B in CRE. Most acquisitions call for both versions of this math: first to check whether the property covers debt at the intended leverage, then to back-solve loan proceeds when coverage is the binding constraint instead of LTV. Use the calculator below, then read the rest of the page before you treat the output as a number you can take to a lender.
DSCR Calculator
Calculate DSCR
Enter your forward NOI and annual debt service. DSCR updates automatically.
<div class="grid gap-4 sm:grid-cols-2">
<div>
<label for="dscr-noi" class="mb-2 block text-sm font-medium text-gray-700">Net Operating Income (NOI)</label>
<div class="relative">
<span class="absolute left-3 top-1/2 -translate-y-1/2 text-gray-500">$</span>
<input
id="dscr-noi"
type="text"
inputmode="decimal"
placeholder="750,000"
class="w-full rounded-md border border-gray-300 bg-white py-2 pl-7 pr-3 text-base text-gray-900 focus:border-blue-600 focus:outline-none focus:ring-1 focus:ring-blue-600"
/>
</div>
<p class="mt-1 text-xs text-gray-500">Forward 12-month NOI, normalized for vacancy, market management fee, and reserves.</p>
</div>
<div>
<label for="dscr-debt-service" class="mb-2 block text-sm font-medium text-gray-700">Annual Debt Service</label>
<div class="relative">
<span class="absolute left-3 top-1/2 -translate-y-1/2 text-gray-500">$</span>
<input
id="dscr-debt-service"
type="text"
inputmode="decimal"
placeholder="600,000"
class="w-full rounded-md border border-gray-300 bg-white py-2 pl-7 pr-3 text-base text-gray-900 focus:border-blue-600 focus:outline-none focus:ring-1 focus:ring-blue-600"
/>
</div>
<p class="mt-1 text-xs text-gray-500">Principal + interest over 12 months at the proposed loan terms.</p>
</div>
</div>
<div id="dscr-result-box" class="mt-6 rounded-md border border-blue-100 bg-blue-50 p-4">
<div class="flex items-baseline justify-between">
<span class="text-sm font-medium text-blue-900">Debt Service Coverage Ratio</span>
<span id="dscr-result" class="text-3xl font-semibold text-blue-900">—</span>
</div>
<p id="dscr-interpretation" class="mt-2 text-sm text-blue-800">Enter NOI and debt service to calculate.</p>
</div>
<div class="mt-4 grid gap-3 sm:grid-cols-2">
<div class="rounded-md border border-gray-200 bg-gray-50 p-3">
<div class="text-xs font-medium uppercase tracking-wide text-gray-600">Coverage Cushion</div>
<div id="dscr-cushion" class="mt-1 text-sm text-gray-900">Enter values to see the dollar cushion above breakeven.</div>
</div>
<div class="rounded-md border border-gray-200 bg-gray-50 p-3">
<div class="text-xs font-medium uppercase tracking-wide text-gray-600">NOI Drop to Breakeven</div>
<div id="dscr-breakeven" class="mt-1 text-sm text-gray-900">Enter values to see how much NOI can fall before coverage breaks.</div>
</div>
</div>
Solve for Maximum Loan Size
Given NOI, target DSCR, interest rate, and amortization, calculate maximum supportable debt service and loan amount.
<div class="grid gap-4 sm:grid-cols-2">
<div>
<label for="dscr-rev-noi" class="mb-2 block text-sm font-medium text-gray-700">Net Operating Income (NOI)</label>
<div class="relative">
<span class="absolute left-3 top-1/2 -translate-y-1/2 text-gray-500">$</span>
<input
id="dscr-rev-noi"
type="text"
inputmode="decimal"
placeholder="750,000"
class="w-full rounded-md border border-gray-300 bg-white py-2 pl-7 pr-3 text-base text-gray-900 focus:border-blue-600 focus:outline-none focus:ring-1 focus:ring-blue-600"
/>
</div>
</div>
<div>
<label for="dscr-rev-target" class="mb-2 block text-sm font-medium text-gray-700">Target DSCR</label>
<input
id="dscr-rev-target"
type="text"
inputmode="decimal"
placeholder="1.25"
value="1.25"
class="w-full rounded-md border border-gray-300 bg-white py-2 px-3 text-base text-gray-900 focus:border-blue-600 focus:outline-none focus:ring-1 focus:ring-blue-600"
/>
<p class="mt-1 text-xs text-gray-500">Lender minimum. Ask your lender.</p>
</div>
<div>
<label for="dscr-rev-rate" class="mb-2 block text-sm font-medium text-gray-700">Interest Rate (%)</label>
<input
id="dscr-rev-rate"
type="text"
inputmode="decimal"
placeholder="6.50"
value="6.50"
class="w-full rounded-md border border-gray-300 bg-white py-2 px-3 text-base text-gray-900 focus:border-blue-600 focus:outline-none focus:ring-1 focus:ring-blue-600"
/>
</div>
<div>
<label for="dscr-rev-amort" class="mb-2 block text-sm font-medium text-gray-700">Amortization (years)</label>
<input
id="dscr-rev-amort"
type="text"
inputmode="decimal"
placeholder="30"
value="30"
class="w-full rounded-md border border-gray-300 bg-white py-2 px-3 text-base text-gray-900 focus:border-blue-600 focus:outline-none focus:ring-1 focus:ring-blue-600"
/>
<p class="mt-1 text-xs text-gray-500">Use 30 for most CMBS, 25-30 for life co, IO for bridge.</p>
</div>
</div>
<div class="mt-6 grid gap-3 sm:grid-cols-3">
<div class="rounded-md border border-blue-100 bg-blue-50 p-4">
<div class="text-xs font-medium uppercase tracking-wide text-blue-900">Max Annual Debt Service</div>
<div id="dscr-rev-ds" class="mt-1 text-xl font-semibold text-blue-900">—</div>
</div>
<div class="rounded-md border border-blue-100 bg-blue-50 p-4">
<div class="text-xs font-medium uppercase tracking-wide text-blue-900">Max Loan Amount</div>
<div id="dscr-rev-loan" class="mt-1 text-xl font-semibold text-blue-900">—</div>
</div>
<div class="rounded-md border border-blue-100 bg-blue-50 p-4">
<div class="text-xs font-medium uppercase tracking-wide text-blue-900">Loan Constant</div>
<div id="dscr-rev-constant" class="mt-1 text-xl font-semibold text-blue-900">—</div>
</div>
</div>
<p id="dscr-rev-note" class="mt-3 text-xs text-gray-500">Loan size assumes a fully-amortizing loan at the rate and term entered. For interest-only loans, the supportable loan is higher (loan = max debt service / rate).</p>
When does DSCR matter most?
A DSCR calculation is a screen and a sizing tool. It matters most in four moments:
- Initial deal screen. You see a property at a 6.25% asking cap. Punch in normalized NOI and a quick debt service estimate at current rates. If coverage is below the lender’s minimum at your target LTV, the deal won’t lever the way you want. Walk away or revise basis assumptions before doing the full underwrite.
- Sizing the loan. Once you know what you’re willing to pay, the reverse calculator tells you how much debt the property supports at the lender’s coverage threshold. If LTV would let you borrow 70% but DSCR caps you at 58%, you’re getting 58%. Equity check changes accordingly.
- Refinance underwriting. A property you’ve owned for three years is up for refi. Run forward DSCR on the next 12 months at current rates against amortizing debt service. For example, if coverage dropped from 1.45x at original close to 1.18x today, you may need to recapitalize before refi.
- Stress testing for IC. Show the IC committee DSCR at base case, +50 bps, +100 bps, and at exit cap. If coverage holds above the lender’s minimum in the stress case, the deal is fundable. If it doesn’t, you have an interest-rate-sensitivity problem the committee will spot.
What NOI should you use in a DSCR calculator?
The single most common mistake: plugging in trailing NOI from the offering memorandum and calling it a day. That NOI was almost certainly assembled by the seller’s broker, who has every incentive to make the property look as profitable as possible.
For a buy-side DSCR screen, use forward stabilized NOI with the same adjustments a lender will eventually apply:
- Vacancy and credit loss: market-level vacancy for the property type and submarket, not the seller’s in-place figure.
- Market management fee: a market fee on effective gross income, even if you’ll self-manage.
- Replacement reserves: the reserve the lender requires, per unit or per square foot by property type.
- Reassessed real estate taxes: estimate from the purchase price and the jurisdiction’s reassessment policy. In jurisdictions that reassess on sale, this can be a large increase over trailing taxes.
- Tenant credit haircuts: lenders may discount rent from non-investment-grade tenants on office and retail.
If you plug a normalized NOI into the calculator, your DSCR will be close to what the lender computes. If you plug in OM NOI, expect your DSCR to be too high.
What DSCR do lenders require?
Minimums vary by lender type (agency, bank, CMBS, life company, bridge, non-bank DSCR programs), property type, and loan structure, and they move with the rate cycle. This page does not publish a table of thresholds because we could not source one we stand behind. Instead:
- Ask each lender for its minimum DSCR and the NOI it tests against.
- Read the program guidelines for agency and non-bank programs; the lender publishes them.
- Ask whether the test uses actual debt service, an interest-only payment, or a “constant” that assumes amortization.
- Bridge and value-add lenders often test stabilized DSCR at takeout rather than going-in DSCR.
How do you size a loan with a reverse DSCR calculation?
The reverse calculator solves the more practical question on most institutional deals: given the NOI this property produces, what’s the largest loan it can support?
The math:
Maximum annual debt service = NOI / Target DSCR
Then back into loan size using the loan constant: the annual debt service per dollar of principal at a given rate and amortization. A 6.50% / 30-year loan has a constant of about 7.58%, so $1M of debt service supports about $13.2M of principal.
Maximum loan = Maximum debt service / Loan constant
For a $750K NOI, 1.25x target, 6.50% rate, and 30-year amortization, the property supports:
- Maximum debt service: $600,000
- Maximum loan: $7,917,000
That’s your DSCR-constrained loan size. Compare it to your LTV cap. If you’re buying the property at $10M and the lender quotes 70% LTV, the LTV-implied loan is $7M. But DSCR allows $7.9M, so the binding constraint is LTV (not DSCR), and you’re sized at $7M. Flip the numbers (same property but a 1.30x target) and DSCR caps the loan at $7.6M, below 70% LTV, so DSCR is now binding.
This is how lenders actually size deals. They run both tests (and usually debt yield as a third) and size to the most restrictive. The reverse calculator gives you the same answer they will, before you commit to a price.
Common mistakes to avoid
- Trailing NOI on a recent acquisition. The trailing income reflects the prior owner’s tax basis and operating decisions. Use forward.
- Pro forma NOI with no lease-up risk. If you’re underwriting to Year-3 stabilized NOI, your going-in coverage is lower than the calculator shows.
- Interest-only debt service against a long-term DSCR. IO flatters coverage. Run an amortizing scenario in parallel.
- Missing the property tax reassessment. On full-reassessment jurisdictions, taxes can rise sharply on transfer, and skipping this can move DSCR materially.
- Treating the calculator output as the lender’s answer. Your forward DSCR is what you control. The lender will run their own. Be conservative on inputs.
Where this fits in real diligence
The DSCR calculator above runs the math. The work that produces a DSCR you can defend to an investment committee (reconciling every lease, normalizing every expense line, reassessing taxes at the purchase price, applying tenant credit haircuts, modeling rollover) is exactly the kind of manual reconciliation that should not be done by hand on every deal.
Moraine is built for that bottleneck. The platform extracts lease terms with page-level citations back to the source documents, builds a defensible DCF model, and produces IC-ready due diligence with every number linked to its source. The calculator on this page handles a single test. Moraine handles the underwriting around it.