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 60ms (98% good INP) versus 45ms (100% good INP) at 400 to 850 KB.

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

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

The State of Web Vitals · October 2026 · 210,902 crawled sites · 69,745 with desktop 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: 100%, against 99% of all sites. Sites with over 1.5 MB of unused JS unused JS have it least often, at 98%.

SitesGood, needs improvement, poor INPMedian
All sites69,74599%49ms
400 to 850 KB unused 26.9%15,104100%45ms
850 KB to 1.5 MB unused 25.0%18,41599%48ms
Under 400 KB unused 22.2%11,54899%42ms
Over 1.5 MB unused 25.9%24,63898%60ms
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · 210,902 crawled sites · 69,745 with desktop 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 · 69,745 with desktop field data · 206,167 sites with unused JavaScript bytesBy Arjen Karel · corewebvitals.io/state-of-cwv
3

Unused JavaScript bytes per platform

On WordPress, 31% of sites use 850 KB to 1.5 MB of unused JS unused JavaScript bytes, and 100% of WordPress sites have a good INP, against 99% of all sites. On Shopify, 64% of sites use over 1.5 MB of unused JS, and 99% of Shopify sites have a good INP.

PlatformUnused JavaScript bytes on its sitesGood INP
Sites with unused JavaScript bytes 206,167 sites400 to 850 KB unused 27%Over 1.5 MB unused 26%850 KB to 1.5 MB unused 25%Under 400 KB unused 22%99%
Adobe Commerce 1,095 sitesOver 1.5 MB unused 73%850 KB to 1.5 MB unused 21%100%
Wix 5,825 sitesOver 1.5 MB unused 72%850 KB to 1.5 MB unused 28%100%
Squarespace 2,258 sitesOver 1.5 MB unused 100%100%
Joomla 2,550 sitesUnder 400 KB unused 49%400 to 850 KB unused 36%850 KB to 1.5 MB unused 12%100%
Drupal 3,295 sites400 to 850 KB unused 40%850 KB to 1.5 MB unused 26%Under 400 KB unused 19%Over 1.5 MB unused 15%100%
WordPress 65,496 sites850 KB to 1.5 MB unused 31%400 to 850 KB unused 30%Over 1.5 MB unused 23%Under 400 KB unused 16%100%
Shopify 8,572 sitesOver 1.5 MB unused 64%850 KB to 1.5 MB unused 23%400 to 850 KB unused 13%99%
400 to 850 KB unused Over 1.5 MB unused 850 KB to 1.5 MB unused Under 400 KB unused
The State of Web Vitals · October 2026 · 210,902 crawled sites · 69,745 with desktop field data · 206,167 sites with unused JavaScript bytesBy Arjen Karel · corewebvitals.io/state-of-cwv
4

Unused JavaScript bytes or the platform

Does the platform explain the unused JavaScript bytes difference?

On WordPress, 100% of sites with 400 to 850 KB of unused JS unused JavaScript bytes have a good INP, against 99% of WordPress sites with over 1.5 MB of unused JS. Within WordPress, sites with 400 to 850 KB of unused JS and over 1.5 MB of unused JS have a good INP about equally often. On Shopify, 100% of sites with 400 to 850 KB of unused JS unused JavaScript bytes have a good INP, against 99% of Shopify sites with over 1.5 MB of unused JS. Within Shopify, sites with 400 to 850 KB of unused JS and over 1.5 MB of unused JS have a good INP about equally often.

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, 100% pass field INP at an 45ms median, while the 25.9% (53,454) exceeding 1.5 MB of unused JS drop to 98% good INP (60ms median).

The State of Web Vitals · October 2026 · 210,902 crawled sites · 69,745 with desktop field data · 206,167 sites with unused JavaScript bytesBy Arjen Karel · corewebvitals.io/state-of-cwv
5

Understanding unused JavaScript bytes

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 (100% good INP, 45ms median) versus 25.9% above 1.5 MB (98% good INP, 60ms median).

The State of Web Vitals · October 2026 · 210,902 crawled sites · 69,745 with desktop field data · 206,167 sites with unused JavaScript bytesBy Arjen Karel · corewebvitals.io/state-of-cwv
Related signals Image source mix → Page weight & requests → DOM depth → Scripts per page → By Arjen Karel · 210,902 crawled sites (69,745 with desktop Chrome field data, 206,167 sites with unused JavaScript bytes, October 2026) · How we measured