Core Web Vitals are three metrics Google uses to measure real-world page experience: Largest Contentful Paint (LCP) for loading speed, Interaction to Next Paint (INP) for responsiveness, and Cumulative Layout Shift (CLS) for visual stability. A page "passes" when at least 75% of visits meet the good threshold on all three, and passing is a minor but real ranking factor — mainly a tiebreaker among otherwise-similar results.
This guide breaks down what each metric measures, the exact thresholds Google uses, how much weight they carry in rankings, and how to find and fix the pages dragging your scores down.
What is Largest Contentful Paint (LCP)?
LCP measures how long it takes the largest visible element — usually a hero image, a video poster frame, or a large block of text — to render on screen after a user requests the page. It approximates when the page feels "loaded" to a real visitor, as opposed to older metrics like Time to First Byte that only measure server response.
A good LCP is under 2.5 seconds, needs improvement is 2.5–4 seconds, and poor is anything above 4 seconds, measured at the 75th percentile of real visits. The most common causes of a slow LCP are unoptimized hero images, render-blocking CSS and JavaScript, slow server response times, and fonts that block text rendering.
What is Interaction to Next Paint (INP)?
INP measures how responsive a page feels across its entire lifespan, not just the first interaction. It records the latency between a user's click, tap, or keypress and the moment the browser visually updates the page in response, then reports a single representative value for the whole visit.
INP fully replaced First Input Delay (FID) as the official responsiveness metric in March 2024. The change matters because FID only measured the delay before the browser could start processing the first input — it ignored how long the actual response took, and it ignored every interaction after the first one. INP catches the janky third click that FID would have missed entirely.
A good INP is under 200 milliseconds, needs improvement is 200–500 milliseconds, and poor is anything above 500 milliseconds. Heavy JavaScript execution, large DOM trees, and unoptimized event handlers are the usual culprits.
What is Cumulative Layout Shift (CLS)?
CLS measures unexpected visual movement — a button that shifts down as an ad loads, text that jumps when a web font swaps in, an image that pushes content around because it had no reserved space. It's scored as a unitless value calculated from how much of the viewport shifted and how far.
A good CLS score is under 0.1, needs improvement is 0.1–0.25, and poor is above 0.25. The fix is almost always the same: reserve explicit width and height (or aspect-ratio) for images, embeds, and ads before they load, and avoid injecting content above existing content unless it's in response to a user action.
Core Web Vitals thresholds at a glance
| Metric | Measures | Good | Needs Improvement | Poor |
|---|---|---|---|---|
| LCP | Loading speed | < 2.5s | 2.5s – 4s | > 4s |
| INP | Responsiveness | < 200ms | 200ms – 500ms | > 500ms |
| CLS | Visual stability | < 0.1 | 0.1 – 0.25 | > 0.25 |
All three are measured at the 75th percentile of real-user visits collected through the Chrome UX Report (CrUX), not lab tests. That means a page can score perfectly in Lighthouse and still fail Core Web Vitals if real visitors — often on slower connections or older devices — experience something worse.
Do Core Web Vitals actually affect SEO rankings?
Yes, but as a minor factor, not a dominant one. Google has confirmed Core Web Vitals are part of the page experience signals used in ranking, but they mainly function as a tiebreaker: when two pages are otherwise similarly relevant to a query, the one with the better page experience has an edge. Content relevance, backlinks, and search intent match still carry far more weight than passing or failing CWV.
Where Core Web Vitals matter more directly is conversion and engagement — slow, janky pages lose visitors before Google's ranking algorithm even becomes relevant, and that lost engagement can indirectly hurt performance in ways a ranking factor never would.
How many websites actually pass Core Web Vitals?
Fewer than half of mobile sites do. According to the HTTP Archive's 2025 Web Almanac, using July 2025 CrUX data, only 48% of mobile origins and 56% of desktop origins passed all three Core Web Vitals thresholds. Broken down by individual metric on mobile, 62% of pages achieve a good LCP, 77% achieve a good INP, and 81% achieve a good CLS — which means LCP is statistically the metric most likely to be dragging a failing site down.
Mobile pass rates have been climbing steadily: from 36% in 2023 to 44% in 2024 to 48% in 2025, per the same report, largely thanks to the industry-wide shift away from FID toward INP and wider adoption of image optimization and lazy loading.
How do I check my Core Web Vitals scores?
Google Search Console's Core Web Vitals report shows real CrUX field data for your site, grouped by URL and issue type, and is the authoritative source since it reflects actual visitor experience rather than a single lab test. PageSpeed Insights gives you both field data (when a URL has enough traffic to appear in CrUX) and a lab-based Lighthouse audit with specific, page-level fixes when field data isn't available.
For sites without enough traffic to appear in CrUX, lab tools are the only option — run Lighthouse in Chrome DevTools or PageSpeed Insights, and treat the scores as directional rather than exact, since lab conditions don't capture the range of real devices and networks your actual visitors use.
What's the fastest way to improve a failing LCP?
Compress and correctly size your largest above-the-fold image, serve it in a modern format like WebP or AVIF, and add fetchpriority="high" so the browser prioritizes it over other resources. Eliminate render-blocking CSS and JavaScript in the critical rendering path, and consider a CDN if server response time (TTFB) is a contributing factor — LCP includes the time to first byte as part of its total.
What's the fastest way to improve a failing INP?
Break up long JavaScript tasks (anything over 50ms) so the main thread stays free to respond to input, defer or remove unnecessary third-party scripts, and avoid heavy work inside event handlers. Reducing DOM size also helps, since browsers spend more time recalculating styles and layout on larger, deeply nested trees.
FAQ
Do Core Web Vitals apply to every page, or the whole site? Google evaluates and reports Core Web Vitals per URL group, based on pages with similar layouts and content, not as a single site-wide score. A site can pass on product pages while failing on a bloated homepage.
Is a good Lighthouse score the same as passing Core Web Vitals? No. Lighthouse produces a lab-based score from a single simulated test run, while Core Web Vitals pass/fail status comes from real-user field data in CrUX. A page can score 100 in Lighthouse and still fail CWV if real visitors on slower networks or devices have a worse experience.
How often does Google update Core Web Vitals thresholds or metrics? Rarely, but it happens — INP replaced FID in March 2024 after a year-long trial period. Thresholds themselves have stayed the same since Core Web Vitals launched, but it's worth checking web.dev periodically since Google does revise methodology as web usage patterns evolve.
Can third-party scripts hurt my Core Web Vitals? Yes, frequently. Ad networks, chat widgets, analytics tags, and embedded social media widgets are common causes of poor INP and CLS, since they add JavaScript execution and often load content without reserved space. Auditing and trimming third-party scripts is one of the highest-leverage fixes available.
Does mobile or desktop matter more for Core Web Vitals? Mobile, in most cases — Google primarily uses mobile-first indexing, and mobile pass rates are consistently lower than desktop due to slower processors and network conditions. If you can only prioritize one, prioritize mobile.
Core Web Vitals are one input among many, but they're one of the few ranking-adjacent metrics you can measure precisely and fix directly. Run a free SEO report to see your current Core Web Vitals scores alongside the rest of your technical SEO profile, or check how audit frequency should factor into your ongoing monitoring in our guide on how often to run an SEO audit.
Share this article
About the Author
Founder & Lead Developer at SEO Report AI. Full-stack developer specializing in Web3 and Applied AI, building tools that make complex technology accessible and useful for everyone.
Stay Updated
Get the latest SEO insights delivered to your inbox.