Core Web Vitals explained: LCP, INP and CLS in plain English

·3 min read

Core Web Vitals are three measurements of how a page feels to a real visitor: how fast the main content appears, how quickly the page reacts when someone taps, and whether things jump around while loading. Google uses them as part of its page experience signals, so they are worth knowing even if you never read a performance report.

LCP: how fast the main content appears

Largest Contentful Paint is the time until the biggest visible element, usually a hero image or a large heading, is drawn. Under 2.5 seconds is good, and over 4 seconds is poor.

What usually slows it down

  • A large hero image that is not compressed or not sized for the screen.
  • A slow server response, so the browser waits before it can start.
  • CSS or JavaScript that blocks the page from drawing until it has loaded.
  • Web fonts that hide the text until they download.

INP: how quickly the page reacts

Interaction to Next Paint looks at taps, clicks and key presses across the whole visit and reports one of the slowest. Under 200 milliseconds is good, and over 500 milliseconds is poor. A page can look finished and still feel stuck if JavaScript is busy when someone taps a button.

What usually slows it down

  • Large JavaScript bundles that keep the browser busy after the page appears.
  • Third-party scripts such as chat widgets, trackers and ad tags.
  • Heavy work done directly inside a click handler.

CLS: whether the page jumps around

Cumulative Layout Shift adds up how much visible content moves unexpectedly while the page loads. A score of 0.1 or less is good, and over 0.25 is poor. It is the reason you tap a link and hit a different one because an advert pushed the page down.

What usually causes it

  • Images and embeds without a set width and height.
  • Banners or cookie notices that push content down after it has appeared.
  • Fonts that change size or spacing when they finish loading.

Lab data and field data are different

A lab test loads your page once in a controlled setup, which makes it good for finding causes. Field data comes from real visitors over time, and it is what Google actually uses. Expect the two to disagree, and expect repeat lab runs to vary a little. Treat a single run as a clue, not a verdict.

A sensible order to fix things

  1. Compress and correctly size the main image, then re-test LCP.
  2. Give every image and embed a width and height to remove most layout shift.
  3. Remove or delay third-party scripts you do not need on first load.
  4. Only then look at deeper JavaScript work for INP.

Want to see where your own site stands? Run the free scan below. For the full detail on a real mobile connection, see the sample report first.

Check your own site

Run the free scan and see your SEO and speed scores in about 30 seconds.