What a 99 Lighthouse Score Actually Means
“We scored 99 on Lighthouse” is a sentence web designers love to say, me included. It is a real achievement, and it is also easy to over-read. This article explains what the number is made of, why it changes when you test again five minutes later, and what it does not tell you about a website.
What Lighthouse is
Lighthouse is an open-source tool from Google that loads a page in a controlled browser and runs a series of audits on it.4 It reports four category scores from 0 to 100: Performance, Accessibility, Best Practices, and SEO. Google’s PageSpeed Insights runs Lighthouse for you on Google’s servers and shows the result alongside real-user data when a site has enough traffic.
When someone quotes “a 99”, they almost always mean the Performance score, usually on the mobile test. That is the number this article is about.
What goes into the Performance score
The Performance score is not a stopwatch reading. It is a weighted blend of several metrics, each converted to a 0–100 scale against real-world data and then combined.1 In current versions of Lighthouse the weights are:
| Metric | Weight | In plain terms |
|---|---|---|
| Total Blocking Time | 30% | How long the page is too busy running scripts to respond to a tap. |
| Largest Contentful Paint | 25% | When the biggest piece of content (often the hero image or headline) appears. |
| Cumulative Layout Shift | 25% | How much things jump around while loading. |
| First Contentful Paint | 10% | When anything first appears. |
| Speed Index | 10% | How quickly the visible area fills in overall. |
Two consequences follow. Heavy JavaScript hurts more than almost anything else, because it drives Total Blocking Time. And a page that loads fast but shifts around as images arrive can lose a quarter of its score to layout shift alone.
Lighthouse colors the score in three bands: 0–49 is poor, 50–89 needs improvement, and 90–100 is good.1 So 92 and 99 are both “good”. The difference between them is real but small compared with the jump from 60 to 90.
It is a simulation, not a visitor
The mobile test simulates a mid-range phone on a throttled mobile connection. That is deliberately harsher than a new iPhone on home Wi-Fi, which is why mobile scores are usually lower than desktop scores for the same page. It is one device profile, one network profile, from one location. Your actual visitors are a mix of all of them.
That is the difference between lab data (one controlled test, which is what a Lighthouse score is) and field data (measurements from real Chrome users over the previous 28 days). Google’s Core Web Vitals thresholds, such as Largest Contentful Paint within 2.5 seconds and Cumulative Layout Shift under 0.1, are judged on field data.3 Most small local sites do not get enough traffic to have field data, so a lab score is often the best evidence available. It is still a test, not a census.
The same page scores differently on different runs
Run Lighthouse twice on the same page and you can get two numbers. The Lighthouse project documents why: network conditions, server response time, background load on the testing machine, and third-party scripts all vary from run to run.2
I saw this directly when I measured the sites in my portfolio on October 14, 2026, using PageSpeed Insights on the live URLs:
- For one site, the median of my first three runs was 96. The median of six runs, taken minutes later, was 91.
- For another, the first three-run median was 100; the six-run median was 98.
- The sites built with Next.js showed the widest swings between the two sets of runs.
The sets were taken minutes apart, and the swings match the causes Lighthouse documents for run-to-run variability. That is why the numbers in my Performance Lab are medians of several runs taken 60 seconds apart, rounded down, and why each one carries its test date.
My take: if someone shows you a single screenshot of a 100, it is a true screenshot of one run. Ask how many runs it was and when. A median of several runs, with a date, is the honest version.
What a high score does not tell you
- Whether the site is clear. A blank page can score 100. Speed does nothing if a visitor cannot tell what you sell.
- Whether it ranks. The SEO category checks a few technical basics. It does not measure content quality, competition, or links.
- Whether it is accessible. The Accessibility score runs automated checks, which catch only part of the real barriers. Keyboard and screen-reader testing still needs a person.
- Whether it is secure. Best Practices includes a few security-related checks. It is not a security audit.
- Whether it brings in customers. Calls, quote requests, and bookings are the measure of a business website. Lighthouse does not see any of them.
A real before-and-after: this site
When I audited my own site in October 2026, its homepage scored 85 on a local mobile Lighthouse run. The cause was not exotic. The project screenshots were 2,900-pixel-wide PNG files, about 25 MB for the project grid, and a font stylesheet was being loaded twice in a way that blocked the first paint. The fix was ordinary work: resizing the screenshots into several widths, serving modern image formats, self-hosting only the font weights the site uses, and giving every image fixed dimensions so nothing jumps.
That is the typical story. High scores rarely come from tricks. They come from not shipping things the page does not need.
So what does a 99 mean?
It means that on the day it was tested, under Lighthouse’s simulated phone and network, the page loaded its main content quickly, responded without long script delays, and did not shift around. For a small business site that is a good foundation, and it usually reflects careful, lean construction.
It does not mean the site is finished. The next questions are the ones that matter to the business: does the page say clearly what you do, can a customer act in one tap, and is anyone finding it? Those are covered in Can AI tell what your business does from its website? and the AI search guide.
Sources
Numbers in the text refer to these sources. Statements marked “My take” are my own interpretation.
- Lighthouse performance scoring (opens in new tab) Chrome for Developers
- Lighthouse variability (opens in new tab) Lighthouse project (GitHub)
- Web Vitals (opens in new tab) web.dev
- Lighthouse overview (opens in new tab) Chrome for Developers