Skip to main content

Measure And Optimize The Lighthouse Performance Score

Google's Lighthouse tool tests the performance of a website and gives it a score rating from 0 to 100. This Performance score is calculated by combining several different performance metrics.

The Performance rating that's shown on PageSpeed Insights is also calculated using Lighthouse.

This article looks at how the Lighthouse Performance score is determined, how to interpret it, and how it varies between runs and tools.

Core Web Vitals Monitoring
Synthetic Tests ยท Real User Monitoring ยท Google CrUX data

What is the Lighthouse Performance score?โ€‹

Performance is one of the audit categories supported by Lighthouse, along with SEO, Best Practices, and Accessibility. Each category is assigned a score from 0 to 100.

The Lighthouse Performance score is a lab-only metric specific to Lighthouse, and is not measured for real users.

Performance score in the Lighthouse report

What is a good Lighthouse score?โ€‹

A Lighthouse Performance score of 90 or higher is considered good. Lighthouse color-codes the score into three bands:

ScoreRatingColor
90 to 100GoodGreen
50 to 89Needs improvementOrange
0 to 49PoorRed

A score of 90 or higher is hard to reach for many real-world websites, especially on the simulated mobile connection Lighthouse uses, and you don't need it to pass Google's Core Web Vitals assessment. The assessment is based on real user data, not on the Lighthouse score.

The Performance score is also not a Google ranking factor. Google uses the real-user Core Web Vitals metrics as a ranking signal instead, so a page can have a mediocre Lighthouse score and still rank well if its visitors have a fast experience. Treat the score as a diagnostic summary that points you towards specific problems, rather than as a target in itself.

Lighthouse Performance testing toolsโ€‹

A lot of different performance testing tools include Lighthouse score data, for example:

You can also run scheduled Lighthouse tests on your website to see how your scores change over time and get alerted when there's a problem.

How is the Lighthouse Performance score calculated?โ€‹

Lighthouse performance scoring works by combining 5 different web performance metrics.

The overall composition has changed over time, but the table below shows the breakdown as of Lighthouse 13, which has used the same weights since Lighthouse 10. Total Blocking Time and Largest Contentful Paint account for almost half of the Performance score.


tip

Note that only these 5 metrics count for the Performance score. The Opportunities and Diagnostics audits do not directly impact it.

Metric thresholds for each subscoreโ€‹

Each metric gets its own subscore from 0 to 100 before the weights are applied. Lighthouse maps the raw metric value onto a scoring curve, so there is no single pass or fail threshold. The table shows the value you need for a subscore of 90 (the start of the green range) and 50 (the start of the orange range) on mobile and desktop.

MetricMobile, score 90Mobile, score 50Desktop, score 90Desktop, score 50
First Contentful Paint1.8 s3.0 s0.9 s1.6 s
Speed Index3.4 s5.8 s1.3 s2.3 s
Largest Contentful Paint2.5 s4.0 s1.2 s2.4 s
Total Blocking Time200 ms600 ms150 ms350 ms
Cumulative Layout Shift0.10.250.10.25

Desktop thresholds are stricter for the timing metrics because Lighthouse assumes a faster network and CPU on desktop, so the same page is expected to load faster. Cumulative Layout Shift uses the same thresholds on both device types.

The mobile thresholds for Largest Contentful Paint and Cumulative Layout Shift match Google's Core Web Vitals thresholds, which is why a page that passes the Core Web Vitals assessment usually also gets a green subscore for those two metrics in a mobile Lighthouse test.

Illustration of a website speed test reportIllustration of a website speed test report

Run A Free Page Speed Test

Test Your Website:

  • Automated Recommendations
  • Detailed Request Waterfall
  • Web Vitals Assessment

How to see a breakdown of your Lighthouse scoreโ€‹

You can run a DebugBear Speed test to view a breakdown of your Performance score or click the "See Calculator" link on PageSpeed Insights.

Score breakdown in DebugBearโ€‹

DebugBear test results show a detailed breakdown of how much each metric contributes to the overall score and what scores you need to focus on to improve.

Lighthouse Performance score breakdown

Click on "View Details" to see what is holding back your score for each metric and get recommendations on how to improve it.

For example, for the Largest Contentful Paint metric you can see what the LCP element is, how big the contribution of each LCP component is, and what resources were involved in loading LCP images.

LCP details data

Lighthouse scoring calculatorโ€‹

Google also provides a calculator for the overall Lighthouse score. You can change the value of each performance metric to see how it affects the metric subscore and overall score.

Lighthouse score calculator

Does the Lighthouse score affect SEO?โ€‹

The Lighthouse Performance score does not directly impact SEO. Google looks at real user data to assess user experience, so you might get a Lighthouse score of 20 but still see no negative ranking impact.

However, a slow website in the lab may also be slow for real users. The real-user Core Web Vitals metrics that Google collects are used as a ranking signal.

You can run a free Core Web Vitals test or use Google Search Console to see if performance is impacting your rankings.

Core Web Vitals metrics

Limitations of the Lighthouse scoreโ€‹

A Lighthouse test of the page load is run in the lab, and won't provide an Interaction to Next Paint (INP) metric as there is no user interaction to record.

The Total Blocking Time metric aims to provide a partial lab alternative to INP. However, it only looks at the input delay component of INP, which is caused by background tasks unrelated to the user interaction. If the user were to interact with the page at some point, how much input delay would they face? In practice, a lot of time is spent processing the interactions and updating the UI.

First Contentful Paint and Speed Index are also not included in the Core Web Vitals. These metrics are strongly correlated with the Largest Contentful Paint. While they do provide valuable information about how fast your page renders, they were not included as Core Web Vitals in their own right.

