Introduction to Lighthouse

Lighthouse is an open-source,automated tool to help you improve the quality of web pages. You can run it onany web page, public or requiring authentication. It has audits for performance,accessibility, SEO, and more.

You can run Lighthouse in Chrome DevTools, from the command line, or as a Nodemodule. Give Lighthouse a URL to audit, it runs a series of audits against the page,and then it generates a report on how well the page performed. Use the failedaudits as indicators for how to improve the page. Each audit has a referencethat explains why the audit is important, as well as how to fix it.

You can also useLighthouse CIto prevent regressions on your sites.

Get started

Choose the Lighthouse workflow that suits you best:

  • In Chrome DevTools. Audit pages that require authentication andread your reports in a user-friendly format, right from the browser.
  • From the command line. Automate your Lighthouse runs with shellscripts.
  • As a Node module. Integrate Lighthouse into your continuousintegration systems.
  • From a web UI. Run Lighthouse and link to reports, no installationneeded.
Note: The CLI and Node workflows require you to have an instance of GoogleChrome installed on your machine.

Run Lighthouse in Chrome DevTools

Lighthouse has its own panel in Chrome DevTools. To run a report:

  1. DownloadGoogle Chrome for Desktop.
  2. Open Chrome, and go to the URL you want to audit. You can audit any URL onthe web.
  3. Open Chrome DevTools.
  4. Click theLighthouse tab.

    To the left is the viewport of the web page to be audited. The right is the Chrome DevToolsLighthouse panel.

  5. ClickAnalyze page load. DevTools shows you a list of audit categories.Leave them all enabled.

  6. ClickRun audit. After 30 to 60 seconds, Lighthouse gives you a report onthe page.

    A Lighthouse report in Chrome DevTools.

Install and run the Node command line tool

To install the Node module:

  1. DownloadGoogle Chrome for Desktop.
  2. Install the currentLong-Term Supportversion ofNode.
  3. Install Lighthouse. The-g flag installs it as a global module.
npminstall-glighthouse

To run an audit:

lighthouse<url>

To see all the options:

lighthouse--help

Run the Node module programmatically

SeeUsing programmaticallyfor an example of running Lighthouse programmatically, as a Node module.

Run PageSpeed Insights

To run Lighthouse on PageSpeed Insights:

  1. Go toPageSpeed Insights.
  2. Enter a web page URL.
  3. ClickAnalyze.

    The PageSpeed Insights website.

Run Lighthouse as a Chrome Extension

Caution: Unless you have a specific reason, you should useChrome DevTools rather than this Chrome Extension workflow. TheDevTools workflow allows for testing local sites and authenticated pages, whilethe extension does not.

To install the extension:

  1. DownloadGoogle Chrome for Desktop.
  2. Install theLighthouse Chrome Extension from the Chrome Webstore.

To run an audit:

  1. In Chrome, go to the page you want to audit.
  2. ClickLighthouse, next to the Chrome address bar or in Chrome's extension menu.Once clicked, the Lighthouse menu expands.

    The extension prompts you to generate a report.

  3. ClickGenerate report. Lighthouse runs its audits against thecurrently-focused page, then opens up a new tab with a report of the results.

    A Lighthouse report generated from the extension.

Share and view reports online

Use theLighthouse Viewerto view and share reports online.

The Lighthouse Viewer

Share reports as JSON

The Lighthouse Viewer needs the JSON output of a Lighthouse report. Generatethe JSON outputs as follows:

  • From a Lighthouse report. Clickfor the menu, then clickSave as JSON
  • Command line. Run:shelllighthouse --output json --output-path <path/for/output.json>

To view the report data:

  1. Open theLighthouse Viewer.
  2. Drag the JSON file onto the Viewer, or click anywhere in the Viewer to openyour file navigator and select the file.

Share reports as GitHub Gists

If you don't want to manually pass around JSON files, you can also share yourreports as secret GitHub gists. One benefit of gists is free version control.

To export a report as a gist from the report:

  1. Click the menu, then clickOpen In Viewer. The report is located athttps://googlechrome.github.io/lighthouse/viewer/.
  2. From the Viewer, click menu,then clickSave as Gist. The first time you do this, a popup asks permission toaccess your basic GitHub data, and to read and write to your gists.

To export a report as a gist from the CLI version of Lighthouse,manually create a gist and copy-paste the report'sJSON output into the gist. The gist filename containing the JSON output mustend in.lighthouse.report.json. SeeShare reports as JSON for anexample of how to generate JSON output from the command line tool.

To view a report that's been saved as a gist:

  • Add?gist=<ID> to the Viewer's URL, where<ID> is the ID of the gist.texthttps://googlechrome.github.io/lighthouse/viewer/?gist=<ID>
  • Open theViewer, andpaste the URL of a gist into it.

Lighthouse extensibility

Lighthouse aims to provide guidance that is relevant and actionable for all webdevelopers. To this end, there are two features available that allow you totailor Lighthouse to your specific needs.

Stack packs

Developers use many different technologies (backend, content management systems,and JavaScript frameworks) to build their web pages. Instead of surfacinggeneral recommendations, Lighthouse provides relevant and actionable advice,depending on the tools used.

Stack packs allow Lighthouse to detect what platform your site is built onand display specific stack-based recommendations. These recommendations aredefined and curated by experts from the community.

To contribute a stack pack, review theContributing Guidelines.

Lighthouse plugins

Lighthouse plugins allow domain experts to extend the functionality ofLighthouse for their community's specific needs. You can leveragethe data that Lighthouse collects to create new audits. At its core, aLighthouse plugin is a node module that implements a set of checks to be run byLighthouse and added to the report as a new category.

For more information about how to create your own plugin, check out ourPlugin Handbookin the Lighthouse GitHub repo.

Integrate Lighthouse

If you're a company or an individual who is integrating Lighthouse as part ofthe products or services you're offering, that's great! We want as many peopleas possible to use Lighthouse.

Refer to theGuidelines and Brand Assets for Integrating Lighthouseto show that Lighthouse is used, while protecting our brand.

Contribute to Lighthouse

Lighthouse is open source andcontributions are welcome!Check out the repository'sIssue tracker to findbugs that you can fix,or audits that you can create or improve upon. The Issues are a good place todiscuss performance metrics, ideas for new audits, or anything else related toLighthouse.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2025-06-02 UTC.