Tools

Website Speed Tools in 2026: Lab vs Field Data and Why PageSpeed Scores Mislead

Which website speed tools measure real visitors and which simulate one phone, how the PageSpeed score is built, and why the same page scores 41 one run and 78 the next.

Summarize with AI
Octo Agency cover: Website Speed Tools in 2026, with a purple hexagon pattern

The PageSpeed Insights score is a lab number, and 30% of it is Total Blocking Time, a metric no real visitor ever reports (Chrome for Developers, Lighthouse scoring). What Google's Search Console grades, and what its Core Web Vitals guidance for Search refers to, is field data: Core Web Vitals collected from real Chrome users over 28 days. Most arguments about a "slow" site are two people reading two different kinds of tool.

This guide sorts the free and paid website speed tools by the question each one answers, explains how the score is built, and uses 66 Lighthouse runs we recorded on 22 home pages to show how much a single score moves on its own.

Lab data and field data answer different questions

Lab data is one controlled page load: fixed device, fixed network, cold cache. It is repeatable enough to debug with. Field data is what real visitors got, summarised at the 75th percentile. It is the truth about the experience, but it arrives late and says little about the cause.

Lab data and field data compared
Lab dataField data
What it isOne simulated load in a controlled environmentMeasurements from real visits
Device and networkOne emulated phone or desktop, fixed throttlingEvery device and connection your visitors use
Responsiveness metricTotal Blocking Time, a proxyInteraction to Next Paint, measured on real taps and clicks
Time to reflect a fixImmediatelyUp to 28 days in CrUX-based tools
Best used forDebugging, testing before releaseDeciding what to fix, proving it worked

Sources: Google PageSpeed Insights documentation; web.dev, "Why lab and field data can be different"; Web Almanac 2025

Philip Walton's web.dev article on the difference gives a clean example: a page whose lab test reported a 3.0 second Largest Contentful Paint had a field 75th percentile of 1.8 seconds, with 88% of real visits rated good. Real visitors had warm caches and back/forward cache restores that a cold lab load never sees. The gap can also run the other way, because field data only includes visitors who managed to load the page.

What a PageSpeed Insights score is made of

The 0 to 100 score at the top of a PageSpeed Insights report comes from Lighthouse. Each lab metric is converted to a sub-score on a log-normal curve built from HTTP Archive data on real websites: the 25th percentile of sites maps to 50, the 8th percentile maps to 90. The curve flattens near the top, so moving from 95 to 99 costs far more work than moving from 50 to 70. Below 50 is red, 50 to 89 orange, 90 and above green.

Lighthouse performance score weights and what each metric is
MetricWeightMeasured whereCore Web Vital
Total Blocking Time30%Lab onlyNo, a proxy for INP
Largest Contentful Paint25%Lab and fieldYes
Cumulative Layout Shift25%Lab and fieldYes
First Contentful Paint10%Lab and fieldNo
Speed Index10%Lab onlyNo

Source: Chrome for Developers, Lighthouse performance scoring (Lighthouse 10 weights)

The lab load runs with simulated throttling. Lighthouse's throttling documentation gives the mobile preset as a 150 ms round trip, 1.6 Mbps down and 750 Kbps up, with a 4x CPU slowdown, aimed at roughly the 85th percentile mobile connection and a mid-tier phone. The same document admits the simulation has edge cases on both network and CPU. PageSpeed Insights runs that test from a Google data centre in North America, Europe or Asia, so a site hosted in Belgrade and tested from Iowa gets latency its local visitors never see.

Two consequences follow. First, 40% of the score is metrics that do not exist in the field at all. Second, Interaction to Next Paint, the Core Web Vital for responsiveness, is not in the score, because a lab load has nobody tapping the page.

Why the same page scores differently on every run

We ran Lighthouse 12.8.2 in mobile mode three times in a row on each of 24 legal-tech vendor home pages on 21 October 2026, for our post on legal tech website speed statistics. Twenty-two pages completed all three runs. The table shows the eight widest spreads.

Lighthouse mobile scores, three consecutive runs, eight widest spreads of 22 pages
Home pagePlatformRun scoresSpreadCrossed a colour band
LawmaticsWebflow41, 75, 7837Yes
EvenUpWordPress77, 100, 10023Yes
LitifyWebflow47, 66, 6720Yes
NetDocumentsWordPress51, 64, 7019No
QuorumWordPress32, 49, 5018Yes
EverlawContentful66, 79, 8418No
HarveyNext.js31, 42, 4413No
SmokeballWebflow43, 56, 5613Yes

