Technical

Largest Contentful Paint (LCP)

A Core Web Vitals metric that measures the render time of the largest image or text block visible within the viewport, relative to when the page first started loading.

Quick Answer

  • What it is: A Core Web Vitals metric that measures the render time of the largest image or text block visible within the viewport, relative to when the page first started loading.
  • Why it matters: LCP directly impacts user experience and SEO rankings, with Google using it as a ranking signal since 2021.
  • How to check or improve: Optimize server response times, resource load priorities, and render-blocking JavaScript to achieve LCP under 2.5 seconds.

When you'd use this

LCP directly impacts user experience and SEO rankings, with Google using it as a ranking signal since 2021.

Example scenario

Hypothetical scenario (not a real company)

A team might use Largest Contentful Paint (LCP) when Optimize server response times, resource load priorities, and render-blocking JavaScript to achieve LCP under 2.5 seconds.

Common mistakes

  • Confusing Largest Contentful Paint (LCP) with Core Web Vitals: A set of three specific metrics that Google uses to measure user experience on websites: loading performance (LCP), interactivity (INP), and visual stability (CLS). Learn how to measure and improve your Core Web Vitals scores.
  • Confusing Largest Contentful Paint (LCP) with First Contentful Paint (FCP): A performance metric that measures the time from when a page starts loading to when any part of the page's content is rendered on the screen.
  • Confusing Largest Contentful Paint (LCP) with Cumulative Layout Shift (CLS): A Core Web Vitals metric that measures the sum of all unexpected layout shift scores that occur throughout the entire lifespan of a page, quantifying visual instability.

How to measure or implement

  • Optimize server response times, resource load priorities, and render-blocking JavaScript to achieve LCP under 2
  • 5 seconds

Test your site's Core Web Vitals

Start here
Updated Jan 20, 2026·8 min read

Largest Contentful Paint (LCP) is one of the three Core Web Vitals metrics that Google uses to evaluate page experience. It specifically measures loading performance by tracking when the largest content element becomes visible in the viewport. This metric is crucial because it marks the point when the main content has likely loaded—a key moment in the user's perception of page speed.

What is Largest Contentful Paint?

LCP reports the render time of the largest image or text block visible within the viewport, relative to when the page first started loading. Unlike other performance metrics that measure various aspects of the loading process, LCP focuses on what matters most to users: when can they see and interact with your main content?

The "largest" element is determined by its visible size within the viewport. Common LCP elements include:

  • Hero images or carousel images
  • Background images loaded through CSS
  • Video poster images
  • Large text blocks (like H1 headings or article paragraphs)
  • Block-level elements containing text or images

Google considers an LCP of 2.5 seconds or less as "Good," between 2.5 and 4 seconds as "Needs Improvement," and over 4 seconds as "Poor." These thresholds apply to the 75th percentile of page loads, segmented across mobile and desktop devices.

Why LCP Matters for SEO and User Experience

Direct Ranking Factor

Since June 2021, LCP has been a direct ranking signal in Google's algorithm as part of the Page Experience update. Sites with better LCP scores receive a ranking boost, particularly on mobile searches where loading speed is critical. Google's research shows that pages meeting the "Good" LCP threshold see:

  • 24% lower bounce rates compared to "Poor" LCP pages
  • 15% higher engagement rates measured by pages per session
  • 22% better conversion rates for e-commerce sites

User Experience Impact

LCP correlates strongly with user satisfaction because it measures when users perceive that a page has loaded. A fast LCP means users can quickly access the content they came for, reducing frustration and abandonment. Studies by Google show that improving LCP from "Poor" to "Good" can:

  • Increase page views by up to 15%
  • Improve ad viewability by 18%
  • Reduce bounce rates by 22%

Business Metrics Correlation

Beyond SEO, LCP improvements directly impact business metrics. Amazon found that every 100ms improvement in LCP increased conversions by 1%. Similarly, Walmart discovered that for every 1-second improvement in LCP, they saw a 2% increase in conversions. These improvements compound—sites that achieve consistently good LCP scores see sustained improvements in user engagement and revenue.

