HTML document compression on React sites

Brotli (br), Gzip, Zstandard (zstd), or uncompressed HTML: how document compression affects Time to First Byte (453 ms on Brotli vs 1071 ms on Gzip) and Largest Contentful Paint.

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

One in ten React sites, 9.1%, have no HTML compression. Of the 90.9% that do, 78% use Brotli, and 91% of those sites have a good LCP, against 85% of all React sites.

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 9,110 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
1

LCP pass rate

Sites with Brotli HTML compression have a good LCP most often: 91%, against 85% of all React sites. Sites with Zstandard HTML compression have it least often, at 65%.

SitesGood, needs improvement, poor LCPMedian
All React sites9,11085%1.4s
Brotli (br) 70.7%6,41491%1.3s
Uncompressed (none) 9.1%83179%1.5s
Gzip 17.9%1,65265%2.0s
Zstandard (zstd) 2.3%21365%2.0s
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 9,110 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
2

HTML compression usage

Nine in ten React sites uses HTML compression, and four in five of those use Brotli.

All React sites 9,570 sites
HTML compression 90.9%
Sites with HTML compression 8,702 sites
Brotli (br) 77.7% Gzip 19.7%
Brotli (br) 77.7% Gzip 19.7% Zstandard (zstd) 2.6%
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 9,110 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
3

Where HTML compression shows up in the four LCP phases

Across the four LCP sub-parts in Chrome's field data, the largest gap between Brotli and no sits in resource load delay: 450 ms median for Brotli against 368 ms for no. Overall median field LCP is 1.3s for Brotli (TTFB 453 ms, load delay 450 ms, load duration 142 ms, render delay 160 ms) versus 1.5s for no.

Median LCP phase breakdown (Chrome field p75) Load delay Median LCP
All React sites 6,740516 ms439 ms439 mslab 439 ms1.4s
Uncompressed (none) 623526 ms368 ms368 mslab 368 ms1.5s
Zstandard (zstd) 1641019 ms383 ms242 ms383 mslab 383 ms2.0s
Gzip 1,1831071 ms401 ms260 ms401 mslab 401 ms2.0s
Brotli (br) 4,770453 ms450 ms450 mslab 450 ms1.3s
TTFB Resource load delay Resource load time Element render delay
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 9,110 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
4

HTML compression per platform

Wix sets the HTML compression to Brotli on 97% of its sites, and 94% of Wix sites have a good LCP, against 85% of all sites.

PlatformHTML compression on its sitesGood LCP
All React sites 9,570 sitesBrotli (br) 71%Gzip 18%85%
Wix 5,824 sitesBrotli (br) 97%94%
WordPress 2,342 sitesGzip 48%Brotli (br) 36%61%
Brotli (br) Gzip Uncompressed (none) Zstandard (zstd)
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 9,110 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
5

HTML compression or the platform

Does the platform explain the HTML compression difference?

On Wix, 94% of sites with Brotli HTML compression have a good LCP, against 94% of Wix sites with no. Within Wix, sites with Brotli and no have a good LCP about equally often. On WordPress, 70% of sites with Brotli HTML compression have a good LCP, against 54% of WordPress sites with no. Within WordPress, sites with Brotli have a good LCP more often.

Why Brotli HTML compression speeds up resource discovery

Brotli uses a built-in dictionary of common HTML, CSS, and JavaScript tokens, shrinking HTML documents 15 to 20 percent more than Gzip at comparable CPU cost. Because the browser's preload scanner parses the HTML stream chunk by chunk as it arrives, a smaller compressed document delivers the <head> and hero <img> markup in fewer TCP or QUIC packets. Sites serving Brotli HTML record a 453 ms median TTFB and 1.3s median LCP, compared with 1071 ms TTFB and 2.0s LCP on Gzip.

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 9,110 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
6

Understanding HTML document compression

Enable Brotli (br) compression on your HTML responses and keep Gzip as a fallback. Across all audited sites, 70.7% serve Brotli-compressed HTML and reach 91% good LCP (1.3s median), beating Gzip (17.9% of sites, 65% good LCP) and uncompressed HTML (9.1% of sites, 79% good LCP). For dynamic HTML generated on the fly, Brotli quality level 4 or 5 compresses faster AND smaller than Gzip level 6 without adding server CPU delay.

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 9,110 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
Related signals HTTP protocol mix → Connection hints → Cache strategy mix → Uncompressed text responses → By Arjen Karel · 9,570 crawled React sites (9,110 with all devices Chrome field data, October 2026) · How we measured