Grupa Insight

Largest Contentful Paint (LCP)

HomeGlossaryLargest Contentful Paint (LCP)

Largest Contentful Paint (LCP) is a Core Web Vitals metric that measures how long it takes for the largest visible content element on a page to fully render. It reflects perceived load speed from the user's perspective. Google considers LCP under 2.5 seconds as good, 2.5 to 4.0 seconds as needing improvement, and over 4.0 seconds as poor.

LCP thresholds

Google defines three performance bands for LCP:

  • Good: under 2.5 seconds
  • Needs improvement: 2.5 to 4.0 seconds
  • Poor: over 4.0 seconds

LCP is measured from the moment the page starts loading to when the largest content element becomes visible. The largest element is typically a hero image, a large heading, or a video poster.

What causes poor LCP

The most common causes of slow LCP:

Slow server response time — if the server takes too long to respond, everything downstream is delayed. A Time to First Byte (TTFB) above 600ms typically degrades LCP.

Render-blocking resources — CSS and JavaScript files that block rendering delay when the browser can paint content. Unused scripts and stylesheets loaded in the document head are common offenders.

Unoptimized images — large, uncompressed images without modern formats (WebP, AVIF) or without proper sizing significantly delay LCP when the LCP element is an image.

Client-side rendering — pages that rely heavily on JavaScript to render content have poor LCP because the browser must download, parse, and execute JS before painting.

No preloading of LCP element — if the LCP image is not preloaded, the browser discovers it late in the loading process.

How to improve LCP

  • Use server-side rendering (SSR) or static generation (SSG) instead of client-side rendering
  • Preload the LCP image using a link rel="preload" tag
  • Serve images in WebP or AVIF format with next/image or equivalent
  • Use a CDN to reduce server response time
  • Remove render-blocking scripts and stylesheets
  • Implement efficient caching at the CDN and server level

Grupa Insight implementation example

Grupa Insight's own website achieves LCP of 2.1 seconds on mobile in PageSpeed Insights — built on Next.js 14 with server-side rendering, deployed on Vercel CDN, with all images served via next/image with WebP optimization and preloading of the hero element. This is the same approach used in client implementations.

How to measure LCP

  • PageSpeed Insights: pagespeed.web.dev — lab measurement for any URL
  • Google Search Console: Core Web Vitals report — real user data across the site
  • Chrome DevTools: Performance tab — detailed waterfall showing LCP timing
  • web.dev/measure — free lab measurement with recommendations

Source

LCP is documented at web.dev/lcp and in Google Search Central at developers.google.com/search/docs/appearance/core-web-vitals