See exactly how many months of runway you have — and how changes to burn rate or revenue alter your timeline.
Advertisement
Cash Available$420,000
$10K$5M$10M
Monthly Gross Burn$38,000
$1K$250K$500K
Monthly Revenue$8,500
$0$100K$200K
Runway Remaining
14.3
months · approx. June 2026
Net burn: $29,500/month · Below the 18-month target — consider reducing burn or accelerating revenue.
$29,500
Net Monthly Burn
⚠ Low
Runway Status
$354,000
Annual Burn Rate
$8,500
Monthly Revenue
Advertisement
Why 18 Months Is the Startup Runway Benchmark
The 18-month rule comes from fundraising reality: a Series A process typically takes 3–6 months from first meetings to money in the bank. You need enough runway to run the business during that process plus a buffer if things take longer. 18 months = 12 months to hit milestones + 6 months to close the round.
Most founders are optimistic about both burn reduction and fundraising speed. If you have 14 months of runway, you're not 4 months from safety — you're potentially in danger, because raising takes longer than expected and milestones slip.
The most impactful lever for extending runway is always headcount: people make up 60–80% of burn for most pre-revenue and early-revenue startups. A single senior hire can add $15K–$25K/month to burn. Model it carefully before hiring ahead of revenue.
What is startup runway?
Runway = Cash Available ÷ Net Monthly Burn Rate (gross burn minus revenue). It tells you how many months you can operate before hitting zero. Most investors want to see 18+ months.
What is a good startup burn rate?
Pre-seed: under $30K/month. Seed: $50K–$150K. Series A: $150K–$500K. More important than the absolute number is the burn multiple: monthly burn ÷ net new MRR. Under 1.5x is healthy; above 2.5x is expensive.
// URL param sharing
(function(){
var sliders = ['cash','burn','revenue'];
// Load from URL on init
var params = new URLSearchParams(window.location.search);
sliders.forEach(function(id){
var val = params.get(id);
var el = document.getElementById(id);
if(val && el){ el.value = val; }
});
// Update URL on change
function syncUrl(){
var p = new URLSearchParams();
sliders.forEach(function(id){
var el = document.getElementById(id);
if(el) p.set(id, el.value);
});
history.replaceState(null,'', '?' + p.toString());
}
sliders.forEach(function(id){
var el = document.getElementById(id);
if(el) el.addEventListener('input', syncUrl);
});
// Run update after URL params applied
if(typeof update === 'function') update();
})();