Chrome DevTools · .heaptimeline

Find the leak.
Not the haystack.

HeapScope parses Chrome heap snapshots and pinpoints memory leaks, detached DOM nodes, bloated object types, and allocation hot-spots — in seconds, entirely in your browser.

100%
Client-side only
0
Data uploaded
Free
Forever
LEAK 256MB 84MB 172MB 148MB

What HeapScope finds

Six lenses on your memory.

Leak detection

Scans for detached DOM nodes, closure accumulation, uncapped caches, and leaked event listeners — ranked by severity.

Growth over time

Allocation rate chart and cumulative growth curve from timeline samples — spots the exact moment memory started climbing.

Script attribution

Maps memory back to the JavaScript file that allocated it — so you know exactly which chunk or module is the culprit.

Detached DOM nodes

Every removed-but-retained DOM node, grouped by type, with full retainer chains showing what's holding them in memory.

Type analysis

Doughnut and bar breakdowns of the top 10 object types by retained size and count — find the category dominating your heap.

Large object table

Top 20 object types by total size — count, total retained bytes, and average size per instance, sortable at a glance.

See it in action

Leaks, surfaced.

HeapScope — heap-snapshot-prod.heaptimeline
Leak Detection
Growth Over Time
By Script
Large Objects
Detached Nodes
Total heap
256 MB
↑ 148 MB leaked
Leaks found
7
3 high severity
Detached nodes
214
across 8 types
Samples
48
over 4m 12s
EventEmitter listeners — widget-sdk.chunk.js High +148 MB
Type Closure / EventEmitter retainer chain
Retained size 148,234,496 bytes (148.2 MB)
Instance count 1,847 objects
Source widget-sdk.chunk.js:2847
Suggestion Call removeEventListener() or use AbortController in cleanup
Detached HTMLDivElement × 214 — react-dom.production.min.js Med +34 MB
Type Detached DOM node
Retained size 33,554,432 bytes (33.6 MB)
Instance count 214 nodes
Suggestion Ensure React unmount clears all refs; check for stale createPortal roots
Array cache accumulation — data-layer.js Low +8.2 MB

Scope the leak.

Drop in a .heaptimeline file — no account, no install, no data upload.

Open HeapScope →