Unused JavaScript bytes on React sites
67.5% of audited sites (6,461) ship over 1.5 MB of unused JavaScript during initial load, pushing median INP to 51ms (99% good INP) versus 48ms (100% good INP) at 400 to 850 KB.
25.5% of React 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 React sites.
25.5% of React sites use 850 KB to 1.5 MB of unused JS unused JavaScript bytes, and 88% of those sites have a good LCP, against 79% of all React 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 React 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: 88%, against 79% of all React sites. Sites with over 1.5 MB of unused JS unused JS have it least often, at 76%.
Unused JavaScript bytes usage
Over 1.5 MB of unused JS is the most used: 67.5% of React sites. 850 KB to 1.5 MB of unused JS is 25.5% of React sites.
Unused JavaScript bytes per platform
On Wix, 72% of sites use over 1.5 MB of unused JS unused JavaScript bytes, and 100% of Wix sites have a good INP, against 99% of all sites. On WordPress, 64% of sites use over 1.5 MB of unused JS, and 100% of WordPress sites have a good INP.
On Wix, 72% of sites use over 1.5 MB of unused JS unused JavaScript bytes, and 92% of Wix sites have a good LCP, against 79% of all sites. On WordPress, 64% of sites use over 1.5 MB of unused JS, and 66% of WordPress sites have a good LCP.
Unused JavaScript bytes or the platform
Does the platform explain the unused JavaScript bytes difference?
On Wix, 100% of sites with 850 KB to 1.5 MB of unused JS unused JavaScript bytes have a good INP, against 100% of Wix sites with over 1.5 MB of unused JS. Within Wix, 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 WordPress, 100% of sites with 850 KB to 1.5 MB 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 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 Wix, 98% of sites with 850 KB to 1.5 MB of unused JS unused JavaScript bytes have a good LCP, against 91% of Wix sites with over 1.5 MB of unused JS. Within Wix, sites with 850 KB to 1.5 MB of unused JS have a good LCP more often. On WordPress, 77% of sites with 850 KB to 1.5 MB of unused JS unused JavaScript bytes have a good LCP, against 61% of WordPress sites with over 1.5 MB of unused JS. Within WordPress, sites with 850 KB to 1.5 MB of unused JS have a good LCP more often.
How dead JavaScript code still blocks the main thread
The browser cannot skip parsing or compiling unused functions inside a downloaded bundle. Across 544 sites (5.7%) with 400 to 850 KB of unused JS, 100% pass field INP at an 48ms median, while the 67.5% (6,461) exceeding 1.5 MB of unused JS drop to 99% good INP (51ms 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, 5.7% ship 400 to 850 KB of unused JS (100% good INP, 48ms median) versus 67.5% above 1.5 MB (99% good INP, 51ms median).
By Arjen Karel · 9,570 crawled React sites (1,979 with desktop Chrome field data, October 2026). How we measured.