How LCP Works: Technical Deep Dive

LCP Measurement Process

The browser continuously tracks the largest contentful element as the page loads. Each time a larger element renders, it updates the LCP candidate. This process continues until:

  1. The user interacts with the page (scroll, tap, key press)
  2. The page is backgrounded
  3. The input becomes pending

The final LCP value is the last recorded largest element before user interaction. This approach ensures LCP captures the user's actual loading experience rather than continued background loading.

Elements Considered for LCP

Not all elements qualify for LCP measurement. The browser only considers:

  • <img> elements (including those inside <svg> elements)
  • <image> elements inside <svg> elements
  • <video> elements with poster images
  • Elements with background images loaded via CSS
  • Block-level elements containing text nodes or inline-level text elements

Elements excluded from LCP calculation include:

  • Elements with opacity: 0
  • Elements that cover the full viewport (considered background)
  • Low-entropy images (solid colors or gradients)

LCP Timing Calculation

LCP timing includes several components:

  1. Time to First Byte (TTFB): Server response time
  2. Resource load delay: Time to request the LCP resource
  3. Resource load time: Time to download the LCP resource
  4. Resource processing time: Decoding and rendering
  5. Element render delay: Layout and paint operations

Understanding these components helps identify optimization opportunities. For example, if TTFB is high, focus on server optimization. If resource load time is the bottleneck, consider image optimization or CDN implementation.

Best Practices for Optimizing LCP

1. Optimize Server Response Time

Your server's response time directly impacts LCP. Aim for a TTFB under 600ms:

  • Use server-side caching: Implement Redis or Memcached for dynamic content
  • Optimize database queries: Index frequently accessed data, use query optimization
  • Upgrade hosting: Consider dedicated servers or cloud solutions with auto-scaling
  • Implement CDN: Distribute static assets globally to reduce latency
  • Enable compression: Use Gzip or Brotli compression for text-based resources

2. Prioritize LCP Resource Loading

Ensure your LCP element loads as quickly as possible:

  • Use fetchpriority="high" on LCP images: <img fetchpriority="high" src="hero.jpg">
  • Preload critical resources: <link rel="preload" as="image" href="hero.jpg">
  • Avoid lazy loading above-the-fold: Never lazy load your LCP element
  • Inline critical CSS: Reduce render-blocking stylesheets
  • Use responsive images: Serve appropriately sized images with srcset

3. Optimize Images and Videos

Since images often trigger LCP, optimization is crucial:

  • Use modern formats: WebP and AVIF offer 25-35% better compression than JPEG
  • Implement responsive images: Use srcset and sizes attributes
  • Compress images: Aim for quality scores of 75-85 for photos
  • Consider CSS background images carefully: They load later than <img> tags
  • Optimize video posters: Keep poster images under 50KB when possible

4. Minimize Render-Blocking Resources

Reduce the time before LCP element can render:

  • Defer non-critical JavaScript: Use defer or async attributes
  • Split code bundles: Load only essential JavaScript initially
  • Optimize CSS delivery: Inline critical CSS, defer non-critical styles
  • Remove unused CSS: Use tools like PurgeCSS to eliminate dead code
  • Minimize third-party scripts: Audit and remove unnecessary tracking scripts

5. Use Resource Hints Effectively

Guide the browser to load resources efficiently:

<!-- DNS Prefetch for external domains -->
<link rel="dns-prefetch" href="https://cdn.example.com" />

<!-- Preconnect for critical third-party origins -->
<link rel="preconnect" href="https://fonts.googleapis.com" />

<!-- Preload hero image -->
<link rel="preload" as="image" href="hero-image.webp" />

<!-- Prefetch next page resources -->
<link rel="prefetch" href="/next-page-resources.js" />

Common LCP Mistakes to Avoid

1. Lazy Loading the Hero Image

The most common LCP mistake is lazy loading above-the-fold content. Never use loading="lazy" on hero images or any element likely to be the LCP. This delays loading until JavaScript executes, significantly hurting LCP.

