Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

Use Lighthouse to measure a page in a controlled environment, then verify the result with real-user data. Start with a representative URL and a documented device mode, run a DevTools audit for quick diagnosis, use the Node CLI or Lighthouse CI for repeatable checks, and consult PageSpeed Insights when you need Chrome User Experience Report (CrUX) field data. The number is meaningful only when you record the URL, authentication state, device, network and CPU conditions, Lighthouse version, and whether the result is lab or field data.

What Lighthouse measures

Lighthouse is Google’s open-source auditing tool for web pages and applications. It analyzes a page and reports performance, accessibility, SEO, progressive web app (PWA) checks and related developer-practice audits. You can run it in Chrome DevTools, PageSpeed Insights, the Node.js command-line interface (CLI) or as a Node module.

Performance scores are not universal grades for a site. They describe one test of one URL under one configuration. A slow checkout, search result or article template can affect users even when the home page looks good, so audit representative templates and important journeys.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Plan an audit that can be repeated

Choose pages and states

  • Include the home page, high-traffic templates, conversion pages and pages with heavy JavaScript or media.
  • Record the exact URL, redirect behavior, mobile or desktop mode, login state and any test data.
  • Decide whether you are investigating a local change, establishing a release baseline or diagnosing a production problem.

Record the test context

Save the Lighthouse version, browser version, device emulation, CPU and network settings, categories selected and the date. Keep these values stable when comparing runs. Lighthouse and PageSpeed Insights change over time; a version update can alter audits or API responses, so pin the CLI version where practical or store the version beside every baseline.

#1 Best Overall

Repeat noisy measurements

A lab run is a snapshot. Run the same configuration several times and compare medians, or define another rule before looking at the results. Do not compare a throttled mobile run with an unthrottled desktop run and call the difference a regression.

Run a quick audit in Chrome DevTools

  1. Open the page in Google Chrome and open DevTools with F12 or Ctrl+Shift+I (Windows/Linux) or Cmd+Option+I (macOS).
  2. Select the Lighthouse panel. If it is hidden, open the DevTools panel menu and choose Lighthouse.
  3. Choose the categories you need, such as Performance, Accessibility and SEO, and select the device mode (mobile or desktop).
  4. Use an appropriate page state. Log in before starting if the page requires authentication, and close unrelated tabs or extensions that could affect the run.
  5. Click Analyze page load (the label can vary slightly by Chrome release) and wait for the report.
  6. Save or export the report when it finishes. Keep the URL, settings and Lighthouse version with the file.

DevTools is best for an immediate investigation: you can move from a score to the metric timeline, diagnostics and the affected resource. It is less suitable as the sole release gate because a manual run is difficult to reproduce exactly.

Read the report in the right order

Start with the loading and interaction metrics

  • Largest Contentful Paint (LCP) indicates when the main content element becomes visible.
  • Cumulative Layout Shift (CLS) measures unexpected movement of content during loading.
  • Interaction to Next Paint (INP) describes responsiveness after user interactions.

These are Google’s Core Web Vitals. Treat each value as evidence about the tested context, not as a permanent property of the URL.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Inspect diagnostics and opportunities

Look for render-blocking resources, oversized images, excessive JavaScript work, long tasks and layout movement. An opportunity estimate is a lead for investigation, not an automatic priority. Confirm that the issue occurs on an important journey, understand its implementation constraints and check whether field data shows the same problem.

Validate before changing code

For example, an image-sizing recommendation may save little if that image is below the fold, while a delayed consent script may affect every visitor. Reproduce the finding in a trace or network panel, make one focused change, then rerun the same configuration.

Run Lighthouse from the Node CLI

The CLI is useful for saved reports, scripts and repeatable engineering checks. The current Lighthouse project README requires Node 22 LTS or later.

Install and generate an HTML report

npm install --global lighthouse
lighthouse https://example.com 
  --output=html 
  --output-path=./reports/example.html 
  --chrome-flags="--headless"

Replace the URL and create the reports directory first if your shell does not create it automatically. Open the resulting HTML file in a browser.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Generate JSON for automation

lighthouse https://example.com 
  --output=json 
  --output-path=./reports/example.json 
  --chrome-flags="--headless"

JSON is easier to archive, parse and compare. Limit the run when you need only a category or selected audits; keeping the configuration explicit makes a baseline understandable months later. Use the same URL, flags, authentication approach and Lighthouse version for every comparison.

Authenticated pages

A private page cannot be audited as an anonymous visitor. Use a logged-in Chrome session or a debugging connection that has the required cookies and session state. Never place real credentials in a command that will be committed to source control or printed in CI logs.

Use Lighthouse CI for pull requests and releases

