When a Page Slows Down the Longer It Stays Open
Memory leaks are one of the most common issues in single-page applications. When a component unmounts but its event listeners, timers, or subscriptions aren't cleaned up, references stay alive and memory usage creeps up over time. This tool takes component count, event listener count, the percentage of uncleaned listeners, and average session length, and returns a 0-100 risk score for potential leaks.
Risk Level Thresholds
| Score Range | Level |
|---|---|
| 70+ | High - needs immediate review |
| 35-69 | Medium - keep monitoring |
| 0-34 | Low - stable |
Where to Look First
If your score comes out high, check for missing useEffect cleanup functions, removeEventListener calls, or unsubscribed WebSocket/subscription logic. Long-running dashboards and real-time pages are especially vulnerable to memory buildup from missing cleanup code.
Frequently Asked Questions
It combines component count, event listener count, the percentage of uncleaned listeners, and average session length into a single score.
Even after a component unmounts, its listeners can stay referenced in memory, and usage accumulates the longer a session runs.
Start by checking for missing useEffect cleanup functions, removeEventListener calls, and unsubscribed subscriptions.