HTML document compression on React sites

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

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 →

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 84% of all React sites.

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 5,488 with phone 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 84% of all React sites. Sites with Zstandard HTML compression have it least often, at 64%.

SitesGood, needs improvement, poor LCPMedian
All React sites5,48884%1.4s
Brotli (br) 70.7%3,74491%1.2s
Uncompressed (none) 9.1%52278%1.5s
Gzip 17.9%1,08167%2.0s
Zstandard (zstd) 2.3%14164%2.1s
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 5,488 with phone 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 · 5,488 with phone 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 time to first byte (TTFB): 437 ms median for Brotli against 545 ms for no. Overall median field LCP is 1.2s for Brotli (TTFB 437 ms, load delay 441 ms, load duration 118 ms, render delay 160 ms) versus 1.5s for no.

Median LCP phase breakdown (Chrome field p75) Load delay Median LCP
All React sites 4,169502 ms433 ms433 mslab 439 ms1.4s
Zstandard (zstd) 1111042 ms342 ms271 ms342 mslab 353 ms2.0s
Uncompressed (none) 389545 ms381 ms381 mslab 372 ms1.5s
Gzip 7991034 ms431 ms255 ms431 mslab 413 ms2.0s
Brotli (br) 2,870437 ms441 ms441 mslab 450 ms1.2s
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 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 84% of all sites.

PlatformHTML compression on its sitesGood LCP
All React sites 9,570 sitesBrotli (br) 71%Gzip 18%84%
Wix 5,824 sitesBrotli (br) 97%94%
WordPress 2,342 sitesGzip 48%Brotli (br) 36%63%
Brotli (br) Gzip Uncompressed (none) Zstandard (zstd)
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 5,488 with phone 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 96% of Wix sites with no. Within Wix, sites with Brotli and no have a good LCP about equally often. On WordPress, 71% of sites with Brotli HTML compression have a good LCP, against 57% 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 437 ms median TTFB and 1.2s median LCP, compared with 1034 ms TTFB and 2.0s LCP on Gzip.

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 5,488 with phone 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.2s median), beating Gzip (17.9% of sites, 67% good LCP) and uncompressed HTML (9.1% of sites, 78% 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 · 5,488 with phone 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 (5,488 with phone Chrome field data, October 2026) · How we measured