LCP discovery

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

Field data PhoneDesktopAll Scope All sites Q1 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
90,431 sites
68.4%
Top share
html
1.5s
Top LCP
Median for html

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

The State of Web Vitals · Q1 2026 · 94,910 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.4s0% of sites
html1.5s68% of sites
preload1.6s2% of sites
css1.6s28% of sites
js1.9s1% of sites
VariantShare of sitesMedian
header 182 sites
0%
1s
103 13 sites
0%
1.4s
html 61,832 sites
68%
1.5s
preload 2,106 sites
2%
1.6s
css 25,584 sites
28%
1.6s
js 714 sites
1%
1.9s

Header sites post the best median LCP (1.0s). Js sites trail at 1.9s. Correlation, not causation. computed

The State of Web Vitals · Q1 2026 · 94,910 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% 13 100% 1.4s
Header 0.2% 182 96% 1.0s
Html 68.4% 61,832 85% 1.5s
Preload 2.3% 2,106 82% 1.6s
Css 28.3% 25,584 78% 1.6s
Js 0.8% 714 70% 1.9s
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

96% of Header sites pass LCP. Js trails 26 points behind, leaving 30% of its sites failing. computed

The State of Web Vitals · Q1 2026 · 94,910 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 HTML, 85% 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 94,910 sites, representing millions of real page loads · How we measured