Core Web Vitals 2026: The Complete Guide
Short answer. Core Web Vitals in 2026 are three real-user experience metrics: LCP < 2.5 s (main content load speed), INP < 200 ms (interaction responsiveness, which replaced FID in March 2024) and CLS < 0.1 (visual stability). All three are scored at the 75th percentile of real visitors and are part of Google's ranking factors. Lab tests give an approximation, but field statistics are what count.
What Core Web Vitals are
They are a subset of Google's Web Vitals initiative reflecting the quality of loading, interactivity and visual stability. Unlike technical metrics like TTFB, they are user-centric: they measure what a person actually experiences on the page.
Good Core Web Vitals aren't an end in themselves for SEO. They're a proxy for user satisfaction: a fast, responsive, stable interface converts better.
The three metrics and their thresholds
| Metric | What it measures | Good | Poor |
|---|---|---|---|
| LCP | Time to paint the largest element | ≤ 2.5 s | > 4.0 s |
| INP | Responsiveness to interactions | ≤ 200 ms | > 500 ms |
| CLS | Cumulative layout shift | ≤ 0.1 | > 0.25 |
LCP: content load speed
Largest Contentful Paint measures the time to render the largest visible element — usually a hero image or a large block of text. Common causes of slow LCP: long TTFB, heavy unoptimized images, render-blocking CSS/JS, and lack of resource prioritization.
- Optimize and compress images, use modern formats.
- Apply
fetchpriority="high"to the LCP element. - Remove render-blocking resources, inline critical CSS.
- Speed up the server response (cache, CDN).
INP: interface responsiveness
Interaction to Next Paint replaced FID and evaluates every interaction in a session, reporting the slowest. It sums input delay, processing time and presentation delay. A full breakdown is in INP in Core Web Vitals. To improve: break up long tasks, move computation into Web Workers, minimize re-renders.
CLS: visual stability
Cumulative Layout Shift measures unexpected content shifts during loading — when a button "jumps" under the user's finger. To keep CLS low:
- Set dimensions (
width/height) for images and video. - Reserve space for ads and embeds.
- Avoid inserting content above already-loaded content.
- Use
font-display: optionalor font preloading to avoid text shift.
Lab vs field
Lab data (Lighthouse) is reproducible but doesn't reflect real devices and networks. Field data (CrUX, RUM) shows what actual users experience. Google ranks on field data. So Lighthouse alone isn't enough — you need real monitoring.
How to measure the metrics
Baseline server speed, which affects LCP, can be quickly checked with curl:
curl -s -o /dev/null -w "TTFB: %{time_starttransfer}s\ntotal: %{time_total}s\nsize: %{size_download} bytes\n" https://example.com/
In the browser, LCP is captured via PerformanceObserver:
new PerformanceObserver((list) => {
const entries = list.getEntries();
const lcp = entries[entries.length - 1];
console.log('LCP:', Math.round(lcp.startTime), 'ms');
}).observe({ type: 'largest-contentful-paint', buffered: true });
FAQ
What are the three Core Web Vitals in 2026?
LCP (loading, ≤ 2.5 s), INP (responsiveness, ≤ 200 ms) and CLS (stability, ≤ 0.1). INP replaced FID in March 2024.
Do Core Web Vitals affect ranking?
Yes, it's a confirmed Google ranking factor, scored on field data from real users at the 75th percentile.
How is field different from lab?
Lab (Lighthouse) is a synthetic reproducible test. Field (CrUX/RUM) is data from real visitors. Ranking is based on field data.
Is Lighthouse enough for assessment?
No. Lighthouse is useful for debugging, but the final assessment comes from real monitoring (RUM/CrUX) on a live audience.
Measure your page's Core Web Vitals with the speed test on enterno.io — it shows LCP, INP, CLS and flags bottlenecks. enterno.io also collects real Web Vitals via RUM. The security scanner and the HTTP checker are handy too.