Unused CSS bytes on React sites

22.4% of audited sites (2,142) parse over 600 KB of unused CSS rules before first paint, passing LCP at 66% (2.0s median) compared with 93% (1.1s median) under 140 KB.

Field data PhoneDesktopAll Scope All sites October 2026 edition · Phone field outcomes · React sites only
React Scoped to 9,570 sites out of 210,902 analyzed (frameworks) Compare with all sites →

27.7% of React sites use under 140 KB of unused CSS unused CSS bytes, and 93% of those sites have a good LCP, against 84% of all React sites.

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 5,488 with phone field data · 9,567 sites with unused CSS bytesBy Arjen Karel · corewebvitals.io/state-of-cwv
1

LCP pass rate

Sites with under 140 KB of unused CSS unused CSS bytes have a good LCP most often: 93%, against 84% of all React sites. Sites with over 600 KB of unused CSS unused CSS have it least often, at 66%.

SitesGood, needs improvement, poor LCPMedian
All React sites5,48884%1.4s
Under 140 KB unused 27.7%1,49293%1.1s
140 to 300 KB unused 24.4%1,30892%1.2s
300 to 600 KB unused 25.5%1,40083%1.6s
Over 600 KB unused 22.4%1,28666%2.0s
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 5,488 with phone field data · 9,567 sites with unused CSS bytesBy Arjen Karel · corewebvitals.io/state-of-cwv
2

Unused CSS bytes usage

Under 140 KB of unused CSS is the most used: 27.7% of React sites.

Under 140 KB unused 27.7% 300 to 600 KB unused 25.5% 140 to 300 KB unused 24.4% Over 600 KB unused 22.4%
Under 140 KB unused 27.7% 300 to 600 KB unused 25.5% 140 to 300 KB unused 24.4% Over 600 KB unused 22.4%
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 5,488 with phone field data · 9,567 sites with unused CSS bytesBy Arjen Karel · corewebvitals.io/state-of-cwv
3

The four LCP phases

Across the four LCP sub-parts in Chrome's field data, the largest gap between under 140 KB of unused CSS and over 600 KB of unused CSS sits in time to first byte (TTFB): 416 ms median for under 140 KB of unused CSS against 937 ms for over 600 KB of unused CSS. Overall median field LCP is 1.1s for under 140 KB of unused CSS (TTFB 416 ms, load delay 359 ms, load duration 116 ms, render delay 165 ms) versus 2.0s for over 600 KB of unused CSS.

Median LCP phase breakdown (Chrome field p75) Load delay Median LCP
React sites with unused CSS bytes 4,168502 ms433 ms433 mslab 439 ms1.4s
Under 140 KB unused 1,120416 ms359 ms359 mslab 364 ms1.1s
140 to 300 KB unused 991429 ms422 ms422 mslab 431 ms1.2s
300 to 600 KB unused 1,047560 ms467 ms467 mslab 465 ms1.5s
Over 600 KB unused 1,010937 ms518 ms229 ms518 mslab 518 ms2.0s
TTFB Resource load delay Resource load time Element render delay
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 5,488 with phone field data · 9,567 sites with unused CSS bytesBy Arjen Karel · corewebvitals.io/state-of-cwv
4

Unused CSS bytes per platform

On Wix, 33% of sites use under 140 KB of unused CSS unused CSS bytes, and 94% of Wix sites have a good LCP, against 84% of all sites. On WordPress, 52% of sites use over 600 KB of unused CSS, and 63% of WordPress sites have a good LCP.

PlatformUnused CSS bytes on its sitesGood LCP
React sites with unused CSS bytes 9,567 sitesUnder 140 KB unused 28%300 to 600 KB unused 26%140 to 300 KB unused 24%Over 600 KB unused 22%84%
Wix 5,824 sitesUnder 140 KB unused 33%140 to 300 KB unused 31%300 to 600 KB unused 24%Over 600 KB unused 11%94%
WordPress 2,342 sitesOver 600 KB unused 52%300 to 600 KB unused 30%140 to 300 KB unused 12%63%
Under 140 KB unused 300 to 600 KB unused 140 to 300 KB unused Over 600 KB unused
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 5,488 with phone field data · 9,567 sites with unused CSS bytesBy Arjen Karel · corewebvitals.io/state-of-cwv
5

Unused CSS bytes or the platform

Does the platform explain the unused CSS bytes difference?

On Wix, 96% of sites with under 140 KB of unused CSS unused CSS bytes have a good LCP, against 92% of Wix sites with 300 to 600 KB of unused CSS. Within Wix, sites with under 140 KB of unused CSS have a good LCP more often. On WordPress, 76% of sites with under 140 KB of unused CSS unused CSS bytes have a good LCP, against 68% of WordPress sites with 300 to 600 KB of unused CSS. Within WordPress, sites with under 140 KB of unused CSS and 300 to 600 KB of unused CSS have a good LCP about equally often.

Why unused CSS slows both network transfer and style calculation

Browsers must match every selector in the CSSOM against the DOM tree during layout and style recalculation. Across 2,649 sites (27.7%) with under 140 KB of unused CSS, 93% pass field LCP at a 1.1s median, whereas the 22.4% (2,142) over 600 KB drop to 66% good LCP (2.0s median).

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 5,488 with phone field data · 9,567 sites with unused CSS bytesBy Arjen Karel · corewebvitals.io/state-of-cwv
6

Understanding unused CSS bytes

Compile per-template CSS or run PurgeCSS/Tailwind content scanning so pages do not block first paint on hundreds of kilobytes of unreferenced selectors. Across all audited sites, 27.7% stay under 140 KB of unused CSS (93% good LCP, 1.1s median) versus 22.4% above 600 KB (66% good LCP, 2.0s median).

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 5,488 with phone field data · 9,567 sites with unused CSS bytesBy Arjen Karel · corewebvitals.io/state-of-cwv
Related signals Iframes per page → Image fetchpriority → Responsive image markup → Script coverage (used vs unused) → By Arjen Karel · 9,570 crawled React sites (5,488 with phone Chrome field data, 9,567 sites with unused CSS bytes, October 2026) · How we measured