What is LCP? How to improve Largest Contentful Paint

LCP times how long the biggest item in view takes to appear. Google's good mark is 2.5 seconds or less. The four parts of LCP and how to fix each one.

IntermediateExplainer7 min readUpdated October 29, 2026

In this guide
  1. What LCP measures
  2. When LCP is reported
  3. What counts as good
  4. What is the LCP element on most pages
  5. The four parts of LCP
  6. Find your LCP element and its breakdown
  7. Fix a slow first part: the server
  8. Fix a long load delay: make the image easy to find
  9. Fix a long load duration: send fewer bytes
  10. Fix a long render delay: unblock the page
  11. Common mistakes
  12. After the fix
  13. Check your own page
  14. Sources

What LCP measures

LCP is the render time of the largest image or text block visible in the viewport, counted from the moment the page started loading. It answers the question "when does the page look ready?" more honestly than older timings such as the load event, which fire at moments the visitor never sees. It is one of the three Core Web Vitals, together with INP and CLS.

The elements that can be the LCP element are:

The browser skips elements that are probably not content: elements with zero opacity, elements that cover the whole viewport (probably a background), and placeholder images with very little detail.

Two details explain many odd readings. An element only counts once it has been drawn, so an image that is still downloading is not the LCP element yet, and neither is text that is invisible because a web font is still loading. And the size that counts is the visible size: for an image shown smaller than its file, the displayed size; for one stretched larger, the file's own size, whichever is smaller. Margins, padding and borders are not counted.

When LCP is reported

A page loads in stages, so the largest element can change. The browser reports a first candidate after the first frame, often a headline, then a new one each time something larger is drawn, such as the hero image. It stops reporting as soon as the visitor taps, scrolls or presses a key, because those change what is on screen. Your LCP is the last candidate before that.

What counts as good

LCPRating
2.5 seconds or lessGood
Over 2.5 and up to 4 secondsNeeds improvement
Over 4 secondsPoor

A page passes when at least 75% of real visits are at or under 2.5 seconds, for mobile and desktop separately. Many pages do not yet: in the 2025 Web Almanac, 74% of desktop pages and 62% of mobile pages had a good LCP.

What is the LCP element on most pages

Mostly an image. The 2025 Web Almanac found an image as the LCP element on 85% of desktop pages and 76% of mobile pages; text accounts for most of the rest. Among LCP images, 57% were JPEG and 26% PNG, with WebP at 11%. About 16% of pages lazy-load their LCP image, which delays exactly the thing the metric is waiting for. If your page is typical, start with the main image.

The four parts of LCP

Every LCP time is the sum of four parts, one after the other. PageSpeed Insights and Chrome DevTools show them as the LCP breakdown.

The four parts of LCP and how much of the total each takes on a well-optimized page: time to first byte about 40 percent, resource load delay under 10 percent, resource load duration about 40 percent, element render delay under 10 percent. LCP = four parts, one after the other start of the page load LCP Time to first byte · about 40% Resource load delay · under 10% Resource load duration · about 40% Element render delay · under 10% A guide, not a rule: the shares matter less than the delays.
The four parts of LCP and the shares Google suggests for a well-optimized page.
  1. Time to first byte. The wait until the server starts to send the page.
  2. Resource load delay. The gap between that moment and the moment the browser starts downloading the LCP image. A long gap means the browser found the image late.
  3. Resource load duration. How long the download takes. Large files and slow connections stretch it.
  4. Element render delay. The gap between the end of the download and the element being drawn. Blocking CSS and JavaScript, and content that a script has to build first, cause it.

Google's guidance is that the two parts with "delay" in their name should be close to zero, and that most of the time should go to the two parts that involve the network. As a rule of thumb the LCP image should start downloading at about the same time as the first resource the page loads. The shares in the figure are guidelines, not rules: if your LCP is within 2.5 seconds, the proportions do not matter. If it is not, the breakdown shows where the time is lost.

When the LCP element is text there is no image to download, so the time is mostly the first and the fourth parts.

The breakdown tells you where to look. A slow first part is a server problem. A long second part is a discovery problem. A long third part is a file-size problem. A long fourth part is usually blocking code.

Find your LCP element and its breakdown

Run the page through PageSpeed Insights. In Lighthouse 13 the diagnostics include an LCP breakdown insight with the four parts (and, when real-user data exists, a column with the 75th percentile of real visits for each) and an LCP request discovery insight that checks three things about the LCP image:

In Chrome DevTools, the Performance panel's live view shows the LCP element as you load the page, next to Google's real-user numbers for the same page when they exist.

Fix a slow first part: the server

Cache pages so the server does not rebuild them for every visitor, serve them through a CDN, move off overloaded hosting, and remove redirects. The time to first byte guide covers each one, and what a CDN is explains the second. If this part is more than 40% or so of your LCP, fix it before anything else, because the other fixes cannot start earlier than the first byte.

Fix a long load delay: make the image easy to find

<img src="/img/hero-1200.avif" width="1200" height="600" fetchpriority="high" alt="Description of the picture">

The 2025 Web Almanac found fetchpriority="high" on the LCP image of only 17% of mobile pages, so this is still an easy win on most sites.

Fix a long load duration: send fewer bytes

Resize the image to the size it is shown at, compress it, use a modern format such as WebP or AVIF, and serve it from a CDN. The image optimization guide goes through each step. Avoid a large autoplaying video as the first thing on the page.

Fix a long render delay: unblock the page

Common mistakes

After the fix

Run PageSpeed Insights again. The lab result changes at once. The real-user number follows over the next 28 days, because Google's data covers a rolling window of recent visits.

Check your own page

Run the free audit and look at the Largest Contentful Paint element and its breakdown. Write down which of the four parts is longest, and start with the fix for that part. If the element is an image and the report says it was found late or loaded lazily, that is the first thing to change.

Sources

Start here

Free website audit

Live Google data for any public page: mobile and desktop.

Mobile + desktop · Lighthouse lab test · Real-user Chrome data when Google has it

Rather have this done for you? Core Web Vitals · Book a call

Related guides

All guides →