Lighthouse CI is designed to run audits in automation and enforce category or individual-audit assertions. A typical workflow is:

  1. Install Lighthouse CI in the project or CI image with npm or your package manager.
  2. Start the application or deploy a preview build.
  3. Run several audits against fixed URLs.
  4. Upload HTML and JSON artifacts and evaluate assertions for the pull request or release.
  5. Investigate a failed assertion using the stored report rather than changing the threshold immediately.

Keep assertions narrow enough to catch meaningful regressions. A global performance score can move because several audits changed at once; an assertion on a critical metric or audit often points more directly to the cause. Record the Lighthouse version and test environment in CI artifacts so a tool update is not mistaken for a code regression.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Understand lab data versus field data

Lighthouse lab data comes from a controlled test environment. It is excellent for diagnosis and regression testing because you control the page, device emulation and throttling. It does not represent every visitor’s hardware, network or browser behavior.

CrUX field data aggregates eligible real Chrome-user experiences. It can reveal how users actually experienced LCP, CLS and INP, but it may be unavailable when a public URL or origin lacks enough representative samples. PageSpeed Insights can display both Lighthouse lab analysis and CrUX data. Always label which one you are discussing.

PageSpeed results vary with the URL, device, field-data availability and test environment. Use field data to decide whether a lab finding affects a broad audience, and use the lab trace to identify a fix. Neither source supplies a universal benchmark for every site.

Prioritize fixes without chasing a score

  1. Reach: estimate how many users and which business journeys encounter the problem.
  2. Impact: identify the metric or task affected and whether field data confirms it.
  3. Confidence: reproduce the diagnosis and verify that the proposed change addresses the cause.
  4. Effort and risk: compare engineering work, layout or tracking implications and rollback difficulty.
  5. Verification: rerun the controlled test, then watch field metrics after deployment.

A high Lighthouse opportunity score is not automatically the highest business priority. A smaller improvement on a checkout interaction can matter more than a large estimate on an infrequently visited page.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Common failures and fixes

The report is mostly errors

Check the URL, DNS, redirects and certificate chain. Invalid certificates can prevent the page from loading and produce an almost entirely error-based report. Fix the serving problem or test a valid environment before interpreting metrics.

Results change on every run

Repeat the run, use a median, close competing workloads and keep device, CPU, network, URL and version fixed. Dynamic ads, personalization and third-party scripts can still introduce variation; note those dependencies in the baseline.

A private page redirects to login

The audit lacks an authenticated browser session. Supply a logged-in session or debugging connection, and verify in the report that the intended page—not the login form—was loaded.

Field data is missing

CrUX requires sufficient eligible real-user samples for the URL or origin. Use the Lighthouse lab result for diagnosis and state clearly that field evidence is unavailable rather than treating the absence as a good score.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

CI fails after a tool update

Check the recorded Lighthouse and Chrome versions first. Version changes can alter audits and API responses. Pin the version or update the baseline deliberately, documenting the reason.

Or skip the browser setup: capture clean audit visuals with ScreenshotNeo

If you need a screenshot of a page before or after an optimization, ScreenshotNeo returns PNG, JPEG, WebP or PDF from one GET request. It accepts cookie and consent banners as a visitor, then removes more than 60 known consent platforms, newsletter popups and chat widgets before capture; each step can be disabled. Bot checks, CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and the response identifies the result with X-Page-Verdict and X-Billed headers. It also provides an MCP server with take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for all options, including full-page and element capture, device presets, retina scale, custom CSS and JavaScript, waits, request blocking, headers, cookies, geolocation, PDF settings, caching, signed links, asynchronous webhooks and bulk capture.

There is a free plan with 1,000 screenshots per month and no card required. Paid plans start at $5 for 3,000 screenshots; every feature is included on every plan. Create a free ScreenshotNeo account.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

FAQ

Can Lighthouse audit a page that requires a login?

Yes, when the run uses a logged-in Chrome session or debugging connection containing the required authentication state. Verify the captured URL and page content so you do not measure the login screen.

Should I use mobile or desktop mode?

Use the mode that matches the question. Mobile is useful for constrained devices and networks; desktop helps diagnose a desktop experience. For a fair comparison, keep the selected mode unchanged across runs.

How often should a team rerun Lighthouse?

Run it for meaningful code or dependency changes and as part of your release workflow. Automated checks catch regressions early, while periodic field-data review confirms whether improvements reach real users.

Frequently Asked Questions

Can Lighthouse audit a page that requires a login?

Yes, when the run uses a logged-in Chrome session or debugging connection containing the required authentication state. Verify the captured URL and page content so you do not measure the login screen.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Should I use mobile or desktop mode?

Use the mode that matches the question. Mobile is useful for constrained devices and networks; desktop helps diagnose a desktop experience. For a fair comparison, keep the selected mode unchanged across runs.

How often should a team rerun Lighthouse?

Run it for meaningful code or dependency changes and as part of your release workflow. Automated checks catch regressions early, while periodic field-data review confirms whether improvements reach real users.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.