awesome-everything RU
↑ Back to the climb

Browser & Frontend Runtime

Core Web Vitals: what LCP, INP, and CLS measure

Crux Three field metrics real Chrome users generate on every visit — and why all the other performance work in this pillar ultimately rolls up into these three numbers.
Your altitude — climbing toward senior
ZeroJuniorMiddleSenior
You are at junior altitude — the surface
◷ 10 min

A page loads. The hero photo appears. A user taps a button and waits. An ad slams in from above and the text jumps — the user taps the wrong link. Every chapter in this pillar — the event loop, the render pipeline, V8, hydration — produces exactly this kind of experience. Three field metrics measure it, and Google ranks pages by them.

The three metrics — one question each.

Each Core Web Vital answers one question a real user has the moment they land on a page:

  • LCP — Largest Contentful Paint — did the main content show up fast? Good: ≤2.5 s.
  • INP — Interaction to Next Paint — does the page respond when I tap or type? Good: ≤200 ms.
  • CLS — Cumulative Layout Shift — did things stay put, or did a button jump out from under my finger? Good: ≤0.1 (unitless score).

Each threshold is measured at the 75th percentile of real users. That matters: optimising only for fast devices hides the slow quarter of your audience, and that quarter is exactly what the score reflects.

The shop metaphor.

Walking into a physical shop is the clearest frame for these three metrics. LCP is how long before you can see what the shop sells — if the shelves are still being stocked, you wait at the door. INP is whether the clerk answers right away when you ask a question — a good shop responds immediately, a bad one makes you repeat yourself. CLS is whether the floor stays put — imagine reaching for an item on a shelf and the shelf sliding sideways just as your hand arrives, so you grab the wrong thing. A good page is a good shop.

Where the numbers come from — and why it matters.

Core Web Vitals as Google scores them come from real Chrome users in the field, not from a developer’s test run. The public dataset is called CrUX — the Chrome User Experience Report. It aggregates visits from opted-in Chrome users, and the field p75 from CrUX is what Search ranking actually uses. A great Lighthouse score on your laptop and poor field vitals are entirely compatible — and the field number is the one that counts.

The practical consequence: every performance fix in this pillar ultimately lives or dies on whether it moves the field p75 for real users. Lab tools (Lighthouse, DevTools) are for debugging and catching regressions; CrUX is the verdict.

Core Web Vitals good thresholds (at field p75)
LCP — Largest Contentful Paint
≤2.5 s
INP — Interaction to Next Paint
≤200 ms
CLS — Cumulative Layout Shift
≤0.1
Why this works

INP replaced First Input Delay (FID) as a Core Web Vital in March 2024. FID only measured the delay before the first input’s handler started running — it missed the rest of the page lifecycle. INP measures the full input-to-paint latency for every interaction across the whole session and reports a high percentile of them, which is far closer to what a user actually experiences using the page, not just landing on it.

Order the steps

Match the user complaint to the Core Web Vital — drag into the order LCP, INP, CLS.

  1. 1 LCP — 'the page took forever to show the article'
  2. 2 INP — 'I tapped the button and nothing happened for a second'
  3. 3 CLS — 'the text jumped and I lost my place / tapped the wrong thing'
Quiz

A user taps a button and the page does not visibly respond for almost a second. Which Core Web Vital captures this?

Quiz

Where do Core Web Vitals numbers come from when Google uses them for Search ranking?

Complete the analogy

In the shop metaphor, one vital is about whether the floor stays put — whether a shelf slides sideways just as you reach for an item, making you grab the wrong thing. Which Core Web Vital is that?

Compute it

A 'good' LCP score is achieved when the largest content paints within how many seconds, at the 75th percentile of real users?

seconds
Recall before you leave
  1. 01
    What does each Core Web Vital measure — in one phrase per metric?
  2. 02
    Why is the 75th percentile threshold more useful than the mean for these metrics?
  3. 03
    What is CrUX and why does it matter more than Lighthouse for SEO?
Recap

Core Web Vitals are three field metrics that answer what real users notice: LCP (did the main content appear within 2.5 s), INP (did the page respond to a tap within 200 ms), and CLS (did the layout stay still, scoring ≤0.1). They are measured at the 75th percentile of real Chrome users via CrUX — not from a lab test — and CrUX p75 is what Search ranking uses. Every performance technique in this pillar (reducing long tasks for INP, optimising image delivery for LCP, reserving space for CLS) ultimately exists to move these three field numbers. Debug in the lab; judge in the field.

Connected lessons
appears again in267
Continue the climb ↑LCP: four phases, one dominant cost
shortcuts expand
search
K
prev piece
k
next piece
j
cycle tier
t
this menu
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.