GoogleChrome /lighthouse
Automated auditing, performance metrics, and best practices for the web.
★ 31,034⑂ 9,786
31,034
stars
+22+30+157
9,786
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions
README
Lighthouse
Lighthouse analyzes web apps and web pages, collecting modern performance metrics and insights on developer best practices.
- Using Lighthouse
- Using Lighthouse in Chrome DevTools
- Using the Chrome extension
- Using the Node CLI
CLI options
- Using the Node module
- Viewing a report
Online Viewer
- Docs & Recipes
- Developing Lighthouse
Setup
Run
Tests
Docs
- Associated Products and Projects
- Lighthouse Integrations in Web Perf services
- Lighthouse Integrations in non-Web Perf services
- Plugins
- Related projects
- FAQ
How does Lighthouse work?
Can I configure the lighthouse run?
How does Lighthouse use network throttling, and how can I make it better?
Are results sent to a remote server?
How do I get localized Lighthouse results?
How do I author custom audits to extend Lighthouse?
How do I contribute?
Using Lighthouse in Chrome DevTools
Lighthouse is integrated directly into the Chrome DevTools, under the "Lighthouse" panel.
Installation: install Chrome.
Run it: open Chrome DevTools, select the Lighthouse panel, and hit "Generate report".
Using the Chrome extension
The Chrome extension was available prior to Lighthouse being available in Chrome Developer Tools, and offers similar functionality.
Installation: install the extension from the Chrome Web Store.
Run it: follow the extension quick-start guide.
Using the Node CLI
The Node CLI provides the most flexibility in how Lighthouse runs can be configured and reported. Users who want more advanced usage, or want to run Lighthouse in an automated fashion should use the Node CLI.
[!NOTE]
Lighthouse requires Node 22 (LTS) or later.
Installation:
sh
npm install -g lighthouse
or use yarn:
yarn global add lighthouse
Run it: lighthouse https://airhorner.com/
By default, Lighthouse writes the report to an HTML file. You can control the output format by passing flags.
CLI options
$ lighthouse --help
lighthouse
Logging:
--verbose Displays verbose logging [boolean] [default: false]
--quiet Displays no progress, debug logs, or errors [boolean] [default: false]
Configuration:
--save-assets Save the trace contents & devtools logs to disk [boolean] [default: false]
--list-all-audits Prints a list of all available audits and exits [boolean] [default: false]
--list-trace-categories Prints a list of all required trace categories and exits [boolean] [default: false]
--additional-trace-categories Additional categories to capture with the trace (comma-delimited). [string]
--config-path The path to the config JSON.
An example config file: core/config/lr-desktop-config.js [string]
--preset Use a built-in configuration.
WARNING: If the --config-path flag is provided, this preset will be ignored. [string] [choices: "perf