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.
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.
26.9% of sites use 400 to 850 KB of unused JS unused JavaScript bytes, and 90% of those sites have a good LCP, against 86% of all sites.
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%.
Sites with 400 to 850 KB of unused JS unused JavaScript bytes have a good LCP most often: 90%, against 86% of all sites. Sites with over 1.5 MB of unused JS unused JS have it least often, at 81%.
Unused JavaScript bytes usage
400 to 850 KB of unused JS is the most used: 26.9% of sites.
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.
On WordPress, 31% of sites use 850 KB to 1.5 MB of unused JS unused JavaScript bytes, and 76% of WordPress sites have a good LCP, against 86% of all sites. On Shopify, 64% of sites use over 1.5 MB of unused JS, and 97% of Shopify sites have a good LCP.
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.
On WordPress, 82% of sites with 400 to 850 KB of unused JS unused JavaScript bytes have a good LCP, against 68% of WordPress sites with over 1.5 MB of unused JS. Within WordPress, sites with 400 to 850 KB of unused JS have a good LCP more often. On Shopify, 98% of sites with 400 to 850 KB of unused JS unused JavaScript bytes have a good LCP, against 96% 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 LCP 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).
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).
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.