Core Web Vitals 2026: LCP, INP and CLS in practice | POLPROG Skip to content

Core Web Vitals in 2026: LCP, INP and CLS in practice

Core Web Vitals in 2026 still consist of three metrics: LCP for loading the main content, INP for interaction responsiveness and CLS for layout stability. The scores alone do not tell you what to fix. Effective optimization requires separating real-user field data from lab tests, finding the actual LCP element, slow interaction or layout shift source, and then monitoring the result after deployment.

Published Written by Reading time 21 min read

Core Web Vitals in 2026 still consist of three metrics: LCP for loading the main content, INP for interaction responsiveness and CLS for layout stability. The scores alone do not tell you what to fix. Effective optimization requires separating real-user field data from lab tests, finding the actual LCP element, slow interaction or layout shift source, and then monitoring the result after deployment.

On this page
  1. 1Core Web Vitals in 2026: the current metric set
  2. 2LCP, INP and CLS thresholds and the 75th percentile
  3. 3Core Web Vitals and SEO: a real signal, not a standalone ranking system
  4. 4LCP: what it actually measures
  5. 5LCP in practice: split it into four subparts
  6. 6INP: responsiveness across the visit, not just the first click
  7. 7INP in practice: three places where latency appears
  8. 8CLS: visual stability across the page lifetime
  9. 9CLS in practice: common causes and fixes
  10. 10Field data versus lab data: do not mix two different questions
  11. 11PageSpeed Insights, Search Console, DevTools and RUM: what each tool is for
  12. 12CrUX in 2026: what the latest available data shows
  13. 13SPAs and soft navigations: an important 2026 change
  14. 14Production monitoring: collect the metric together with context
  15. 15A practical Core Web Vitals improvement plan

Core Web Vitals in 2026: the current metric set

The current Core Web Vitals are LCP, INP and CLS. LCP measures loading performance, INP measures interaction responsiveness and CLS measures visual stability. Google presents them as three user-centric aspects of real-world page experience. [1][3]

FID is no longer part of Core Web Vitals. INP replaced FID in March 2024 and FID was later removed from CrUX tooling. In 2026 teams should monitor LCP, INP and CLS. [7][14]

LCP, INP and CLS thresholds and the 75th percentile

MetricGoodNeeds improvementPoorWhat it measures
LCP≤ 2.5 s2.5 s - 4.0 s> 4.0 sMain-content loading speed
INP≤ 200 ms200 ms - 500 ms> 500 msInteraction responsiveness
CLS≤ 0.10.1 - 0.25> 0.25Visual stability

Good values are LCP at or below 2.5 seconds, INP at or below 200 milliseconds and CLS at or below 0.1. Needs Improvement covers 2.5 to 4.0 seconds, 200 to 500 milliseconds and 0.1 to 0.25 respectively. Values above 4.0 seconds, 500 milliseconds and 0.25 are poor. [3][4]

Assessment does not use an average. Google uses the 75th percentile, meaning at least 75% of experiences should meet the threshold or perform better. Mobile and desktop are segmented separately. [3][4]

A page passes Core Web Vitals only when all three metrics are good at the 75th percentile. One failing metric means the overall assessment does not pass. [3]

Core Web Vitals and SEO: a real signal, not a standalone ranking system

Google confirms that Core Web Vitals are used by ranking systems as part of page experience. At the same time, good Core Web Vitals do not guarantee top rankings because Search uses many other signals, especially relevance and content quality. [1][2]

Performance optimization therefore has two goals: improving real user experience and removing technical weaknesses that can affect search performance. LCP, INP and CLS should not be treated as a separate point system detached from content quality.

LCP: what it actually measures

Largest Contentful Paint measures the time from navigation start until the largest qualifying image, text block or other content element is rendered in the viewport. Field LCP can include redirects, connection setup and TTFB, which is one reason field and lab results can differ. [5]

A common mistake is treating LCP as just the download time of the biggest image. The LCP element can be an image or text, and the delay can be introduced long before the resource download itself. [5][6]

LCP in practice: split it into four subparts

web.dev breaks LCP into four subparts: TTFB, resource load delay, resource load duration and element render delay. Together they make up the full LCP time. [6]

If the LCP resource is discovered late, merely compressing it may not improve the final metric. The resource should be discoverable from the initial HTML where possible, and an LCP image should not use lazy loading. Priority hints or preload can help when discovery is delayed. [6]

A practical diagnosis order is: check TTFB, determine when the browser discovers the LCP resource, measure transfer duration, then identify what delays rendering after the resource is available. [6]

  • Reduce TTFB with caching, CDN use, fewer redirects and a faster backend.
  • Expose the LCP resource in initial HTML where possible.
  • Do not use `loading="lazy"` on the LCP image.
  • Use appropriate `fetchpriority` or preload when discovery is too late.
  • Optimize image size and format only after confirming transfer time is a real bottleneck.
  • Remove JavaScript or CSS that unnecessarily delays the final render.

INP: responsiveness across the visit, not just the first click

