Shopify unused JavaScript bytes and the Core Web Vitals
64.0% of audited sites (5,280) ship over 1.5 MB of unused JavaScript during initial load, pushing median INP to 64ms (99% good INP) versus 41ms (100% good INP) at 400 to 850 KB.
23.2% of Shopify sites use 850 KB to 1.5 MB of unused JS unused JavaScript bytes, and 100% of those sites have a good INP, against 99% of all Shopify sites.
23.2% of Shopify sites use 850 KB to 1.5 MB of unused JS unused JavaScript bytes, and 98% of those sites have a good LCP, against 97% of all Shopify sites.
Core Web Vitals pass rate
Sites with 850 KB to 1.5 MB of unused JS unused JavaScript bytes have a good INP most often: 100%, against 99% of all Shopify sites. Sites with over 1.5 MB of unused JS unused JS have it least often, at 99%.
Sites with 850 KB to 1.5 MB of unused JS unused JavaScript bytes have a good LCP most often: 98%, against 97% of all Shopify sites. Sites with over 1.5 MB of unused JS unused JS have it least often, at 96%.
Unused JavaScript bytes usage
Over 1.5 MB of unused JS is the most used: 64.0% of Shopify sites. 850 KB to 1.5 MB of unused JS is 23.2% of Shopify sites.
Unused JavaScript bytes per framework
On jQuery, 74% of sites use over 1.5 MB of unused JS unused JavaScript bytes, and 99% of jQuery sites have a good INP, against 99% of all sites. On Vue, 83% of sites use over 1.5 MB of unused JS, and 100% of Vue sites have a good INP.
On jQuery, 74% of sites use over 1.5 MB of unused JS unused JavaScript bytes, and 95% of jQuery sites have a good LCP, against 97% of all sites. On Vue, 83% of sites use over 1.5 MB of unused JS, and 97% of Vue sites have a good LCP.
Unused JavaScript bytes or the framework
Does the framework explain the unused JavaScript bytes difference?
On jQuery, 100% of sites with 850 KB to 1.5 MB of unused JS unused JavaScript bytes have a good INP, against 99% of jQuery sites with over 1.5 MB of unused JS. Within jQuery, sites with 850 KB to 1.5 MB of unused JS and over 1.5 MB of unused JS have a good INP about equally often.
On jQuery, 98% of sites with 850 KB to 1.5 MB of unused JS unused JavaScript bytes have a good LCP, against 95% of jQuery sites with over 1.5 MB of unused JS. Within jQuery, sites with 850 KB to 1.5 MB 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 1,047 sites (12.7%) with 400 to 850 KB of unused JS, 100% pass field INP at an 41ms median, while the 64.0% (5,280) exceeding 1.5 MB of unused JS drop to 99% good INP (64ms 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, 12.7% ship 400 to 850 KB of unused JS (100% good INP, 41ms median) versus 64.0% above 1.5 MB (99% good INP, 64ms median).
By Arjen Karel · 8,246 crawled Shopify sites (3,818 with desktop Chrome field data, 8,245 sites with unused JavaScript bytes, October 2026). How we measured.