Web Performance Metrics
Core Web Vitals and other timing metrics — targets and what they measure.
Reference
Core Web Vitals
| Metric | Measures | Good | Needs improvement | Poor |
|---|---|---|---|---|
| LCP — Largest Contentful Paint | When the biggest element renders | ≤ 2.5 s | 2.5 – 4 s | > 4 s |
| INP — Interaction to Next Paint | Worst interaction latency | ≤ 200 ms | 200 – 500 ms | > 500 ms |
| CLS — Cumulative Layout Shift | Unexpected layout movement | ≤ 0.1 | 0.1 – 0.25 | > 0.25 |
Other timings
| Metric | What it measures |
|---|---|
| TTFB — Time to First Byte | Server response time |
| FCP — First Contentful Paint | First DOM render |
| TBT — Total Blocking Time | Sum of long tasks blocking main thread |
| TTI — Time to Interactive | Page becomes reliably interactive |
| Speed Index | How quickly page content visually fills |
| First Input Delay (legacy) | Replaced by INP in 2024 |
Measurement
- Lab tests: Lighthouse, WebPageTest — repeatable, single run.
- Field data (RUM): Chrome UX Report (CrUX), PerformanceObserver API — what real users experience.
- Percentiles: 75th percentile of the metric is what Google reports for Core Web Vitals pass/fail.
- Mobile vs desktop separate — mobile is typically the bottleneck.
Last updated: