LCP discovery

How the browser found the LCP resource: HTML, CSS, JS, preload, or an early-hints header.

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 LCP discovery

How the browser found the LCP resource: HTML, CSS, JS, preload, or an early-hints header.

6
Categories
176,552 sites
69.2%
Top share
html
1.5s
Top LCP
Median for html

The browser finds 69.2% of LCP images straight in the HTML. 0.8% hide behind JavaScript.

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

LCP discovery who uses what, and how fast each group loads

Median LCP
0
0.5s
1s
1.5s
2s
2.5s
3s
3.5s
4s
header1s0% of sites
1031.3s0% of sites
html1.5s69% of sites
preload1.6s2% of sites
css1.7s28% of sites
js2s1% of sites
VariantShare of sitesMedian
header 370 sites
0%
1s
103 22 sites
0%
1.3s
html 122,164 sites
69%
1.5s
preload 4,020 sites
2%
1.6s
css 48,623 sites
28%
1.7s
js 1,353 sites
1%
2s

Header sites post the best median LCP (999ms). Js sites trail at 2.0s. Correlation, not causation. computed

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

Passing LCP per LCP discovery which group passes the LCP most often

VariantSitesPassing LCPLCP
103 0% 22 100% 1.3s
Header 0.2% 370 95% 999ms
Html 69.2% 122,164 85% 1.5s
Preload 2.3% 4,020 81% 1.6s
Css 27.5% 48,623 78% 1.7s
Js 0.8% 1,353 70% 2.0s
Good Needs Improvement Poor Sorted best-passing first · median colored by its own rating · pass = good LCP (2.5s at p75) · one value per site

95% of Header sites pass LCP. Js trails 25 points behind, leaving 30% of its sites failing. 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

The browser can only download what it has discovered, and the LCP's load delay is mostly discovery time. An image in the HTML markup is found by the preload scanner in the first bytes of the document. A CSS background image stays invisible until the stylesheet downloads and applies. An image injected by JavaScript stays invisible until that script downloads, parses and runs.

That order is the fix list. Get the LCP image into the markup, or preload it when it cannot be. Discovery through JavaScript is the slowest possible path for the most important pixels on the page.

How does this affect the Core Web Vitals?

LCP discovery correlates with the LCP. With Header, 95% of sites pass the LCP. With JS, 70% do.

Related signals LCP image size → LCP element type → LCP origin → LCP image format → Chrome field data from 189,915 sites, representing millions of real page loads · How we measured