Interaction to Next Paint observes latency for click, tap and keyboard interactions across the page visit. For most pages, the slowest interaction becomes the reported INP. On pages with many interactions, one worst interaction is ignored for every 50 interactions to reduce random outlier influence. [7]

INP differs from FID. FID measured only the input delay of the first interaction, while INP includes input delay, event processing and the delay until the browser can paint the next frame. [7][8]

A visit may have no INP if the user never clicks, taps or presses a key. Scrolling and hovering are not INP interactions. [7]

INP in practice: three places where latency appears

Total interaction latency consists of input delay, processing duration and presentation delay. A poor INP can therefore come from a busy main thread before the handler, slow event code, or expensive layout and rendering before the next frame. [8]

Useful fixes include shortening long tasks, yielding or splitting work, reducing heavy JavaScript, lowering layout cost, moving suitable computation to Web Workers and providing visual feedback quickly. [8]

For high INP, start with field or RUM data that identifies the slow interaction and then reproduce it in DevTools. A Lighthouse score by itself does not represent full real-user INP. [8][11][12]

CLS: visual stability across the page lifetime

Cumulative Layout Shift measures unexpected movement of visible elements. The score uses the largest session window of shifts, where consecutive shifts are less than one second apart and the whole window lasts no more than five seconds. [9]

CLS is unitless. It combines the impact and movement distance of unexpected layout changes rather than measuring time. Some shifts closely tied to user input can be excluded. [9]

Real CLS problems often happen after load, for example when ads, banners, widgets or fonts change layout. A single cold-load lab test may therefore miss the full issue. [10][11]

CLS in practice: common causes and fixes

web.dev lists images without dimensions, ads, embeds and iframes without reserved space, dynamically injected content and web fonts among common CLS causes. [10]

The core rule is to reserve space before content arrives. Images should have `width` and `height` or stable `aspect-ratio`, ad and embed slots need predictable dimensions, and new content should not be inserted above content a user is already reading. [10]

For fonts, reduce metric differences between fallback and final fonts and test the real layout impact. Changing `font-display` alone does not automatically solve every CLS issue. [10]

Field data versus lab data: do not mix two different questions

Core Web Vitals are primarily field metrics. CrUX and your own RUM show what real users experience across devices and networks. Lighthouse is a lab tool for reproducing and diagnosing issues under controlled conditions. [11][12]

Lighthouse does not report full real-world INP because it does not observe natural user interactions. It uses metrics such as Total Blocking Time as a lab proxy. Lab CLS can also be lower if shifts occur only after later interactions. [11][12]

Use field data to decide whether a real problem exists, and lab tools to understand and fix the cause.

PageSpeed Insights, Search Console, DevTools and RUM: what each tool is for

ToolData typeBest use
PageSpeed InsightsCrUX + LighthouseQuick URL and origin assessment
Search ConsoleCrUX, URL groupsFinding page groups with SEO performance issues
Chrome DevToolsLab + CrUX contextStep-by-step LCP, INP and CLS diagnosis
LighthouseLabAutomated audits and CI regression checks
RUM / web-vitalsYour own user dataMost precise monitoring and post-release diagnosis

PageSpeed Insights combines CrUX field data with Lighthouse diagnostics. Search Console groups similar URLs to identify page types failing Core Web Vitals. Chrome DevTools provides live metrics and detailed performance traces. [12][13]

CrUX API and PageSpeed Insights effectively use a rolling window of roughly 28 days for field data. A deployment made today may therefore take time to affect the public p75 score. Your own RUM can show the impact much sooner and with more context. [12][13]

A strong product workflow uses RUM for monitoring, Search Console for SEO-oriented grouping, PageSpeed Insights for quick public checks and DevTools for root-cause analysis.

CrUX in 2026: what the latest available data shows

MetricOrigins with a good score, July 2026
LCP68.3%
INP85.7%
CLS81.6%
All Core Web Vitals55.7%

The latest monthly CrUX dataset published before September 4, 2026 covers July 2026 and was released on August 11. It contains 18,059,068 origins. 68.3% of origins had good LCP, 81.6% good CLS, 85.7% good INP and 55.7% passed all Core Web Vitals. [14]

These are aggregate figures for the web represented in CrUX, not targets for an individual site. CrUX only includes pages and origins that satisfy eligibility criteria such as public discoverability and sufficient popularity. [13][14]

Missing CrUX data for a new or low-traffic URL does not mean that page is fast or slow. It means the public dataset does not have enough eligible data to report.

SPAs and soft navigations: an important 2026 change

Core Web Vitals historically centered on full document navigations, which made client-side SPA transitions harder to measure. In 2026 Chrome 151 introduced new APIs for measuring Core Web Vitals on soft navigations, and the documentation was updated on September 2, 2026. [15]

Chrome DevTools 152, released August 25, 2026, shows Core Web Vitals for soft navigations in Live Metrics by default, powered by `web-vitals` 6.0.0. [16]

This matters for React, Angular, Vue and other SPAs because LCP, INP or CLS problems can occur after client-side navigation even when the initial full load looks good. Do not assume that every public CrUX report already treats soft navigations the same way.

