Speed Index is a lab metric for page speed. It measures how quickly the contents of a page are visibly populated while it loads (MDN). Lighthouse records a video of the load and analyzes how the picture fills in from frame to frame. The unit is time, and lower is better. It is not a Core Web Vital.
At a glance
- Measures
- How quickly the visible content is populated during loading
- Unit
- Time, lower is better (MDN: milliseconds, Lighthouse shows seconds)
- “Good” threshold
- Lighthouse: mobile up to 3.4 s, desktop up to 1.3 s
- Assessment
- Not a Core Web Vital; weight of 10 % in the Lighthouse performance score (Lighthouse 10)
- Data source
- Lab: Lighthouse, from a video of the load
Last checked:
How is it calculated?
MDN describes the method: the share of the screen that is visually complete is recorded at 100-millisecond intervals until the page is complete. The metric sums the portion that is not yet complete over time. A page that shows most of its content early gets a lower value than one that stays blank and then appears all at once, even if both finish at the same moment. The value depends on the viewport size.
What are the score ranges?
Lighthouse documents these ranges for Speed Index:
| Fast (green) | Moderate (orange) | Slow (red) | |
|---|---|---|---|
| Mobile | 0 to 3.4 s | 3.4 to 5.8 s | over 5.8 s |
| Desktop | 0 to 1.3 s | 1.3 to 2.3 s | over 2.3 s |
In the Lighthouse performance score, Speed Index has a weight of 10 percent, next to First Contentful Paint (10), Largest Contentful Paint (25), Total Blocking Time (30) and Cumulative Layout Shift (25). Those weights are from the documentation for Lighthouse 10.
| Metric | Measures | Core Web Vital? | Field or lab | “Good” per web.dev |
|---|---|---|---|---|
| LCP (Largest Contentful Paint) | Render time of the largest image, text block or video visible in the viewport, from the start of navigation | yes (loading) | field and lab | 2.5 s or less |
| INP (Interaction to Next Paint) | Latency of interactions across the whole visit until the next paint; one value that all (or nearly all) interactions fall below | yes (interactivity), since 2024-03-12 | field; in the lab only with simulated interactions, Lighthouse does not measure INP | 200 ms or less |
| CLS (Cumulative Layout Shift) | Largest burst of unexpected layout shifts during the entire lifecycle of the page | yes (visual stability) | field and lab | 0.1 or less |
| TTFB (Time to First Byte) | Time from the start of navigation until the first byte of the response arrives | no (helps diagnose LCP) | field and lab | 0.8 s or less |
| FCP (First Contentful Paint) | Time from the start of navigation until any part of the page's content is rendered | no (helps diagnose LCP) | field and lab | 1.8 s or less |
| TBT (Total Blocking Time) | Total time after FCP during which the main thread was blocked long enough to prevent input responsiveness | no (lab proxy for INP) | lab; web.dev does not recommend field measurement | less than 200 ms on average mobile hardware |
| Speed Index (this term) | How quickly content is visually displayed during page load (from a video of the load) | no | lab (Lighthouse) | Threshold according to Lighthouse: mobile up to 3.4 s “fast” (web.dev gives no value) |
| FID (First Input Delay), historical | Time from the first interaction until the browser can begin processing event handlers | until 2024-03-12, replaced by INP | field only | 100 ms or less |
According to web.dev, the 75th percentile of page loads is assessed, mobile and desktop separately. A page passes the Core Web Vitals when LCP, INP and CLS are “good” at the 75th percentile. Chrome tools ended FID support on September 9, 2024. Sources: web.dev: Web Vitals; web.dev: Largest Contentful Paint (LCP); web.dev: Interaction to Next Paint (INP); web.dev: Cumulative Layout Shift (CLS); web.dev: Time to First Byte (TTFB); web.dev: First Contentful Paint (FCP); web.dev: Total Blocking Time (TBT); web.dev: First Input Delay (FID); web.dev Blog: Interaction to Next Paint is officially a Core Web Vital (2024-03-12); Chrome for Developers: Lighthouse – Speed Index. Last checked: .
Where do you see it?
In Lighthouse reports and in the lab section of PageSpeed Insights, which lists Speed Index among the lab-only metrics. Field data in PageSpeed Insights does not include it.
Example
Two pages load in 4.0 seconds. Page A shows its text and layout after 1.5 seconds, and images arrive later. Page B shows nothing until 3.8 seconds. Page A gets the better Speed Index. This example is illustrative.
How can it be improved?
Lighthouse points to three diagnostics: minimize main-thread work, reduce JavaScript execution time and make sure text stays visible during web font loading.
Sources
- Speed Index – Lighthouse, Chrome for Developersdeveloper.chrome.com
- Lighthouse performance scoring – Chrome for Developersdeveloper.chrome.com
- Speed Index – MDN Web Docsdeveloper.mozilla.org
- About PageSpeed Insights – Google for Developersdevelopers.google.com
Last updated: