SiteTidy
HomeGuidesCore Web Vitals 2026: The Complete LCP, INP, and CLS Optimization Playbook
Performance

Core Web Vitals 2026: The Complete LCP, INP, and CLS Optimization Playbook

Master Google's Core Web Vitals. Learn how to achieve sub-2.5s LCP, sub-200ms INP, and zero CLS to maximize search rankings and user conversion rates.

Published on June 25, 2026Updated June 25, 2026
Core Web Vitals 2026: The Complete LCP, INP, and CLS Optimization Playbook

Google’s Core Web Vitals (CWV) are a set of real-world user experience metrics that measure the loading speed, responsiveness, and visual stability of web pages.

Unlike synthetic lab tests (which measure clean environments on fast hardware), Core Web Vitals reflect real user field data gathered via the Chrome User Experience Report (CrUX) from millions of actual mobile devices on real cellular networks.

Passing all three Core Web Vitals thresholds at the 75th percentile is an official Google search ranking signal and directly correlates with higher ecommerce conversion rates, reduced bounce rates, and improved ad revenue.


The 3 Core Web Vitals Metrics (2026 Standards)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ 1. LCP (Largest Contentful Paint) - Loading Performance     β”‚
β”‚    Target: ≀ 2.5 seconds                                    β”‚
β”‚    Measures when the main hero element is fully rendered.   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 2. INP (Interaction to Next Paint) - Responsiveness         β”‚
β”‚    Target: ≀ 200 milliseconds                               β”‚
β”‚    (Replaced FID in March 2024). Measures latency of all    β”‚
β”‚    clicks, taps, and keypresses throughout the entire visit.β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ 3. CLS (Cumulative Layout Shift) - Visual Stability         β”‚
β”‚    Target: ≀ 0.1                                            β”‚
β”‚    Measures unexpected layout movement during page life.    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

1. Largest Contentful Paint (LCP) Breakdown

LCP measures how long it takes for the largest visual element in the initial viewport (typically a hero image, large heading, or video poster) to be fetched and rendered.

The 4 Sub-Components of LCP:

  1. Time to First Byte (TTFB) (~40% of LCP time): Time spent resolving DNS, establishing TLS connections, and waiting for the server to generate the first byte of HTML.
  2. Resource Load Delay (~10%): Time between the browser receiving HTML and starting to fetch the LCP resource.
  3. Resource Load Duration (~40%): Time required to download the LCP image or font asset over the network.
  4. Element Render Delay (~10%): Time spent executing render-blocking JavaScript and CSS before painting the element.

High-Impact LCP Fixes:

  • Preload the LCP Image: <link rel="preload" as="image" href="/hero.webp" fetchpriority="high">
  • Never Lazy-Load Hero Images: Adding loading="lazy" to above-the-fold hero images delays fetching until layout calculation finishes, destroying LCP scores.
  • Edge CDN HTML Caching: Serve cached HTML from Cloudflare or Fastly edge nodes to drop TTFB under 100ms.

2. Interaction to Next Paint (INP) Breakdown

In March 2024, Google replaced First Input Delay (FID) with Interaction to Next Paint (INP).

While FID only measured the first click on page load, INP measures the latency of every single user interaction throughout the entire session and reports the worst-performing 98th percentile.

User Clicks Filter Button
   β”‚
   β–Ό
[1. Input Delay]  ──> Browser waits for main thread to finish background JS
   β”‚
   β–Ό
[2. Processing]   ──> Event callbacks execute (React state updates, DOM mutation)
   β”‚
   β–Ό
[3. Presentation] ──> Browser recalculates styles, layouts, and paints frame
   β”‚
   β–Ό
Frame Presented on Screen (Must complete in ≀ 200ms) βœ…

High-Impact INP Fixes:

  • Yield to Main Thread: Break long JavaScript tasks (>50ms) using scheduler.yield() or setTimeout().
  • Offload Heavy Computations: Move sorting, filtering, and data parsing into Web Workers.
  • Debounce High-Frequency Inputs: Debounce search inputs and resize handlers.

3. Cumulative Layout Shift (CLS) Breakdown

CLS measures the sum total of all unexpected layout shifts that occur as late-loading assets (images, ads, web fonts, dynamically injected widgets) push existing page content downward while the user is reading or clicking.

High-Impact CLS Fixes:

  • Set Explicit Dimensions on All Media: Always declare width and height attributes or CSS aspect-ratio on <img>, <video>, and <iframe> elements.
  • Reserve Space for Dynamic Slots: Set min-height containers for advertising slots, cookie consent banners, and lazy-loaded recommendation widgets.
  • Font Matching & font-display: swap: Use size-adjust, ascent-override, and descent-override in @font-face so fallback fonts match the geometry of custom web fonts.

Performance Diagnostic Suite

Ready to audit your site?

Put this guide into practice immediately using our free tools.

Browse 180+ Free Tools