WebPageTest vs PageSpeed Insights

Use PageSpeed Insights for the call on pass or fail. Use WebPageTest to watch the page load and find the blockers. This page shows how to choose and how to run both on one slow page.

By , founder of Porteur · Updated 14 September 2026 · Markdown

Verdict: which to use when

Use PageSpeed Insights for the verdict and trend. It shows real world Core Web Vitals from the last 28 days and a pass or fail that Search cares about.

Use WebPageTest for the investigation. It gives filmstrips, waterfalls, real browsers and locations, connection profiles, first and repeat views, and one click experiments to try a change.

On a site you ship yourself, start with PageSpeed Insights to see if the URL passes. If not, switch to WebPageTest to find exactly what blocks paint or interaction, then confirm the fix back in PageSpeed Insights field data after it ships long enough to register.

What each tool measures

Use casePageSpeed InsightsWebPageTest
Decide if Search sees the page as fastShows Chrome UX Report field data over 28 days at URL or origin level, with a Core Web Vitals assessmentNot built for field data, runs synthetic tests you control
See why a load is slowRuns Lighthouse once in lab conditions with audits and a scoreFilmstrips, waterfalls, request details, CPU, connection and cache control
Control device, network, locationLimited: one simulated mid range phone and desktop lab runRich controls: real browsers, many locations, 3G to fibre profiles, first and repeat views
Compare before and after a code changeRerun and compare lab audits; field trends lag by 28 daysA/B experiments on a run, repeatable scripts, side by side waterfalls
Share and track a single testPublic URL for the PSI reportShareable test IDs and links; export waterfalls and video

Core Web Vitals as of 2026: LCP is good up to 2.5 s, poor above 4 s. CLS is good up to 0.1, poor above 0.25. INP is good up to 200 ms, poor above 500 ms. INP replaced FID in March 2024. PageSpeed Insights uses the 75th percentile of real Chrome users on Android and desktop over 28 days. A URL with too little traffic falls back to origin data or shows nothing. Lighthouse in PageSpeed Insights is a single lab run and its score can vary between runs.

How to read PageSpeed Insights for a decision

  1. Check the field section first

    The top section reads: Discover what your real users are experiencing. This is the Chrome UX Report. If it shows a Core Web Vitals assessment, that is your pass or fail for Search.

  2. Look at the vitals distribution

    Open the LCP, INP and CLS charts. Find the 75th percentile values. If LCP is 3.1 s you fail LCP. If INP is above 200 ms you fail INP. Fix the one that fails first.

  3. Use the lab section to form a hypothesis

    Scroll to Diagnose performance issues. This is Lighthouse on a simulated mid range phone over throttled 4G. Note audits like Render blocking resources or Reduce the impact of third party code. Scores vary, so read the audits instead of chasing 100.

  4. Pick one page to fix

    Start with a revenue page, for example /pricing, or a landing page. Copy its URL. You will use WebPageTest to find the exact blockage.

How to use WebPageTest to find the bottleneck

  1. Choose a realistic test agent

    Pick the location closest to your main audience, a real mobile browser for mobile issues, and a 4G or 3G profile if most users are on mobile.

  2. Run first and repeat views

    First view shows cold cache. Repeat view shows caching and service worker effects. A large first vs repeat gap points to missing cache headers or heavy third party code.

  3. Open the filmstrip and waterfall

    The filmstrip shows when the hero appears and when layout stabilises. The waterfall shows request order, blocking and priorities. Look for late CSS, render blocking scripts and slow TTFB.

  4. Inspect key metrics

    Check LCP element in the filmstrip and its request in the waterfall. Note CLS events. For interactivity, look for long main thread tasks and heavy script downloads that align with delays.

  5. Try experiments

    Use built in experiments to defer a script, inline critical CSS or change image priority. Compare the before and after filmstrips to see if the hero paints sooner or layout stops shifting.

A fixed page shows the hero image by about 2.5 s on a 4G profile, does not jump after paint, and responds to a tap within about 200 ms in the trace.

A one page workflow: from slow to shipped

  1. Pick the failing vital

    From PageSpeed Insights field data on /pricing, suppose LCP fails at 3.4 s. You will optimise the hero render path.

  2. Prove the cause in WebPageTest

    Run a mobile test on a 4G profile. In the waterfall, you see a CSS background image discovered late and a large render blocking stylesheet.

  3. Apply the fix locally

    Convert the hero to an <img> with fetchpriority=high and a responsive srcset. Preload the hero if it must stay as a CSS background. Inline critical CSS, load the rest with media=print and onload. Defer non critical scripts.

  4. Validate in WebPageTest

    Re run first and repeat views. The filmstrip shows the hero by 2.2 s. The waterfall shows CSS requests later with non blocking media and scripts deferred.

  5. Ship and watch field data

    Deploy. Give it time to gather visits. After the change, check the same URL in PageSpeed Insights across the next 28 days. When the 75th percentile LCP drops under 2.5 s, the page passes.

