Total JavaScript payload and the Core Web Vitals

25.4% of audited sites (49,904) transfer over 1 MB of JavaScript. Median field INP climbs from 79ms under 250 KB (95% good INP) to 99ms above 1 MB (92% good INP).

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

24.8% of sites use 250 to 550 KB of JavaScript total JavaScript payload, 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 · 196,339 sites with total JavaScript payloadBy Arjen Karel · corewebvitals.io/state-of-cwv
1

Core Web Vitals pass rate

Sites with 250 to 550 KB of JavaScript total JavaScript payload have a good INP most often: 97%, against 95% of all sites. Sites with over 1 MB of JavaScript JS payload have it least often, at 92%.

SitesGood, needs improvement, poor INPMedian
All sites196,26395%87ms
250 to 550 KB 24.8%46,92797%83ms
550 KB to 1 MB 24.8%46,94397%87ms
Under 250 KB 25.0%46,60195%79ms
Over 1 MB 25.4%48,51692%99ms
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · 210,902 crawled sites · 196,263 with all devices field data · 196,339 sites with total JavaScript payloadBy Arjen Karel · corewebvitals.io/state-of-cwv
2

Total JavaScript payload usage

Over 1 MB of JavaScript is the most used: 25.4% of sites. 250 to 550 KB of JavaScript is 24.8% of sites.

Over 1 MB 25.4% Under 250 KB 25.0% 250 to 550 KB 24.8% 550 KB to 1 MB 24.8%
Over 1 MB 25.4% Under 250 KB 25.0% 250 to 550 KB 24.8% 550 KB to 1 MB 24.8%
The State of Web Vitals · October 2026 · 210,902 crawled sites · 196,263 with all devices field data · 196,339 sites with total JavaScript payloadBy Arjen Karel · corewebvitals.io/state-of-cwv
3

Understanding total JavaScript payload

Why total script weight taxes main-thread responsiveness

Every kilobyte of JavaScript downloaded over the network must be decompressed, parsed, compiled, and evaluated on the CPU. Across 48,765 sites (24.8%) shipping 250 to 550 KB of scripts, 97% pass field INP at an 83ms median, whereas the 25.4% (49,904) shipping over 1 MB drop to 92% good INP (99ms median).

Keep total JavaScript transfer below 550 KB by route-splitting framework bundles, auditing tag-manager containers, and loading interactive widgets on demand. Across all audited sites, 24.8% transfer 250 to 550 KB (97% good INP, 83ms median) versus 25.4% above 1 MB (92% good INP, 99ms median).

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

How total JavaScript payload plays out per platform

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

WordPress 65,484 sites
79ms vs 93ms median INP (< 250 KB vs > 1 MB)

24% of WordPress sites ship over 1 MB of JavaScript (93ms median INP vs 79ms under 250 KB).

Across WordPress sites, 24% transfer over 1 MB of scripts (93ms median INP, 97% pass rate) and 21% transfer under 250 KB (79ms median INP, 98% pass rate).

Explore WordPress script payload data →
Shopify 8,573 sites
99% vs 94% good INP (250-550 KB vs > 1 MB)

58% of Shopify stores transfer over 1 MB of JavaScript (94% good INP vs 99% at 250 to 550 KB).

Across Shopify storefronts, 58% load more than 1 MB of scripts (94% good INP, 110ms median) compared with 99% (80ms median) on stores transferring 250 to 550 KB.

Explore Shopify script payload data →
React 9,570 sites
89% sites shipping > 550 KB of JS

89% of React sites ship over 550 KB of JavaScript bundles.

Across React sites, 45% transfer 550 KB to 1 MB of JavaScript (97% INP pass rate, 73ms median) and 44% exceed 1 MB (94% pass rate, 87ms median).

Explore React script payload data →
Related signals DOM size → Page weight & requests → Image source mix → Stylesheet loading mix → By Arjen Karel · 210,902 crawled sites (196,263 with all devices Chrome field data, 196,339 sites with total JavaScript payload, October 2026) · How we measured