Crawlsonar
Performance2 min readUpdated 2026-07-09

Core Web Vitals: LCP, INP and CLS explained (and fixed)

Core Web Vitals are the three metrics Google ranks on. Here's what LCP, INP and CLS measure, the 'good' thresholds, and the concrete fixes for each.

Core Web Vitals are three field metrics Google uses to measure real-user experience — and they're a ranking signal. They capture loading (LCP), responsiveness (INP) and visual stability (CLS). 'Good' means passing all three at the 75th percentile of your visitors.

MetricMeasuresGoodPoor
LCPLoading — when the main content appears≤ 2.5s> 4.0s
INPResponsiveness — reaction to input≤ 200ms> 500ms
CLSVisual stability — layout jumps≤ 0.1> 0.25

LCP — Largest Contentful Paint#

LCP marks when the biggest element in the viewport (usually the hero image or headline) finishes rendering. It's gated by how fast your server responds and how quickly the critical resources load.

  • Improve TTFB: cache at the edge/CDN, speed up server and database work, cut redirects.
  • Optimise the LCP image: right-sized, modern format (WebP/AVIF), and fetchpriority="high" or a preload.
  • Remove render-blocking CSS/JS; inline critical CSS.

INP — Interaction to Next Paint#

INP (which replaced FID in 2024) measures how quickly the page responds to taps, clicks and keypresses across the whole visit. Poor INP means a janky, laggy feel.

  • Break up long JavaScript tasks — yield to the main thread, defer non-critical work.
  • Avoid heavy work inside event handlers; debounce and move computation off the main thread (Web Workers).
  • Ship less JavaScript: code-split, remove unused scripts and third-party tags.

CLS — Cumulative Layout Shift#

CLS measures how much the layout jumps as the page loads — the frustrating experience of tapping a button that moves. It's almost always caused by content loading without reserved space.

  • Always set width and height (or aspect-ratio) on images, videos, ads and embeds.
  • Reserve space for dynamic content instead of inserting it above existing content.
  • Preload fonts and use font-display: optional/swap to avoid late text reflow.

Field data vs lab data#

Field data is what real Chrome users experienced (the CrUX dataset) — this is what Google actually ranks on, but it needs enough traffic to exist. Lab data is a single controlled test (Lighthouse) — always available, good for debugging. INP is a field-only metric.

Check both, plus the Lighthouse score, with the Core Web Vitals Checker; measure raw server timing with the Website Speed Test.

Frequently asked questions

Are Core Web Vitals a ranking factor?

Yes — they're part of Google's page experience signals. They're not the biggest factor (relevance and content quality dominate), but they're a tie-breaker and, more importantly, a direct driver of bounce rate and conversions.

What replaced First Input Delay (FID)?

INP (Interaction to Next Paint) replaced FID as a Core Web Vital in March 2024. INP measures responsiveness across the whole visit, not just the first interaction, so it's a stricter and more representative metric.

Why does my tool show no field data?

Field (CrUX) data only exists for pages/origins with enough real Chrome traffic. Low-traffic sites won't have it, so tools fall back to lab (Lighthouse) data. INP in particular is field-only and may read as 'no data' on quiet pages.

Do it with a free tool

Related guides

Published 2026-07-09 · Updated 2026-07-09 · By Crawlsonar.