DOM depth

The deepest nesting level in the DOM tree.

Field data PhoneDesktopAll Scope All sites Q2 2026 edition · All devices field outcomes
Metric LCP INP CLS
1

At a glance the headline numbers for DOM depth

The deepest nesting level in the DOM tree.

18
on the typical site
half of sites sit at or below
23
1 in 4 sites exceed this
the top quarter
41
the heaviest 1%
the long tail
180,899
sites measured
all-device field data

The typical DOM tree is 18 levels deep.

The State of Web Vitals · Q2 2026 · 189,915 sites · all devices field datacorewebvitals.io/state-of-cwv
2

Distribution & median INP site count and median INP at each level of DOM depth

0ms 63ms 125ms 188ms 250ms
200ms
0 10602 21204
11–11 12–12 13–13 14–14 15–15 16–16 17–17 18–18 19–19 20–20 21–21 22–22 23–23 24–24 25–25 26–26 27+
Good (≤200ms) Needs improvement Poor (>500ms) Site count
The State of Web Vitals · Q2 2026 · 189,915 sites · all devices field datacorewebvitals.io/state-of-cwv
3

Passing INP by DOM depth which level passes the INP most often

DOM depthSitesPassing INPINP
11–11 5,873 93% 79ms
12–12 8,679 95% 81ms
13–13 9,084 95% 80ms
14–14 10,746 95% 85ms
15–15 11,379 95% 84ms
16–16 11,657 96% 85ms
17–17 11,772 95% 85ms
18–18 11,898 96% 86ms
19–19 10,246 97% 86ms
20–20 9,518 96% 88ms
21–21 8,365 96% 88ms
22–22 9,548 95% 88ms
23–23 8,487 96% 93ms
24–24 6,480 96% 93ms
25–25 5,920 95% 95ms
26–26 4,135 95% 91ms
27+ 21,204 95% 88ms
Good Needs Improvement Poor Faded rows: under 100 sites

DOM depth 18. p75 23. p99 41. At the low end (11–11): INP 79ms. At the high end (27+): INP 88ms. computed

The State of Web Vitals · Q2 2026 · 189,915 sites · all devices field datacorewebvitals.io/state-of-cwv
4

Why this matters for the Core Web Vitals, and where to start fixing it

Depth is a different problem than size. Styles inherit downwards. Toggle a class high in the tree and the browser recalculates everything below it. Layout changes also travel through ancestors, and percentage heights and flexbox make that worse. Selector matching walks the ancestor chain too, so deep trees pay more for every CSS rule.

In practice this shows up as INP. The click is fast and the JavaScript is fast, but the style and layout pass after the update is slow because the change affects too many nested levels. A flatter tree holds the same content but keeps each update local.

How does DOM depth affect the Core Web Vitals?

Passing INP barely moves across the range: 93% at one end, 95% at the other. This signal does not separate passing sites from failing ones.

Related signals Script coverage (used vs unused) → Image loading attribute → Images per page → Compression mix → Chrome field data from 189,915 sites, representing millions of real page loads · How we measured