Core Web Vitals
Core Web Vitals are a small set of user-centric metrics Google uses to reason about perceived loading speed, interactivity, and visual stability. They complement — not replace — deeper profiling.
The three metrics
| Metric | Measures | Good threshold (75th percentile) |
|---|---|---|
| LCP — Largest Contentful Paint | When the largest visible content element (image, video poster, text block) finishes rendering. | ≤ 2.5 s |
| INP — Interaction to Next Paint | Responsiveness: latency from user interaction to the next frame the browser paints. Replaced FID as a Core Web Vital in 2024. | ≤ 200 ms |
| CLS — Cumulative Layout Shift | Visual stability: unexpected layout movement during the page lifetime. | ≤ 0.1 |
Lab vs field
- Field (RUM) — Real users, real networks. Chrome User Experience Report (CrUX) aggregates anonymized field data.
- Lab — Lighthouse, WebPageTest — reproducible but may not match your audience’s devices or connectivity.
Practical levers
- LCP — optimize server TTFB, remove render-blocking resources, prioritize hero image (
fetchpriority="high"), use modern formats (AVIF/WebP), right-size dimensions. - INP — break up long JS tasks, defer non-critical work, use
scheduler.postTask/requestIdleCallbackwhere appropriate, avoid large synchronous DOM updates in event handlers. - CLS — reserve space for images/ads/embeds (width/height or aspect-ratio), avoid inserting content above existing content without user gesture.