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 65% (2.0s median) compared with 92% (1.2s median) under 140 KB.

Field data PhoneDesktopAll Scope All sites October 2026 edition · Desktop 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 92% of those sites have a good LCP, against 79% of all React sites.

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop 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: 92%, against 79% of all React sites. Sites with over 600 KB of unused CSS unused CSS have it least often, at 65%.

SitesGood, needs improvement, poor LCPMedian
All React sites1,97979%1.5s
Under 140 KB unused 27.7%35692%1.2s
140 to 300 KB unused 24.4%40788%1.3s
300 to 600 KB unused 25.5%55680%1.6s
Over 600 KB unused 22.4%65865%2.0s
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop 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 · 1,979 with desktop 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): 311 ms median for under 140 KB of unused CSS against 1055 ms for over 600 KB of unused CSS. Overall median field LCP is 1.2s for under 140 KB of unused CSS (TTFB 311 ms, load delay 390 ms, load duration 160 ms, render delay 157 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 1,323706 ms413 ms413 mslab 429 ms1.6s
Under 140 KB unused 204311 ms390 ms390 mslab 357 ms1.2s
300 to 600 KB unused 372841 ms393 ms393 mslab 428 ms1.7s
140 to 300 KB unused 251436 ms408 ms408 mslab 405 ms1.3s
Over 600 KB unused 4961055 ms465 ms236 ms465 mslab 493 ms2.0s
TTFB Resource load delay Resource load time Element render delay
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop 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 92% of Wix sites have a good LCP, against 79% of all sites. On WordPress, 52% of sites use over 600 KB of unused CSS, and 66% 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%79%
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%92%
WordPress 2,342 sitesOver 600 KB unused 52%300 to 600 KB unused 30%140 to 300 KB unused 12%66%
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 · 1,979 with desktop 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, 99% of sites with under 140 KB of unused CSS unused CSS bytes have a good LCP, against 88% 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, 72% of sites with 300 to 600 KB of unused CSS unused CSS bytes have a good LCP, against 76% of WordPress sites with 140 to 300 KB of unused CSS. Within WordPress, sites with 300 to 600 KB of unused CSS and 140 to 300 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, 92% pass field LCP at a 1.2s median, whereas the 22.4% (2,142) over 600 KB drop to 65% good LCP (2.0s median).

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop 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 (92% good LCP, 1.2s median) versus 22.4% above 600 KB (65% good LCP, 2.0s median).

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop 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 (1,979 with desktop Chrome field data, 9,567 sites with unused CSS bytes, October 2026) · How we measured