By Tim King · Updated
Lighthouse Score Explainer
How the Lighthouse Performance Score Is Calculated, and Which Metric Costs Most
OneTask is free, with no sign-up, and built by one person.
If this tool saved you time, a coffee helps keep new ones coming.
How the Lighthouse Score Explainer works
This Lighthouse score explainer shows how the score is weighted. The Lighthouse performance score is not a grade someone assigns; it is a weighted average of five metric scores, each of which comes from plugging the raw measurement into a curve. Enter the numbers from a report — Lighthouse in Chrome DevTools, PageSpeed Insights, web.dev — and see the score of each metric, the points it contributes, the points it loses and what value it would need to hit for the green band. It uses the same curves and weights as Lighthouse 10 through 12.
Lighthouse score explainer: metric weights
Five metrics make the score. First Contentful Paint is when anything first appears. Speed Index is how quickly the visible area fills in. Largest Contentful Paint is when the biggest element — usually a hero image or heading — is on screen. Total Blocking Time is how long the main thread was busy with long tasks between FCP and interactivity, which is almost always JavaScript. Cumulative Layout Shift is how much the content moved around while loading. They are weighted 10, 10, 25, 30 and 25 percent, so TBT, LCP and CLS together decide 80 percent of the score, and those three map closely to the Core Web Vitals that Google uses in search.
The curve. Each raw value is turned into a 0 to 100 score through a log-normal distribution with two control points. At the "good" threshold the score is 90; at the median of real-world pages, taken from HTTP Archive data, it is 50. Between and beyond them the curve is smooth, so there is no cliff — a 2,600 ms LCP scores 88, not zero — but it is steep around the median and flat at the ends. That shape is why shaving 500 ms off a bad metric barely moves the score while the same 500 ms near the threshold moves it a lot, and why a score of 100 needs every metric to be well under its good threshold, not just at it.
Mobile versus desktop. The thresholds differ because Lighthouse simulates a mid-range phone on a slow 4G connection for the mobile profile and a fast machine on a fast connection for desktop. Desktop control points are roughly half the mobile ones for the timing metrics; CLS is the same on both. A page that scores 95 on desktop and 60 on mobile is the norm, not a bug, and mobile is the one search uses.
Reading the table. The "Lost" column is the most useful one. It shows how many of the missing points each metric is responsible for, so you can see at once whether the problem is JavaScript (TBT), a slow hero image or server (LCP), unstable layout (CLS) or slow first paint (FCP and SI). The status line names the biggest loss and the usual fix.
What it does not include. Lighthouse also reports Interaction to Next Paint and Time to First Byte, but neither is part of the performance score; INP cannot be measured in a lab run without real interactions. The opportunities and diagnostics sections do not affect the score either — they are suggestions, and the estimated savings they show are approximate.
FAQ
Why does my score vary between runs?
Because the metrics vary. Network timing, CPU contention and third-party content all change from run to run, and the curve amplifies small differences near the median. Lighthouse's own guidance is to run several times and take the median; PageSpeed Insights does this for you.
Why is my score low when every metric is orange?
The score is an average of five curves and orange spans 50 to 89. Five metrics each scoring 60 give a score of 60. Getting to green needs most metrics near 90, not merely out of red.
Which metric should I fix first?
The one with the largest number in the Lost column. In practice it is Total Blocking Time on JavaScript-heavy sites and Largest Contentful Paint on content and e-commerce sites.
Does the score affect Google rankings?
Not directly. Search uses field data — real Chrome users' Core Web Vitals — not the lab score. But the same metrics drive both, so a page that scores well here usually passes the field assessment, and the Core Web Vitals Calculator on this site rates those thresholds.
Are the thresholds the same as the Core Web Vitals ones?
For LCP and CLS, yes: 2,500 ms and 0.1 are both the CWV "good" line and the Lighthouse 90-point control. TBT is a lab stand-in for INP and has its own threshold of 200 ms on mobile.
See also: all Dev Utilities tools, Formatters & Validators, Data & Encoding, Security & Identifiers, SEO, Accessibility, AI.
Related tools
Core Web Vitals Calculator
Check whether your page passes Core Web Vitals and which metric to fix first.
Page Weight Calculator
Add up page resources, see the breakdown and load time on each connection.
JavaScript Size Calculator
See what a script bundle costs to download and to parse on a phone.
Performance Budget Calculator
Turn a load-time target into a byte budget for each part of the page.
Resource Hint Generator
Generate correct preconnect, preload and prefetch tags with the right attributes.