Speed Index
Speed Index measures how quickly the contents of a page are visibly populated during load. Instead of marking one moment, it records the visual completeness of the viewport frame by frame and integrates the un-painted area over time, so a page that fills in steadily scores better than one that snaps in late. It is a lab metric computed by Lighthouse from a video capture of the load, expressed in milliseconds where lower is faster.
What this means
Speed Index expresses how fast the visible part of a page becomes complete. Lighthouse captures the load as frames, computes each frame's visual completeness, and integrates the unfinished fraction over time. The result is a millisecond figure summarising the whole render curve, not a single paint instant.
Why integration matters
Two pages can reach full render at the same moment yet feel different: one fills in gradually while the other stays blank then snaps in. Because Speed Index sums the un-painted area across the whole timeline, the gradual page scores lower (better), capturing perceived progress that a single timestamp like FCP cannot.
- Integrates visual completeness over the load timeline
- Lower milliseconds = faster visual fill
- Lab metric computed from a frame capture
Why it misleads
Speed Index depends on viewport size and the test device, and being lab-only it does not reflect the spread of real networks. It rewards visible progress, which a placeholder or skeleton can fake. Read it alongside FCP, LCP, and field data rather than as a standalone verdict.
How it appears in analytics and logs
A high Speed Index means the viewport stayed visually incomplete for longer during load — content arrived late or in one big jump rather than building up smoothly.
Diagnostic use case
Use Speed Index to compare how progressively two versions of a page render, since it rewards filling the viewport early rather than waiting and painting everything at once.
What WebmasterID can help detect
WebmasterID classifies traffic first-party; Speed Index is a lab measure you can pair with field paint metrics observed against human-classified sessions.
Common mistakes
- Treating a lab Speed Index as field performance.
- Faking progress with skeletons that game the visual curve.
- Comparing Speed Index across different viewport sizes.
Privacy and accuracy notes
Speed Index is derived from a render capture, not personal data. This page is educational, not legal advice.
Related pages
- First Contentful Paint (FCP)
First Contentful Paint (FCP) measures the time from navigation start to when the browser first renders any DOM content — text, an image, a non-white canvas, or SVG. The Paint Timing API exposes it as the first-contentful-paint entry, and web.dev treats it as the moment a visitor first sees that something is happening. It precedes Largest Contentful Paint, which marks the largest element, so the two answer different questions about perceived load.
- Largest Contentful Paint (LCP)
Largest Contentful Paint (LCP) reports the render time of the largest image or text block visible in the viewport, measured from when the page starts loading. It is one of Google's Core Web Vitals, exposed through the Largest Contentful Paint API, and the candidate element can change as larger content paints — the final value is taken at the last candidate before user interaction. web.dev breaks LCP into TTFB, resource load delay, load duration, and render delay to localise the bottleneck.
- Time to Interactive (TTI)
Time to Interactive (TTI) measures how long it takes a page to become reliably interactive — visually rendered, with event handlers registered, and responding to input quickly. The definition looks back from a five-second quiet window (no long tasks, limited network requests) to the last long task before it. TTI is a lab metric from Lighthouse; web.dev now steers teams toward TBT and the field metric INP, since TTI is sensitive to single long tasks.
- Website observability
Render signals beside human traffic.
Sources and verification notes
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.