Finally, Time to Interactive is also not a Core Web Vitals metric. Time to Interactive provides useful information on how long it takes for your page to load fully, but it only looks at CPU and network activity rather than focusing on the user.

Is Google Lighthouse accurate?โ€‹

The Lighthouse score is frequently unreliable. Most tools, including PageSpeed Insights, rely on simulated performance data rather than values that are measured directly.

To get more accurate Lighthouse data, use a tool like the DebugBear website speed test.

Performance score on mobile vs desktop devicesโ€‹

Unlike the Core Web Vitals, the Lighthouse Performance score uses different score thresholds on desktop and on mobile.

For example, to get an LCP subscore of 90 or higher you need a Largest Contentful Paint of 2.5 seconds or less on mobile but 1.2 seconds or less on desktop. The full set of mobile and desktop thresholds is in the metric thresholds table above.

Measuring the Lighthouse Performance score with PageSpeed Insightsโ€‹

The lab data in Google's PageSpeed Insights tool is collected from Lighthouse, so you can find the Performance score at the top of the Diagnose performance issues section.

Lighthouse scores on PageSpeed Insights

How to improve the Lighthouse Performance scoreโ€‹

Start with the metrics that carry the most weight. Total Blocking Time, Largest Contentful Paint, and Cumulative Layout Shift make up 80% of the score, so fixing one of them moves the number far more than fixing First Contentful Paint or Speed Index.

Work through the metrics in weight order:

  1. Total Blocking Time (30%): reduce JavaScript execution during the page load. Defer non-critical scripts, break up long main thread tasks, and cut third-party code that runs before the page is interactive.
  2. Largest Contentful Paint (25%): make the main image or heading appear sooner. Preload the LCP image with fetchpriority="high", remove render-blocking resources, and reduce server response time.
  3. Cumulative Layout Shift (25%): stop content from moving after it renders. Set explicit width and height on images, reserve space for ads and embeds, and use font-display settings that avoid web font layout shifts.
  4. First Contentful Paint (10%): get the first content on screen faster. The same render-blocking and server response fixes that help LCP also help FCP.
  5. Speed Index (10%): render above-the-fold content progressively rather than all at once. Inline critical CSS and avoid anti-flicker snippets that hide the page until scripts load.

Look at the breakdown of your score to see which of these metrics are holding you back. The Lighthouse report includes audits that show you how to improve each one, and the Show audits relevant to filter limits the list to the metric you're interested in.

Lighthouse performance audit filter

On DebugBear you can click View Details to get a detailed analysis for the given metric.

For example, when debugging Largest Contentful Paint you can see:

  • What the LCP element is, and how long the LCP image took to load
  • Whether delays come from server response time, render delay, or other factors
  • A request waterfall highlighting how the LCP image was discovered

Detailed breakdown of the Lighthouse LCP metric

Lighthouse web performance recommendationsโ€‹

The Lighthouse performance audits can give you a lot of insights into what's holding back your Performance score.

For example, you could get a recommendation to eliminate render-blocking resources. Render-blocking network requests slow down rendering on the page, hurting your page load milestones like the Largest Contentful Paint. Using the async and defer keywords on scripts helps you avoid these delays.

Eliminate render-blocking resources

Looking at the Largest Contentful Paint element diagnostic can also tell you a lot about what you need to focus on to improve your Lighthouse score.

This audit will show you the LCP metric components. This breakdown tells you whether page load delays come from poor server response time, load delay, image load time, or rendering delays.

LCP element audit

Why is the Lighthouse Performance score inconsistent between runs?โ€‹

The Lighthouse score often varies between tests, and this increases with the complexity of your website. Here are a few common reasons for this variability:

  • Different server response times (e.g. if your server is busy)
  • Different routes that data takes on the network
  • A/B tests or other page customizations
  • The computer running the tests might have used CPU power for other processes
  • Lighthouse might finish the test at different times, depending on whether it has seen a sufficiently long idle period

Why is the Lighthouse Performance score inconsistent between tools?โ€‹

You will often see that different tools report different Lighthouse Performance scores. This might be for a few reasons:

  • Different test locations (e.g. UK or US)
  • More or less powerful CPUs
  • Different data quality levels
  • Different Lighthouse settings
  • Different versions of Lighthouse/Chrome

By default, Lighthouse is run using a low-accuracy mode that simulates a slow network rather than testing on a slow connection. For example, this is what PageSpeed Insights uses, and it's also the default setting in Chrome DevTools.

Lighthouse simulated vs observed data

How to monitor the Lighthouse Performance scoreโ€‹

Automated tools like DebugBear can help you monitor Lighthouse scores over time. They'll continuously test your website and generate reports you can use to optimize performance.

In this dashboard you can see the Performance score and other Lighthouse scores for different websites over time.

Performance score dashboard

You can then go into each page to see the full Lighthouse web performance report as well as investigate any Lighthouse score changes.

For example, here we can see that a robots meta tag was added to the page that disabled indexing.

Lighthouse score change

DebugBear doesn't just run scheduled Lighthouse tests. It also keeps track of the Chrome User Experience Report data that impacts rankings, as well as offering real user monitoring.

Sign up for a free trial to start monitoring Lighthouse scores and web performance for your website.

DebugBear CrUX Dashboard

Illustration of website monitoringIllustration of website monitoring

Monitor Page Speed & Core Web Vitals

DebugBear monitoring includes:

  • In-depth Page Speed Reports
  • Automated Recommendations
  • Real User Analytics Data