Core Web Vitals are Google's standardised set of metrics that measure the quality of user experience on a web page. They focus on three critical aspects of the browsing experience: loading speed, interactivity, and visual stability. Since Google incorporated these signals into its ranking algorithm, understanding and optimising for Core Web Vitals has become essential for any website that relies on organic search traffic.
The most significant change so far came on 12 March 2024, when Interaction to Next Paint (INP) replaced First Input Delay (FID) as the responsiveness metric. The full timeline is below.
Core Web Vitals Thresholds at a Glance
| Metric | Measures | Good | Poor |
|---|---|---|---|
| LCP | Loading: when the main content appears | ≤ 2.5 s | > 4 s |
| INP | Responsiveness: delay from a tap, click or key press to the next paint | ≤ 200 ms | > 500 ms |
| CLS | Visual stability: how much content moves unexpectedly | ≤ 0.1 | > 0.25 |
Anything between "good" and "poor" is rated "needs improvement". Each metric is assessed at the 75th percentile of real page loads, split by mobile and desktop, so at least three visits in four must meet the threshold. A page passes the Core Web Vitals assessment only when all three metrics are good.
The Three Core Web Vitals
Largest Contentful Paint (LCP)
LCP measures how long it takes for the largest visible content element — typically a hero image, heading, or text block — to render on screen. It is the most intuitive of the three metrics because it closely aligns with what users perceive as "the page has loaded."
- Good: 2.5 seconds or less
- Needs improvement: Between 2.5 and 4.0 seconds
- Poor: More than 4.0 seconds
Common causes of poor LCP include unoptimised images, slow server response times, render-blocking CSS and JavaScript, and client-side rendering that delays content visibility. Serving images in modern formats like WebP or AVIF, implementing a CDN, and preloading critical resources are among the most effective improvements.
Interaction to Next Paint (INP)
INP replaced First Input Delay in March 2024 as the official responsiveness metric. While FID only measured the delay of the first interaction, INP measures the latency of all interactions throughout the page's lifecycle and reports the worst one (with some statistical smoothing). This gives a far more accurate picture of how responsive your site feels during real use.
- Good: 200 milliseconds or less
- Needs improvement: Between 200 and 500 milliseconds
- Poor: More than 500 milliseconds
Heavy JavaScript execution is the primary cause of poor INP scores. Long-running tasks block the main thread, preventing the browser from responding to user input. Breaking up large JavaScript bundles, deferring non-essential scripts, and using web workers for computationally intensive tasks can all help improve responsiveness.
Cumulative Layout Shift (CLS)
CLS quantifies how much the visible content on your page moves around unexpectedly during loading. You have probably experienced this yourself — you start reading an article, and an advertisement loads above your content, pushing everything down the page. That kind of unexpected movement is exactly what CLS measures.
- Good: 0.1 or less
- Needs improvement: Between 0.1 and 0.25
- Poor: More than 0.25
The most common causes of layout shift are images and embeds without explicit dimensions, dynamically injected content, and web fonts that cause a flash of unstyled text (FOUT). Always set width and height attributes on images, reserve space for advertisements and embeds, and use font-display: swap with font preloading.
Core Web Vitals Timeline: From FID to INP
- May 2020 — Google introduces Core Web Vitals: LCP, FID and CLS.
- June 2021 — the page experience update begins rolling out, making Core Web Vitals part of mobile search ranking. Desktop follows in early 2022.
- June 2021 — CLS is changed to use session windows, so long-lived pages are no longer penalised for every small shift over time.
- May 2022 — INP is introduced as an experimental metric.
- May 2023 — Google announces that INP will replace FID in March 2024.
- 12 March 2024 — INP officially replaces FID as a Core Web Vital. The "good" threshold is 200 ms.
- September 2024 — FID is removed from Chrome's tools and reports, including PageSpeed Insights and Search Console.
Why the change: FID measured only the input delay of the first interaction — the wait before the browser even began handling it — and ignored everything after. Almost every site passed it. INP measures the full latency of interactions across the whole visit, up to the next frame being painted, which is much closer to whether a page actually feels responsive. The thresholds for LCP and CLS were not changed.
How Google Uses Core Web Vitals for Ranking
Core Web Vitals are part of Google's broader "page experience" ranking signals, which also include mobile-friendliness, HTTPS usage, and the absence of intrusive interstitials. While content relevance and authority remain the strongest ranking factors, Core Web Vitals can be a tiebreaker between pages of similar quality.
In practice, this means that fixing poor Core Web Vitals is unlikely to catapult a mediocre page to the top of search results, but it can give you an edge over competitors with similar content.
Google uses field data from the Chrome User Experience Report for this — real Chrome users over a rolling 28-day window — not a lab score from Lighthouse. Pages without enough traffic of their own are assessed using data grouped with similar pages or with the whole site. The Core Web Vitals report in Search Console shows how Google groups and rates your URLs.
How to Measure Your Core Web Vitals
There are two types of Core Web Vitals data: lab data and field data. Lab data comes from simulated page loads in controlled environments — this is what tools like Site Speed Check and Google Lighthouse provide. Field data (also called Real User Monitoring or RUM data) comes from actual users visiting your site and is available through the Chrome User Experience Report (CrUX).
Lab data is invaluable for diagnosing issues and testing improvements before deploying them. Field data tells you how your site actually performs for real users across different devices and network conditions. Both are important.
To get started, run your site through Site Speed Check for an instant lab-data audit. You will receive your Largest Contentful Paint, Total Blocking Time (a lab proxy for INP), Cumulative Layout Shift, and a prioritised list of opportunities to improve each metric.
Practical Tips for Improvement
- Optimise your largest image. Since LCP usually measures a hero image, ensuring it is properly sized, compressed, and served in a modern format often delivers the biggest single improvement.
- Defer non-critical JavaScript. Use
deferorasyncattributes on scripts that are not needed for initial render. This frees the main thread and improves both LCP and INP. - Set explicit dimensions on all media. Adding
widthandheightattributes to images and videos allows the browser to reserve space before the resource loads, preventing layout shift. - Preload critical resources. Use
<link rel="preload">for above-the-fold images, fonts, and key CSS files to reduce LCP. - Minimise third-party scripts. Analytics, chat widgets, and advertising scripts often run heavy JavaScript that degrades INP. Audit your third-party scripts regularly and remove any that are no longer providing value.