To meet Google’s Core Web Vitals targets, aim for an LCP of 2.5 seconds or less, an INP of 200 milliseconds or less, and a CLS of 0.1 or less. Check the 75th percentile separately for mobile and desktop, and meet the good threshold for all three metrics. Use real-user data to judge whether visitors’ experience meets the targets; use lab tests to find and diagnose problems.
What Core Web Vitals requirements should you meet?
Google’s good thresholds and poor ranges are:
| Metric | What it measures | Good | Poor |
|---|---|---|---|
| Largest Contentful Paint (LCP) | Loading: when the largest image or text block in the viewport renders | 2.5 seconds or less | More than 4 seconds |
| Interaction to Next Paint (INP) | Responsiveness: latency across user interactions | 200 milliseconds or less | More than 500 milliseconds |
| Cumulative Layout Shift (CLS) | Visual stability: unexpected movement of visible content | 0.1 or less | More than 0.25 |
Values between the good and poor ranges need improvement. Evaluate each metric at the 75th percentile, with mobile and desktop reported separately. A page or site meets the targets only when all three metrics are in the good range. These thresholds and measurement guidance are described in Google’s Web Vitals guidance.
As an Amazon Associate I earn from qualifying purchases.
How to measure whether your site meets them
Start with field data
Field data reflects actual visits, including the mix of devices, networks, background activity and interactions. Check PageSpeed Insights or the Search Console Core Web Vitals report for Chrome User Experience Report (CrUX) data. CrUX is aggregated and anonymized, so it gives a useful overview but may not show detailed telemetry for individual pageviews.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Reporting can depend on whether a particular URL has enough data. If page-level CrUX data is missing, an origin-level view can provide context, but it should not be treated as a result for every page. Google’s LCP guidance recommends supplementing missing page-level data with real-user monitoring (RUM) collected through JavaScript APIs.
#1 Best Overall
Add site-owned RUM when you need detail
For pageview-level diagnosis and faster regression monitoring, collect RUM on your own site. Google documents the web-vitals JavaScript library as an option for collecting LCP, INP and CLS consistently with its tools. Use it to see which pages and user experiences are contributing to field results, rather than relying only on an aggregated overview.
Use lab tests during development
Chrome DevTools and Lighthouse help you test controlled changes before release and catch regressions. Lighthouse can measure LCP and CLS in a simulated run. However, a run without user input cannot measure INP: Lighthouse reports Total Blocking Time (TBT) as a diagnostic proxy, not as the field INP result. A passing lab run or low TBT does not prove that real users meet the INP target. See Google’s guide to measuring Web Vitals for the distinction between field and lab measurement.
Rank #2
A practical workflow for meeting the targets
- Establish the field baseline. Review PageSpeed Insights and Search Console’s Core Web Vitals report, checking mobile and desktop separately and noting whether the result is page-level or origin-level.
- Identify where detail is missing. If aggregated CrUX data does not show enough about a page’s visits, collect RUM with the
web-vitalslibrary and use pageview-level data to locate the problem experience. - Reproduce and diagnose in the lab. Use Chrome DevTools or Lighthouse while developing. Treat lab output as a way to investigate and compare controlled changes, not as proof of field compliance.
- Investigate the metric that misses its target. For LCP, identify the actual largest-content element and its resource using PageSpeed Insights or DevTools. For INP, investigate responsiveness using field interaction data; TBT can help diagnose main-thread blocking in a lab but is not INP. For CLS, use field and lab observations to find unexpected movement.
- Deploy a change and recheck field outcomes. Confirm the result in real-user measurements after visitors experience the change. Field data accounts for actual devices, networks, activity and interactions that a simulated test cannot reproduce.
Why field and lab results can disagree
| Approach | Best used to answer | What it cannot establish by itself |
|---|---|---|
| CrUX field data | How real users experienced a site, in an aggregated and anonymized view | Detailed telemetry for every pageview may not be available |
| Site-owned RUM | Which pageviews and experiences contribute to a metric, with detail useful for diagnosis and monitoring | It does not replace controlled lab tests for reproducing development changes |
| Lighthouse and DevTools lab runs | How a page behaves in a controlled test and whether a development change introduces a regression | A lab run alone does not establish field thresholds; without user input, Lighthouse cannot measure INP |
Use the approaches together: field data answers whether users are meeting the targets, while lab tools help developers investigate what to change. Apply the same thresholds to mobile and desktop, but do not combine their results into a single pass/fail view.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsHow Google chose the thresholds
Google says the thresholds were chosen to balance a high-quality user experience with what is achievable across existing web content. Its threshold-methodology article reports historical CrUX measurements used during threshold selection; these are not current estimates of web-wide performance. For example, the article reports that in April 2020, 42% of phone origins and 51% of desktop origins met a candidate 2.5-second LCP threshold. Those dated figures explain threshold selection, not how sites perform today. See Google’s threshold methodology for the historical context.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Capture a page for visual inspection
A screenshot can help document what a page looked like during a visual check, but it does not measure Core Web Vitals or substitute for field data, RUM, Lighthouse or DevTools diagnostics. For a capture, ScreenshotNeo is a website screenshot API and MCP server. It can return PNG, JPEG, WebP or PDF captures, and offers controls such as waiting for a selector, capturing a full page or a selected element, and custom CSS or JavaScript.
Or skip the browser setup
Make a single GET request to capture a page. The example saves the response as WebP; consult the ScreenshotNeo API documentation for request options and response details.
Rank #4
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo can accept cookie and consent banners and remove more than 60 known consent platforms, newsletter popups and chat widgets before capture; each of those steps can be turned off. Bot checks, blank pages, timeouts, failed loads and cache hits are not billed, and responses identify page verdict and billing status with headers. Its MCP server provides take_screenshot, get_page_info and capture_pdf tools for AI agents. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 shots.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.
Quick Recap
Best Value
- Used Book in Good Condition
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




