Web Vitals are Google’s standardized metrics for loading, interactivity and visual stability, and each one has fixed thresholds that sort a measurement into Good, Needs Improvement or Poor. Mixing up the cut-offs — or the units — leads to chasing the wrong number. This reference lists every threshold and lets you paste a measured value to see exactly which bucket it lands in.
How it works
Each metric has two cut-offs. A value at or below the Good threshold is good; a value above the Poor threshold is poor; anything in between is Needs Improvement. The three Core Web Vitals are LCP (loading — Good ≤ 2500 ms), INP (interactivity — Good ≤ 200 ms) and CLS (visual stability — Good ≤ 0.1, a unitless score). The diagnostic metrics FCP (Good ≤ 1800 ms) and TTFB (Good ≤ 800 ms) help explain a slow LCP, while FID is the deprecated predecessor of INP.
Crucially, Google grades a real page at the 75th percentile of field data collected from actual users, split between mobile and desktop. A page passes Core Web Vitals only when LCP, INP and CLS are all Good at that percentile, so the occasional slow session will not fail a page that is fast for most visitors.
Tips and notes
Measure in the field, not just the lab: lab tools like Lighthouse cannot simulate
real interaction patterns, so lab INP and CLS often differ from what users
experience. Use the PerformanceObserver API or the web-vitals library to
capture field values, and remember that CLS is a unitless score while every other
metric here is measured in milliseconds.