Source: Octo Lighthouse 12.8.2 runs, mobile preset, simulated throttling, one machine, 21 October 2026

Across all 22 pages the median spread was 10 points and the mean 11.4. Twelve pages moved by 10 points or more, three by 20 or more, and five changed colour between runs. Only two scored identically three times, one of them at 100. The runs were minutes apart, so the difference most likely comes from ads, tag managers, A/B tests, server response and the test machine itself rather than from edits to the pages.

Lighthouse's variability guide rates page nondeterminism, local network variability and client hardware as high-impact sources. Its advice is to report the median of several runs and never to run tests in parallel on one machine. A single run 12 points below last week's is often no news at all.

When lab and field disagree

The Web Almanac's 2025 performance chapter, published by HTTP Archive in January 2026, shows the starkest disagreement in the data. Median mobile Total Blocking Time rose to 1,916 ms, up 58% from 1,209 ms in 2024, and the 90th percentile reached 7,555 ms. Over the same year, the share of sites with good mobile INP in the field rose from 74% to 77%, and desktop reached 97%. The authors' explanation is that real phones got faster while the lab still emulates the same mid-tier device.

Three other gaps catch teams out.

Field data may not exist. CrUX only includes pages and origins that are publicly discoverable and popular enough, and Google does not disclose the threshold. New sites and low-traffic landing pages often show no field data at all.

Field data is Chrome only. CrUX comes from desktop Chrome and Chrome on Android. Chrome on iOS, Android WebView and other Chromium browsers such as Edge are excluded, so an audience that is mostly on iPhones is barely represented.

Field data is slow to move. Every CrUX number is a 28-day rolling window. Search Console's validation for a fixed issue runs for 28 days too, and an issue only counts as fixed if it is absent from every URL in the group for the whole period.

The website speed tools, and which question each answers

Website speed tools by data type, cost and best use
ToolDataCostBest forWatch out for
PageSpeed InsightsLab and CrUX field, side by sideFreeA first look at one URLScore is one run from a distant data centre
Lighthouse in DevTools or CLILabFreeRepeatable runs, before and after a changeLocal CPU and extensions skew results
Chrome DevTools Performance panelYour own live LCP, CLS and INP, plus CrUXFreeFinding the cause of a slow interactionYour device and network, not your visitors'
Search Console Core Web Vitals reportCrUX field, grouped URLsFreeSeeing which page groups fail, as Google sees themGroups need enough data; 28-day lag
CrUX VisCrUX field history, weeklyFreeTrend over the last 40 weeksPopular origins and URLs only
CrUX APICrUX field, dailyFree, 150 queries a minuteScripted checks across many URLsNeeds a Google Cloud key
web-vitals libraryYour own field dataFree, about 3 KBReal-user data for every browser that supports the metricYou need somewhere to send and store it
WebPageTest, GTmetrixLab, chosen location and deviceVaries by planFilmstrips, waterfalls, testing near your visitorsStill one load per run
Commercial monitors such as DebugBearLab schedules, RUM and CrUX in one placePaidAlerts and history across a whole siteCost scales with pages and traffic

Sources: Chrome for Developers (CrUX Vis, CrUX API, DevTools Performance panel), Google Search Console Help, GoogleChrome/web-vitals, Lighthouse variability guide, DebugBear

The old CrUX Dashboard in Looker Studio is deprecated; Google points to CrUX Vis, which updates weekly instead of monthly. The DevTools Performance panel shows your local Core Web Vitals live and can pull CrUX values for the same URL alongside. The web-vitals library reports LCP and INP in Chromium, Firefox and Safari, with CLS still Chromium only, so a RUM script fills part of the iPhone gap CrUX leaves.

For a Webflow site, our post on Webflow page speed lists which fixes move Core Web Vitals and which only move the lab score; our website speed statistics post covers what speed does to bounce and revenue.

A testing routine that does not chase the score

This is the routine we would run on a marketing site we build or audit. It uses only free tools.

  1. Start in Search Console. Note which URL groups fail on mobile, and on which metric. A group's status is its worst metric.
  2. Check the trend in CrUX Vis. A metric sliding for months points to a change; a flat line points to the template.
  3. Reproduce in the lab, five times. Run Lighthouse in mobile mode five times on a URL from the failing group and keep the median run.
  4. Find the cause in DevTools. Record the Performance panel and use the page as a visitor would to find the long task or late image.
  5. Ship, then measure in the field. Recheck the lab median, start Search Console validation, and judge the fix on the 28-day field numbers.

