The page loads JavaScript it never runs
What this check looks for
‹scope› downloads ‹total js› of JavaScript, and roughly ‹unused bytes› of it never runs during the page load. ‹responsiveness›
Why it matters
This is an observation and it deducts nothing. A page carrying a lot of code is not by itself doing anything wrong: the certain cost of code that never runs is the bytes it costs to download, and the parse cost it is famous for is far smaller, because an engine only fully compiles a function when something calls it. We charge for this where the field data shows visitors are held up.
What it costs your score
This check never deducts. It reports a fact — or reports that something could not be verified — and is shown on the report without moving the score.
- Severity
- info
- Default confidence
- high
- Status when triggered
- info
- Deduction
- 0 points
- Family cap
- none
- Category
- Performance
- Module
- Perf lab
- Fix owned by
- user
- In the ruleset since
- 2026.09
Technical detail
JavaScript transferred: **‹total js›** across ‹scripts›; unused on load: **‹unused bytes›** (‹unused percent›%).
‹responsiveness detail›
‹detail›
This came from **one page load we performed**, not from your visitors. A lab measurement is reproducible and tells you exactly which bytes and which resources are responsible — which is why the numbers below are byte counts and resource lists rather than a score. What real visitors experience is in the field-data section, which is the evidence this report scores Core Web Vitals on.
"Unused" means the bytes were never executed during this load. Some of it is code behind an interaction that has not happened yet, which is normal and is not waste. The figure is worth knowing for what it costs on the wire: every byte of it was downloaded on a connection somebody is paying for.
If you want to act on it anyway, the change is code splitting rather than deletion — load a route's code with the route and an interaction's code with the interaction. It is worth an afternoon when the bundles are already being touched, and it is not worth rearranging a working build for on the strength of this number alone.
We do not split these bytes into yours and a third party's. The only thing we can see is the address each script was served from, and that does not answer the question: a site's own bundles very often live on a different domain from its pages, so the split would misattribute the largest sites' own code. The per-file list above carries the addresses, and you will recognise which are yours.
Standards and references
Test this on your domain
Run the check that produces this finding, on its own, against any domain.