2. Serving Oversized Images

Serving a 4000px wide image for a 400px display area wastes bandwidth and processing time. Always use responsive images with appropriate sizes for different viewports.

3. Client-Side Rendering Without SSR

Single-page applications that rely entirely on client-side rendering often have poor LCP scores. The browser must download, parse, and execute JavaScript before rendering content. Consider server-side rendering (SSR) or static generation for critical pages.

4. Unoptimized Web Fonts

Web fonts can delay text rendering, especially if they're the LCP element. Common mistakes include:

  • Not preloading font files
  • Using font-display: block instead of swap or optional
  • Loading too many font weights and styles
  • Not subsetting fonts to required characters

5. Chains of Critical Requests

When resources depend on each other sequentially, it creates a waterfall effect. For example: HTML → CSS → Font → Render. Minimize these chains by preloading critical resources and reducing dependencies.

Tools and Resources for Measuring LCP

Core Tools

PageSpeed Insights: Google's official tool provides lab and field data for LCP, along with specific optimization recommendations.

Chrome DevTools: The Performance panel shows LCP timing in detail. Enable Web Vitals overlay in rendering settings for real-time LCP monitoring.

Lighthouse: Available in Chrome DevTools, as a CLI tool, or via PageSpeed Insights. Provides detailed performance audits including LCP analysis.

Web Vitals Extension: Chrome extension showing real-time Core Web Vitals metrics as you browse.

Monitoring Solutions

Google Search Console: Core Web Vitals report shows LCP performance across your entire site with real user data.

CrUX (Chrome User Experience Report): Provides real-world LCP data from Chrome users who've opted into sharing statistics.

Rankwise Performance Monitor: Track LCP scores across all pages with historical trends and competitor comparisons.

Testing Tools

WebPageTest: Offers detailed waterfall analysis and filmstrip view to identify LCP elements and bottlenecks.

GTmetrix: Provides LCP timing along with actionable recommendations for improvement.

LCP in Different Contexts

E-commerce Sites

For e-commerce, the hero product image typically triggers LCP. Optimize by:

  • Preloading the main product image
  • Using low-quality preview images with proper dimensions
  • Implementing efficient image CDNs
  • Avoiding carousel scripts that delay image loading

News and Publishing Sites

Article hero images or headline text often trigger LCP. Focus on:

  • Optimizing image delivery pipelines
  • Using static site generation where possible
  • Implementing efficient ad loading strategies
  • Prioritizing editorial content over advertising

SaaS Applications

Dashboard interfaces present unique challenges with dynamic content. Strategies include:

  • Server-side rendering initial dashboard state
  • Optimizing API response times
  • Using skeleton screens effectively
  • Implementing intelligent prefetching

Frequently Asked Questions

What's the difference between FCP and LCP?

First Contentful Paint (FCP) measures when any content first appears, while LCP measures when the largest content element appears. FCP might trigger on a navigation bar, while LCP waits for the main hero image or article text.

Can LCP change after user interaction?

No, LCP measurement stops when the user first interacts with the page (scroll, click, tap, or keyboard input). Any content that loads after user interaction doesn't affect the LCP score.

How does Google measure LCP for ranking?

Google uses the 75th percentile of real user measurements (field data) from the Chrome User Experience Report. This means 75% of your users must experience good LCP for Google to consider your page as having good LCP.

Should I optimize LCP for mobile or desktop first?

Focus on mobile first. Mobile typically has worse LCP scores due to network constraints and less powerful processors. Improvements for mobile usually benefit desktop as well.

Can third-party scripts affect LCP?

Yes, third-party scripts can significantly impact LCP by blocking the main thread, delaying network requests, or injecting content that becomes the LCP element. Audit all third-party scripts and load them asynchronously when possible.

Put GEO into practice

Generate AI-optimized content that gets cited.

Try Rankwise Free
Newsletter

Stay ahead of AI search

Weekly insights on GEO and content optimization.