Article · Web Development
What Are Core Web Vitals? (And How to Improve Them)
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 is considered to pass when 75% of real visits hit the "good" threshold for all three: LCP of 2.5 seconds or less, INP of 200 milliseconds or less, and CLS of 0.1 or less. They are part of Google's ranking signals and a direct proxy for how fast, stable, and usable your site feels to actual visitors.
Key takeaways
- Core Web Vitals are three metrics: LCP (loading), INP (responsiveness), and CLS (visual stability).
- To pass, 75% of real visits must hit the "good" thresholds: LCP 2.5s or less, INP 200ms or less, CLS 0.1 or less.
- INP replaced First Input Delay (FID) in March 2024 as the responsiveness metric, and it is stricter.
- They are confirmed Google ranking signals and a direct proxy for bounce rate and conversion.
- Google scores you on real-user field data (CrUX), not a single lab test — always verify with field data.
- Fixes differ per metric: optimize images and server time for LCP, trim JavaScript for INP, and reserve space for CLS.
Core Web Vitals Defined
Core Web Vitals are a set of three standardized metrics Google uses to quantify the user experience of a web page — specifically how quickly it loads, how fast it responds to input, and how stable it stays as it renders. They are the measurable core of Google's broader "page experience" signals, and they are scored using data from real Chrome users rather than a single lab test.
Each metric has three performance bands — good, needs improvement, and poor — and Google evaluates your score at the 75th percentile of page loads. In plain terms, at least 75% of your real visits must clear the "good" threshold before a page is considered to pass.
| Metric | What it measures | Good | Needs improvement | Poor |
|---|---|---|---|---|
| LCP (Largest Contentful Paint) | Loading speed | 2.5s or less | 2.5s to 4.0s | Over 4.0s |
| INP (Interaction to Next Paint) | Responsiveness | 200ms or less | 200ms to 500ms | Over 500ms |
| CLS (Cumulative Layout Shift) | Visual stability | 0.1 or less | 0.1 to 0.25 | Over 0.25 |
These three metrics are evaluated separately for mobile and desktop, and mobile is where most sites struggle. If you only test on a fast laptop over office Wi-Fi, you will miss the experience most of your visitors actually get.
LCP, INP and CLS Explained
Each Core Web Vital answers a different question a visitor is asking in the first few seconds on your page. Here is what each one actually captures.
LCP — Largest Contentful Paint (loading)
LCP marks the moment the largest visible element in the viewport finishes rendering — usually a hero image, a banner, a video poster, or a large block of headline text. It answers the question "has the main content shown up yet?" A slow LCP almost always traces back to a heavy image, a slow server response, or render-blocking scripts and stylesheets. Aim for 2.5 seconds or less.
INP — Interaction to Next Paint (responsiveness)
INP measures how quickly the page visually responds after a user interacts — a tap, a click, or a keypress — across the whole visit, and reports the worst-case delays. It answers "when I click something, does it react?" INP replaced the older First Input Delay (FID) metric in March 2024, and it is stricter because it looks at the full interaction, not just the initial delay. Heavy JavaScript is the usual culprit. Aim for 200 milliseconds or less.
CLS — Cumulative Layout Shift (stability)
CLS quantifies how much visible content unexpectedly jumps around as the page loads. It answers "did the button move right as I went to tap it?" It is a unitless score, not a time, and it is what causes you to accidentally click the wrong link when an ad or image loads late and shoves everything down. Aim for 0.1 or less.
A simple way to remember the trio: LCP is about speed, INP is about reaction, and CLS is about steadiness.
Why They Affect Rankings
Google confirmed Core Web Vitals as ranking signals as part of its page experience system. They are not the most powerful factor — relevance, content quality, and links still carry more weight — but they act as a meaningful tie-breaker between pages of similar quality, and they influence eligibility for certain search features.
The bigger reason to care is that these metrics are a direct measurement of user behavior drivers, not an abstract score. Independent industry research consistently links faster, more stable pages to lower bounce rates and higher conversion. In practice, a page that clears all three thresholds tends to:
- Keep more visitors past the critical first few seconds instead of losing them to a slow load
- Convert better because forms, buttons, and checkout flows respond instantly
- Avoid the frustration of misclicks caused by shifting layouts
- Perform better on mobile, where connections are slower and margins for error are thinner
Because scores are based on field data from real Chrome users over a rolling 28-day window, they reflect your genuine audience — their devices, their networks, their locations. That makes Core Web Vitals one of the few SEO factors that improves the business result and the ranking signal at the same time.
How to Measure Them
There are two kinds of Core Web Vitals data, and knowing the difference is the key to measuring them correctly.
- Field data (real-user monitoring): Anonymized measurements collected from actual Chrome visitors, aggregated in the Chrome User Experience Report (CrUX). This is what Google uses to score your site, so it is the data that matters for rankings.
- Lab data (synthetic testing): A single controlled test run in a simulated environment. It is fast, repeatable, and great for debugging a specific page, but it does not reflect your full range of real users.
A reliable measurement workflow uses both — field data to know where you truly stand, and lab data to diagnose why. A practical sequence looks like this:
- Open the Core Web Vitals report in Google Search Console to see which URL groups are passing or failing across your whole site, using real field data.
- Run individual problem pages through PageSpeed Insights, which shows field data at the top and lab diagnostics below.
- Use Chrome DevTools and Lighthouse to reproduce and debug specific issues element by element.
One caution: a green Lighthouse score in the lab does not guarantee you pass in the field. Real users on mid-range phones and slower networks are the true test, so always confirm with field data before declaring victory.
How to Improve Each Metric
Each metric responds to a distinct set of fixes. Improving Core Web Vitals is less about one magic change and more about working through the highest-impact items for each score.
Improving LCP (loading)
- Compress and correctly size your hero image, and serve modern formats like WebP or AVIF
- Add preload hints for the LCP image and critical fonts
- Reduce server response time with better hosting, caching, and a CDN
- Eliminate render-blocking CSS and JavaScript, and defer anything non-critical
Improving INP (responsiveness)
- Cut down and split large JavaScript bundles so the main thread is not blocked
- Defer or lazy-load third-party scripts such as chat widgets, ads, and analytics
- Break up long-running tasks and avoid heavy work during user interactions
- Remove unused code and audit tag-manager scripts that quietly pile up
Improving CLS (stability)
- Always set explicit width and height (or a reserved aspect ratio) on images, videos, and embeds
- Reserve space for ads, banners, and dynamically injected content
- Preload web fonts and use font-display strategies to avoid text reflow
- Never insert content above existing content unless it is in response to a user action
Because scores are measured at the 75th percentile, prioritize the fixes that help your slowest real-world segment — typically mobile users on average devices — rather than optimizing for an already-fast desktop view.
Tools We Use
You do not need an expensive stack to measure and fix Core Web Vitals. A small set of free, authoritative tools covers the whole workflow from monitoring to debugging.
- Google Search Console — Core Web Vitals report: Site-wide field data grouped by URL, showing exactly which pages pass or fail. This is the primary scorecard.
- PageSpeed Insights: Combines real-user field data with lab diagnostics and prioritized recommendations for a single URL.
- Lighthouse and Chrome DevTools: Built into Chrome for deep, element-level debugging of loading, scripting, and layout shifts.
- Chrome User Experience Report (CrUX): The underlying dataset of real Chrome user experiences that Google scores you against.
- web-vitals JavaScript library: Captures LCP, INP, and CLS from your own live visitors so you can monitor trends continuously.
- WebPageTest: Detailed lab testing across devices, connection speeds, and locations for reproducing hard-to-catch issues.
Tools tell you where the problems are; fixing them at the code and infrastructure level is where the score actually moves. Our in-house team at Zen in Tech uses these same tools to audit performance, then addresses the root causes — images, JavaScript, fonts, and layout — as part of every build and redesign we ship in Houston and nationwide.
Frequently asked questions
What are the three Core Web Vitals?
The three Core Web Vitals are Largest Contentful Paint (LCP), which measures loading speed; Interaction to Next Paint (INP), which measures responsiveness; and Cumulative Layout Shift (CLS), which measures visual stability. Together they quantify how fast, responsive, and steady a page feels to a real visitor.
What is a good Core Web Vitals score?
A page passes when at least 75% of real visits meet all three good thresholds: an LCP of 2.5 seconds or less, an INP of 200 milliseconds or less, and a CLS of 0.1 or less. Scores are measured separately on mobile and desktop.
Do Core Web Vitals actually affect Google rankings?
Yes. Core Web Vitals are confirmed ranking signals within Google's page experience system. They carry less weight than relevance and content quality, but they act as a tie-breaker between similar pages and improve the user experience that drives conversions.
What is the difference between INP and the old FID metric?
INP (Interaction to Next Paint) replaced First Input Delay (FID) in March 2024. FID only measured the delay before the browser started processing the first interaction, while INP measures the full response time across all interactions during a visit, making it a more complete and stricter measure of responsiveness.
How do I check my Core Web Vitals?
Start with the Core Web Vitals report in Google Search Console to see site-wide real-user data, then run individual pages through PageSpeed Insights for both field and lab results. Use Chrome DevTools and Lighthouse to debug specific issues element by element.
What is the difference between field data and lab data?
Field data comes from real Chrome users over a rolling 28-day window and is what Google actually uses to score your site. Lab data is a single controlled synthetic test that is useful for debugging but does not reflect your full range of real visitors. Always confirm improvements with field data.
Why do my Core Web Vitals pass on desktop but fail on mobile?
Mobile visitors typically use slower networks and less powerful devices, so pages that feel instant on a laptop can load slowly and respond sluggishly on a phone. Because Google scores mobile and desktop separately and most traffic is mobile, you should always optimize and test for mobile first.
How long does it take to improve Core Web Vitals?
Code and configuration fixes can be made quickly, but because scores are based on a rolling 28-day window of real-user data, it usually takes several weeks after deploying changes for your official field scores in Search Console to reflect the improvement.