Core Web Vitals explained (no developer jargon)
Core Web Vitals are three numbers Google uses to measure how good a webpage feels to real users. Not how fast the server is, not how small the files are — how it actually feels when you're clicking around. Google started using these as a ranking signal in 2021, so they matter both for SEO and for whether your visitors stick around.
The three numbers are LCP, INP, and CLS. Each one tests a different aspect of "does this page feel good."
LCP — Largest Contentful Paint
LCP measures how long it takes for the biggest visible thing on the page to show up. Usually that's the main image, the hero banner, or the headline.
The thresholds:
- Good: under 2.5 seconds
- Needs improvement: 2.5 to 4.0 seconds
- Poor: over 4.0 seconds
If your LCP is 6 seconds, visitors have been staring at a blank or half-loaded page for 6 seconds before the main content shows up. Most of them already clicked back to Google.
The most common causes of slow LCP are huge unoptimized images, slow servers, and JavaScript that blocks rendering. The fixes are usually: convert images to WebP or AVIF, make sure the hero image is preloaded, get on a decent CDN, and stop loading giant JavaScript bundles before the page can render.
INP — Interaction to Next Paint
INP measures how long the page takes to respond after you click or tap something. It replaced an older metric called FID in March 2024 because FID only measured the first click, and the first click is usually fine — it's the fifth click, after a bunch of JavaScript has loaded, that feels broken.
The thresholds:
- Good: under 200 milliseconds
- Needs improvement: 200 to 500 milliseconds
- Poor: over 500 milliseconds
If your INP is 800ms, every button click has a visible delay. The page feels broken even though nothing technically is.
The causes are almost always too much JavaScript running on the main thread — analytics scripts, ads, React re-renders, third-party widgets. The fixes involve breaking up long JavaScript tasks, moving work off the main thread, and being ruthless about what you let third parties load.
CLS — Cumulative Layout Shift
CLS measures how much stuff jumps around on the page after it starts loading. You've felt this: you go to click a button and an ad loads above it and suddenly you click the wrong thing.
The thresholds:
- Good: under 0.1
- Needs improvement: 0.1 to 0.25
- Poor: over 0.25
CLS is different from LCP and INP because it's dimensionless — it's a cumulative score from 0 upward. 0.0 is perfect (nothing moves). 0.5 is chaos (everything jumps around).
The causes are almost always images without explicit width and height, fonts that swap mid-render, and ads or embeds that inject content after the page has loaded. The fixes are: always specify image dimensions, use font-display: optional or preload critical fonts, and reserve space for ads before they load.
What to measure, and how
There are two ways to get Core Web Vitals numbers:
- Lab data — run a test from your laptop using Lighthouse or PageSpeed Insights. Fast, simulated, controlled. Good for debugging.
- Field data — real measurements from real Chrome users visiting your site over the last 28 days. This is what Google uses for ranking. Available via the CrUX report.
Field data is the ground truth. Lab data is useful for testing fixes. If your lab numbers are great but your field numbers are terrible, it usually means real users are on slower networks or slower devices than your test environment.
Do Core Web Vitals actually affect rankings?
Yes, but less than you might think. Google has been clear that Core Web Vitals are one of many ranking signals, and content quality matters much more. A page with excellent vitals and mediocre content will lose to a page with mediocre vitals and excellent content almost every time.
Where Core Web Vitals really matter is as a tiebreaker. When Google has ten pages that all answer the same question equally well, the fastest one wins. Making sure your pages aren't in the "poor" bucket is table stakes. Pushing them into "good" gives you an edge when competing with similar content.
What to do next
Check your own site's vitals — just type your domain in the search bar at the top. If anything is in the "needs improvement" or "poor" range, read the guide on how to fix it. Most real-world vitals problems come down to three or four fixes applied consistently.