We build marketing sites in Webflow and applications in Next.js, and the routine is the same on both. What changes is where the fix lives: a Webflow setting or an embed on one, the build and the bundle on the other.

What this means for a speed audit or a rebuild brief

Ask for field data first. If a client, a stakeholder or an agency pitch quotes a PageSpeed score, ask what the 75th percentile LCP, INP and CLS are in Search Console or CrUX, on mobile, and over which 28 days. If the site has no field data, say so and use a five-run lab median as the baseline instead of a single score. Treat a score movement of under about 10 points as noise unless the median of several runs agrees. Google's guidance is to aim for good Core Web Vitals: "We highly recommend site owners achieve good Core Web Vitals for success with Search." A 100 in Lighthouse is not in that sentence. Our marketing websites page explains how we scope speed work into a build.

Frequently asked questions

What is the difference between lab data and field data?

Lab data is one simulated page load on a fixed device and network, produced by tools such as Lighthouse, WebPageTest and the lab section of PageSpeed Insights. Field data is measured from real visitors and summarised at the 75th percentile, usually over 28 days, by the Chrome UX Report or a RUM script. Use field data to decide what to fix and lab data to debug and test the fix (web.dev; Google).

Why does my PageSpeed Insights score change every time I test?

Because every run is a fresh load with different ads, tags, server response and network routing. In our three back-to-back mobile runs on 22 home pages in October 2026, the median spread was 10 points and the widest was 37, from 41 to 78. Lighthouse's own guidance is to take the median of several runs; the median of five is twice as stable as one.

Does Google use the PageSpeed Insights score for rankings?

No published Google guidance says the Lighthouse score is used. Search Console's Core Web Vitals report uses Chrome UX Report field data, and Google Search Central recommends achieving good Core Web Vitals for success with Search. Those are LCP, INP and CLS from real users. The lab score includes Total Blocking Time and Speed Index, which are not Core Web Vitals.

Which website speed tool is the most accurate?

None is accurate for every question. For what real Chrome users experienced, Search Console, CrUX Vis and the CrUX API are the reference, but they cover popular, public pages only and exclude Chrome on iOS. For why a page is slow, Lighthouse and the DevTools Performance panel are better. A RUM script built on Google's web-vitals library, about 3 KB, covers every visitor whose browser supports the metric.

Why does my site have no field data in PageSpeed Insights?

The page or origin is not in the Chrome UX Report. CrUX only includes publicly discoverable pages and origins that pass a popularity threshold Google does not disclose, and it only counts eligible Chrome users. PageSpeed Insights falls back from URL to origin data, then shows none. New sites, staging domains and low-traffic pages are common cases; a RUM script is the alternative.

Sources

  1. Lighthouse performance scoring Chrome for Developers, 2019
  2. About PageSpeed Insights Google for Developers, 2024
  3. Why lab and field data can be different, and what to do about it web.dev, Philip Walton, 2022
  4. Network throttling and CPU throttling GoogleChrome, Lighthouse docs, 2026
  5. Lighthouse variability GoogleChrome, Lighthouse docs, 2026
  6. Core Web Vitals report Google Search Console Help, 2026
  7. CrUX methodology Chrome for Developers, 2024
  8. Understanding Core Web Vitals and Google search results Google Search Central, 2025
  9. CrUX Dashboard Chrome for Developers, 2025
  10. CrUX Vis Chrome for Developers, 2025
  11. CrUX API Chrome for Developers, 2026
  12. Performance panel: analyse your website's performance Chrome for Developers, 2024
  13. web-vitals GoogleChrome on GitHub, 2026
  14. Performance, Web Almanac 2025 HTTP Archive, 2026
  15. DebugBear pricing and features DebugBear, 2026

Tags

  • Site speed
  • Core Web Vitals
  • Tools
  • Lighthouse
Mihajlo Stojanovic

Mihajlo Stojanovic

Co-founder, Octo Agency

Mihajlo runs the technical side of Octo Agency: Webflow builds, custom backends and the systems that keep a site editable after launch. He has shipped more than twenty Webflow sites a year as a white-label partner and writes about what survives contact with a real marketing team.

Veljko Nikolic

Reviewed by

Veljko Nikolic

Co-founder, Octo Agency

Veljko runs the build side of Octo Agency. He has shipped marketing sites for B2B teams in legal tech, health and manufacturing, and writes about what survives contact with a real review cycle.