Production monitoring: collect the metric together with context

A public p75 tells you that a problem exists but often not exactly where it comes from. Your own RUM can attach the LCP element and subparts, the INP interaction and event type, route, device class and application version. web.dev recommends custom RUM as a supplement to CrUX for diagnosis. [3][8][12]

Tag releases with application versions and compare metric distributions before and after changes. An average can hide regressions on slower devices, so watch percentiles and traffic segments.

CI should protect against obvious lab regressions, but it cannot replace production monitoring. Final Core Web Vitals assessment is about real user experience. [11][12]

A practical Core Web Vitals improvement plan

First identify which metric fails p75 and on which page types. Then use RUM or CrUX to narrow the issue, reproduce it in DevTools, make the smallest change that addresses the root cause and monitor the result after deployment. [12]

Do not optimize everything at once. For LCP find the dominant subpart, for INP identify the actual slow interaction, and for CLS capture the specific shifts and elements causing them.

After the fix, check both lab and field data. Public CrUX data needs time to reflect a new release, which is why custom RUM is especially useful for quick validation.

  • Identify the problem in field data, not just Lighthouse.
  • Separate mobile and desktop and group similar page templates.
  • For LCP inspect TTFB, resource discovery, transfer and render delay.
  • For INP inspect the actual interaction and its input, processing and presentation delay.
  • For CLS record shifts across the full session, not just initial load.
  • Ship one measurable fix and compare before and after.
  • Keep RUM monitoring and regression alerts active after release.

Core Web Vitals should be treated as a diagnostic system rather than three numbers to maximize in Lighthouse. Start with field data, break the failing metric into concrete causes, fix the relevant code, network or layout issue, and verify the result with real traffic. In 2026, post-load INP, interaction-driven CLS and LCP delays across the entire loading chain matter more than chasing a single synthetic score.

Core Web Vitals LCP INP CLS SEO Web Performance CrUX PageSpeed Insights Chrome DevTools RUM

Frequently asked questions

Which Core Web Vitals apply in 2026?

LCP, INP and CLS. FID was replaced by INP and removed from current CrUX tooling. [3][7][14]

What is a good LCP?

A good LCP is 2.5 seconds or less at the 75th percentile. Above 4.0 seconds is poor. [3][4]

What is a good INP?

A good INP is 200 milliseconds or less. 200 to 500 milliseconds needs improvement and above 500 milliseconds is poor. [3][4]

What is a good CLS?

A good CLS is 0.1 or less. Above 0.25 is poor. [3][4]

Do all three Core Web Vitals need to be good?

Yes. A page passes the assessment only when LCP, INP and CLS all meet the good threshold at the 75th percentile. [3]

Do Core Web Vitals affect SEO?

Yes. Google uses them in ranking systems, but good scores do not guarantee high rankings and do not replace relevance or content quality. [1][2]

Why does Lighthouse differ from PageSpeed Insights?

Lighthouse is a controlled lab test, while the CrUX section in PageSpeed Insights is aggregated real-user field data. The measurement conditions are different. [11][12]

Does Lighthouse measure INP?

It does not measure full real-user INP from natural visits. In lab testing it uses metrics such as TBT as a proxy, while actual interactions can be investigated in DevTools. [11][12]

Is a large image always the cause of poor LCP?

No. LCP may be limited by TTFB, late resource discovery or render delay after the resource has loaded. [5][6]

Should the LCP image use loading="lazy"?

No. web.dev explicitly advises against lazy-loading an LCP image because it delays resource discovery and loading. [6]

Why can field CLS be worse than Lighthouse CLS?

Shifts can happen after load during interactions, ads or dynamically inserted content, which a simple lab page load may never trigger. [10][11]

What changed for SPAs in 2026?

Chrome added Core Web Vitals measurement for soft navigations, and DevTools 152 reports those metrics in Live Metrics for client-side navigation. [15][16]

Sources and references

  1. Google Search Central, Understanding Core Web Vitals and Google Search results123
  2. Google Search Central, Understanding page experience in Google Search results12
  3. web.dev, Web Vitals12345678910
  4. web.dev, How the Core Web Vitals metrics thresholds were defined12345
  5. web.dev, Largest Contentful Paint (LCP)123
  6. web.dev, Optimize Largest Contentful Paint123456
  7. web.dev, Interaction to Next Paint (INP)12345
  8. web.dev, Optimize Interaction to Next Paint12345
  9. web.dev, Cumulative Layout Shift (CLS)12
  10. web.dev, Optimize Cumulative Layout Shift12345
  11. web.dev, Getting started with measuring Web Vitals12345678
  12. web.dev, Core Web Vitals workflows with Google tools12345678910
  13. Chrome for Developers, CrUX methodology and tools123
  14. Chrome for Developers, Chrome UX Report release notes1234
  15. Chrome for Developers, Measuring soft navigations12
  16. Chrome for Developers, What's new in DevTools 15212

Was this helpful?

Get new articles by email

One short email per new Learning article. No spam, unsubscribe in one click.

We only use your email to send new articles. No third-party sharing.

Back to Learning