The Complete Core Web Vitals Guide

Master Core Web Vitals - Google's page experience metrics. Learn LCP, CLS, INP thresholds, how to measure them, and fixes that improve rankings and conversions.
Harlan WiltonHarlan Wilton14 min read Published Updated

Core Web Vitals are Google's metrics for measuring user experience. They became an official Google ranking factor in June 2021 and directly affect both your search visibility and user satisfaction.

As of 2024, only 48% of mobile sites pass all Core Web Vitals, meaning optimizing these metrics gives you a competitive advantage over half the web.

What Are Core Web Vitals?

Core Web Vitals are three specific metrics that measure loading performance, visual stability, and interactivity:

MetricFull NameMeasuresGoodPoor
LCPLargest Contentful PaintLoading speed≤2.5s>4.0s
CLSCumulative Layout ShiftVisual stability≤0.1>0.25
INPInteraction to Next PaintResponsiveness≤200ms>500ms

These thresholds are measured at the 75th percentile of page loads—meaning 75% of your visitors must experience "good" scores for your site to pass.

Important: INP replaced FID as a Core Web Vital on March 12, 2024. If you're still optimizing for First Input Delay, you're targeting an outdated metric.


Largest Contentful Paint (LCP)

LCP measures how long it takes for the largest visible content element to render. It's the hardest Core Web Vital to pass—only 59% of mobile pages achieve good LCP.

What is a Good LCP Score?

LCP TimeRatingWhat It Means
≤2.5sGoodUsers perceive the page as fast
2.5-4.0sNeeds ImprovementNoticeable delay, some users may bounce
>4.0sPoorSignificant user frustration, high abandonment

What Elements Can Be LCP?

The LCP element is the largest image or text block visible in the viewport:

Common LCP Issues

IssueImpactPrevalence
Slow server response (TTFB)HighSites with poor LCP average 2,270ms TTFB
Render-blocking resourcesHighCSS and JS that delay first paint
Large unoptimized imagesHighUncompressed or oversized images
Client-side rendering delaysMediumJavaScript-heavy frameworks
LCP image not prioritizedMediumMissing fetchpriority or preload

LCP Business Impact

Complete LCP Guide | All LCP Fixes


Cumulative Layout Shift (CLS)

CLS measures unexpected layout shifts during the page lifecycle. It's the easiest Core Web Vital to pass—79% of mobile sites achieve good CLS.

What is a Good CLS Score?

CLS ScoreRatingWhat It Means
≤0.1GoodStable layout, minimal shifts
0.1-0.25Needs ImprovementNoticeable movement, may frustrate users
>0.25PoorSignificant layout instability

CLS is calculated as: Impact Fraction × Distance Fraction. A shift affecting 50% of the viewport that moves 25% of the viewport height = 0.5 × 0.25 = 0.125 CLS.

What Causes Layout Shifts?

CauseImpactPrevalence
Images without dimensionsHigh66% of mobile pages have unsized images
Ads and embedsHighThird-party content without reserved space
Dynamically injected contentMediumBanners, notifications, modals
Web fonts causing FOIT/FOUTMediumFont swapping changes text size
CSS animationsLowAnimations that trigger layout

CLS Business Impact

Complete CLS Guide | All CLS Fixes


Interaction to Next Paint (INP)

INP measures how quickly your page responds to user interactions. Unlike FID (which only measured the first interaction), INP tracks all interactions because 90% of user time on a page is spent after initial load.

What is a Good INP Score?

INP TimeRatingWhat It Means
≤200msGoodInteractions feel instant
200-500msNeeds ImprovementNoticeable lag on interactions
>500msPoorSluggish, frustrating experience

How INP is Calculated

INP measures the full interaction lifecycle:

  1. Input delay — Time from user action to event handler start
  2. Processing time — Time to execute event handlers
  3. Presentation delay — Time to render the visual update

The reported INP is typically the worst interaction (or 98th percentile for pages with many interactions).

Common INP Issues

IssueImpactLab Proxy
Long-running JavaScriptHighTotal Blocking Time (TBT)
Heavy event handlersHighMain thread work
Large DOM sizeMediumDOM nodes >1,400
Third-party scriptsMediumBlocking main thread
Hydration delaysMediumFramework-specific

The INP Gap

While 93% of sites passed FID, only 74% pass INP. The desktop vs mobile gap is even more stark: 97% desktop vs 74% mobile pass INP.

INP Business Impact

Complete INP Guide | All INP Fixes


Other Web Vitals