Common findings and how to fix them

Symptom in testsLikely causeChange to ship
Hero appears late in filmstrip; LCP is highRender blocking CSS; hero image lazy loaded or discovered late; slow TTFBInline critical CSS; load rest with media=print and onload; no loading=lazy on hero; fetchpriority=high; preload CSS background; cache HTML or serve via CDN
Layout jumps after first paint; CLS spikesAds, images or iframes without size; banners injected above content; font swap metrics mismatchSet width and height or aspect ratio; reserve min height for slots; use overlays for notices; size adjust and ascent override on fallback font; use transform for animations
Interactivity lags; long tasks in the Performance traceHeavy handlers; hydration of large frameworks; third party scripts; large DOM; sync layout thrashBreak long tasks with scheduler.yield or setTimeout; render the visual change first; defer or remove third party code; move work to web workers; reduce DOM size
Big gap between first and repeat viewNo caching or big third party bundlesAdd cache headers and immutable asset URLs; load third party on interaction or after load; preconnect only where needed
Slow start of HTML in the waterfallHigh TTFB: redirects, distant origin, server rendering timeCut redirects; cache or pre render HTML; use a CDN; enable HTTP/2 or HTTP/3; keep alive; consider 103 Early Hints
Many blocking requests before first paintSynchronous scripts in head; CSS @import chains; unused CSSAdd defer or async, module scripts defer by default; remove @import; purge unused CSS

Field vs lab: what to trust and how to reconcile

Field data wins. It reflects real users over 28 days on Android and desktop Chrome, at the 75th percentile. It is what Search Console and PageSpeed Insights use for the Core Web Vitals assessment. iOS is not in that dataset. Low traffic URLs may fall back to origin or show nothing.

Lab runs are for debugging. Lighthouse runs once on a simulated mid range phone over throttled 4G. WebPageTest runs on real browsers and connections that you choose. Run several times to steady your read, then act on patterns you see in filmstrips and waterfalls, not on a single score swing.

Set up good, comparable tests

  • Use the same URL with cache busting off. Avoid running behind a login where the tools cannot reach.
  • In WebPageTest pick a location near your audience, a real mobile browser, and a 4G profile to mirror Lighthouse. Run 3 to 5 times and read the median.
  • Capture first and repeat views to measure caching. Save the test link.
  • In PageSpeed Insights, keep notes of the date. Remember that field trends lag by 28 days.
  • When you ship a change, annotate your changelog with the test links and what you changed on the render path.

Side by side

WebPageTest

webpagetest.org

Synthetic performance testing with deep request analysis and control.

Good at

  • Filmstrips and waterfalls that show what blocks paint
  • Choice of real browsers, locations and connection profiles
  • First and repeat views to compare cache effects
  • On run experiments to try deferring or inlining resources

Choose it when You need to see why a page is slow and test changes under realistic conditions you control.

Not for Field data or a Core Web Vitals pass. It does not show the Chrome UX Report assessment.

PageSpeed Insights

pagespeed.web.dev

Showing field data from the Chrome UX Report and running Lighthouse in one URL view.

Good at

  • Core Web Vitals assessment from real Chrome users over 28 days
  • A single Lighthouse lab run with audits and a score
  • Mobile and Desktop tabs to compare contexts

Choose it when You need the pass or fail that matters for Search and a quick lab run to form a hypothesis.

Not for Detailed request level debugging, controlled locations or connection profiles. Use WebPageTest for that.

Use PageSpeed Insights to make the call, because it shows the 28 day field data and the Core Web Vitals assessment that Search cares about. Use WebPageTest to do the real debugging: watch the filmstrip, read the waterfall, choose a realistic location and network, and run first and repeat views. Pair them: decide in PageSpeed Insights, diagnose in WebPageTest, then confirm the shipped fix as the field data improves over time.

Questions

Sources

Check my site, free

Paste your slow URL to get a free check that reads your site, the searches around it and rivals on them in about thirty seconds, and shows three findings you can ship.

  • Free check, no card
  • Read-only, your own accounts
  • Readable by your agent

Read next