LCP distribution
How LCP is distributed across real-user data, plus pass-rate breakdown.
At a glance the headline numbers for LCP distribution
How LCP is distributed across real-user data, plus pass-rate breakdown.
0.0% of sites pass LCP. The typical site's LCP is —. The worst 10% are above —.
LCP Distribution the value at each percentile across all sites
Why this matters for the Core Web Vitals, and where to start fixing it
Largest Contentful Paint is when the biggest thing in the viewport finishes rendering, usually the hero image or a headline. It is the moment the page stops looking blank and starts looking loaded, so it is the metric your visitors feel first. A slow LCP is almost always one of a few things: the server takes too long to respond, the image is too big or discovered too late, or render-blocking CSS and fonts hold everything up.
Start with what paints. Find the LCP element, make sure the browser can discover it early, and give it a clear path to the screen. Preload the hero image, serve it in a modern format at the right size, and keep render-blocking resources out of the way. The server side matters too, but the biggest wins are usually in how the main image and the critical CSS are delivered.
Chrome field data from 189,915 sites, representing millions of real page loads. How we measured.
Live queries (1) — admin only
SELECT COUNT(*) AS count,
COUNT(*) FILTER (WHERE crux."desktop".lcp <= 2500) * 1.0 / COUNT(*) AS good,
COUNT(*) FILTER (WHERE crux."desktop".lcp > 2500 AND crux."desktop".lcp <= 4000) * 1.0 / COUNT(*) AS needs_improvement,
COUNT(*) FILTER (WHERE crux."desktop".lcp > 4000) * 1.0 / COUNT(*) AS poor,
quantile_disc(crux."desktop".lcp, 0.10) AS p10,
quantile_disc(crux."desktop".lcp, 0.25) AS p25,
quantile_disc(crux."desktop".lcp, 0.50) AS p50,
quantile_disc(crux."desktop".lcp, 0.75) AS p75,
quantile_disc(crux."desktop".lcp, 0.90) AS p90,
quantile_disc(crux."desktop".lcp, 0.99) AS p99
FROM sites WHERE 1=1 AND crux."desktop".lcp IS NOT NULL;