Beyond the three Core Web Vitals, several other metrics affect your Lighthouse Performance score and user experience.

First Contentful Paint (FCP)

FCP measures when the first text or image is painted. It's the earliest signal that the page is loading.

FCP TimeRating
≤1.8sGood
1.8-3.0sNeeds Improvement
>3.0sPoor

Weight in Lighthouse: 10% of Performance score

FCP issues often share root causes with LCP—fix render-blocking resources and server response time to improve both.

Speed Index (SI)

Speed Index measures how quickly content is visually populated during page load. It captures the perceived loading experience.

Speed IndexRating
≤3.4sGood
3.4-5.8sNeeds Improvement
>5.8sPoor

Weight in Lighthouse: 10% of Performance score

Speed Index improves when above-the-fold content loads progressively rather than all at once.

Time to First Byte (TTFB)

TTFB measures server responsiveness—the time from request to first byte of response. It's not a Core Web Vital but directly impacts LCP.

TTFBRating
≤200msGood
200-600msNeeds Improvement
>600msPoor

Sites with poor LCP have an average TTFB of 2,270ms. Fix TTFB first if your server response exceeds 600ms.

Fix Slow Server Response

Total Blocking Time (TBT)

TBT measures the total time the main thread was blocked by long tasks (>50ms) between FCP and Time to Interactive. It's a lab proxy for INP.

TBTRating
≤200msGood
200-600msNeeds Improvement
>600msPoor

Weight in Lighthouse: 30% of Performance score—the highest-weighted metric

TBT correlates twice as well with INP as FID did, making it the best lab metric for predicting real-world interactivity.

Fix Total Blocking Time

Lighthouse Performance Score Weights

The overall Lighthouse Performance score is a weighted average of five metrics:

MetricWeightPrimary Improvement
TBT30%Reduce JavaScript, break up long tasks
LCP25%Optimize images, improve TTFB
CLS25%Set dimensions, reserve space
FCP10%Remove render-blocking resources
SI10%Progressive loading, critical CSS

Key insight: LCP, CLS, and TBT account for 80% of your score. Focus there first.

Try the Score Calculator


How to Measure Core Web Vitals

Lab Data (Synthetic Testing)

Lab tools test in controlled environments—useful for debugging but not used by Google for ranking.

Tools:

  • Chrome DevTools — Performance panel shows LCP, CLS, and long tasks
  • Lighthouse — Full performance audit with actionable recommendations
  • WebPageTest — Filmstrip view and waterfall analysis
npx unlighthouse --site https://your-site.com

Field Data (Real User Monitoring)

Field data from actual visitors is what Google uses for ranking:

Important: Expect a 28-day delay between fixes and improved CrUX data.

Lab vs Field Differences

AspectLab DataField Data
DeviceSimulated throttlingReal user devices
NetworkFixed conditionsVariable connections
InteractionsScripted or noneReal user behavior
Use forDebugging, CI/CDSEO ranking, real UX

Your lab scores may differ significantly from field data. A page can score 95 in Lighthouse but fail Core Web Vitals in the field if real users have slower devices or networks.


Why Core Web Vitals Matter for SEO

Core Web Vitals are a confirmed Google ranking factor.

Ranking Studies

You must pass all three metrics to gain ranking advantage—there's no partial credit.

User Experience & Conversions

The Deloitte "Milliseconds Make Millions" study found a 0.1 second improvement in site speed can:

  • Increase retail conversions by 8.4%
  • Boost average order value by 9.2%
  • Increase travel conversions by 10.1%

Google research shows bounce rate increases 32% when load time goes from 1 to 3 seconds, and 90% at 5 seconds.


Current State of the Web (2024)

According to HTTP Archive 2024 data:

MetricMobile Pass RateDesktop Pass Rate
LCP59%72%
CLS79%72%
INP74%97%
All Three48%54%

The trend is improving: mobile CWV pass rates grew from 31% (2022) to 48% (2024). But over half the web still fails.


Test Your Entire Site

Most tools only test one page. Your homepage might score 100, but what about:

  • Product pages with heavy images?
  • Blog posts with embedded videos?
  • Dynamic pages with JavaScript widgets?

The 2024 Web Almanac specifically notes that homepage performance is often not representative of an entire site.

npx unlighthouse --site https://your-site.com

Next Steps

  1. AuditRun Unlighthouse to find issues across all pages
  2. Prioritize — Fix the highest-impact issues first (TBT, LCP, CLS account for 80% of score)
  3. Monitor — Set up continuous monitoring to catch regressions