Unused JavaScript bytes and the Core Web Vitals

25.9% of audited sites (53,454) ship over 1.5 MB of unused JavaScript during initial load, pushing median INP to 98ms (92% good INP) versus 81ms (97% good INP) at 400 to 850 KB.

Field data PhoneDesktopAll Scope All sites October 2026 edition · All devices field outcomes

26.9% of sites use 400 to 850 KB of unused JS unused JavaScript bytes, and 97% of those sites have a good INP, against 95% of all sites.

The State of Web Vitals · October 2026 · 210,902 crawled sites · 196,263 with all devices field data · 206,167 sites with unused JavaScript bytesBy Arjen Karel · corewebvitals.io/state-of-cwv
1

Core Web Vitals pass rate

Sites with 400 to 850 KB of unused JS unused JavaScript bytes have a good INP most often: 97%, against 95% of all sites. Sites with over 1.5 MB of unused JS unused JS have it least often, at 92%.

SitesGood, needs improvement, poor INPMedian
All sites196,26395%87ms
400 to 850 KB unused 26.9%53,16597%81ms
850 KB to 1.5 MB unused 25.0%49,75297%87ms
Under 400 KB unused 22.2%41,36292%79ms
Over 1.5 MB unused 25.9%51,89892%98ms
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · 210,902 crawled sites · 196,263 with all devices field data · 206,167 sites with unused JavaScript bytesBy Arjen Karel · corewebvitals.io/state-of-cwv
2

Unused JavaScript bytes usage

400 to 850 KB of unused JS is the most used: 26.9% of sites.

400 to 850 KB unused 26.9% Over 1.5 MB unused 25.9% 850 KB to 1.5 MB unused 25.0% Under 400 KB unused 22.2%
400 to 850 KB unused 26.9% Over 1.5 MB unused 25.9% 850 KB to 1.5 MB unused 25.0% Under 400 KB unused 22.2%
The State of Web Vitals · October 2026 · 210,902 crawled sites · 196,263 with all devices field data · 206,167 sites with unused JavaScript bytesBy Arjen Karel · corewebvitals.io/state-of-cwv
3

Understanding unused JavaScript bytes

How dead JavaScript code still blocks the main thread

The browser cannot skip parsing or compiling unused functions inside a downloaded bundle. Across 55,440 sites (26.9%) with 400 to 850 KB of unused JS, 97% pass field INP at an 81ms median, while the 25.9% (53,454) exceeding 1.5 MB of unused JS drop to 92% good INP (98ms median).

Use route-level code splitting and dynamic import() so offscreen modals, checkout flows, and heavy third-party SDKs only load when needed. Across all audited sites, 26.9% ship 400 to 850 KB of unused JS (97% good INP, 81ms median) versus 25.9% above 1.5 MB (92% good INP, 98ms median).

The State of Web Vitals · October 2026 · 210,902 crawled sites · 196,263 with all devices field data · 206,167 sites with unused JavaScript bytesBy Arjen Karel · corewebvitals.io/state-of-cwv
Platform & Framework Takeaways

How unused JavaScript bytes plays out per platform

What the field data shows when you isolate a single CMS or framework.

WordPress 65,496 sites
54% sites with > 850 KB unused JS

54% of WordPress sites ship over 850 KB of unused JavaScript.

Across WordPress sites, 31% load 850 KB to 1.5 MB of unused scripts and 23% exceed 1.5 MB, with median INP ranging from 78ms under 400 KB unused to 95ms above 1.5 MB.

Explore WordPress unused JS data →
Shopify 8,572 sites
99% vs 94% good INP (850 KB-1.5 MB vs > 1.5 MB)

64% of Shopify stores ship over 1.5 MB of unused JavaScript on load.

Across Shopify storefronts, 64% have over 1.5 MB of unused JS during initial load (94% good INP, 108ms median) compared with 99% (87ms median) at 850 KB to 1.5 MB.

Explore Shopify unused JS data →
Wix 5,825 sites
97% good INP (> 1.5 MB unused tier)

72% of Wix sites sit in the over 1.5 MB unused JS tier (97% good INP).

Across Wix sites, 72% record over 1.5 MB of unused JS on first load (97% good INP) and 28% record 850 KB to 1.5 MB (97% good INP).

Explore Wix unused JS data →
Related signals Image source mix → Page weight & requests → DOM depth → Scripts per page → By Arjen Karel · 210,902 crawled sites (196,263 with all devices Chrome field data, 206,167 sites with unused JavaScript bytes, October 2026) · How we measured