Subresource compression algorithms on React sites

97.7% of audited sites (9,353) serve Gzip-compressed subresources (84% good LCP), 91.1% serve Brotli (85% good LCP), 41.3% serve Zstandard (76% good LCP), and the 0.5% adopting Dictionary-Compressed Brotli (dcb) reach 94% good LCP (1.3s median).

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 →

91.1% of React sites use Brotli compression subresource HTTP compression, and 85% 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 compression subresource HTTP compression have a good LCP most often: 85%, against 84% of all React sites. Sites with Zstandard (zstd) compression subresource compression have it least often, at 76%.

SitesGood, needs improvement, poor LCPMedian
All React sites5,48884%1.4s
Dictionary-Compressed Brotli (dcb) 0.5%3594%1.3s
Brotli (Content-Encoding: br) 91.1%4,99285%1.4s
Gzip (Content-Encoding: gzip) 97.7%5,35884%1.4s
Unencoded binary assets (images / WOFF2) 99.9%5,48784%1.4s
Zstandard (Content-Encoding: zstd) 41.3%2,24076%1.7s
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

Subresource HTTP compression usage

Unencoded binary assets is the most used: 99.9% of React sites. Brotli compression is 91.1% of React sites.

Sites using each option (sites can use more than one) 9,570 sites
Unencoded binary assets (images / WOFF2) 99.9% Gzip (Content-Encoding: gzip) 97.7% Brotli (Content-Encoding: br) 91.1% Zstandard (Content-Encoding: zstd) 41.3%
Unencoded binary assets (images / WOFF2) 99.9% Gzip (Content-Encoding: gzip) 97.7% Brotli (Content-Encoding: br) 91.1% Zstandard (Content-Encoding: zstd) 41.3% Dictionary-Compressed Brotli (dcb) 0.5%
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

LCP phase breakdown by subresource compression algorithm

Across the four LCP sub-parts in Chrome's field data, the largest gap between Brotli compression and Zstandard (zstd) compression sits in time to first byte (TTFB): 481 ms median for Brotli compression against 685 ms for Zstandard (zstd) compression. Overall median field LCP is 1.4s for Brotli compression (TTFB 481 ms, load delay 439 ms, load duration 129 ms, render delay 176 ms) versus 1.7s for Zstandard (zstd) compression.

Median LCP phase breakdown (Chrome field p75) Load delay Median LCP
All React sites 4,169502 ms433 ms180 ms433 mslab 439 ms1.4s
Gzip (Content-Encoding: gzip) 4,076495 ms433 ms179 ms433 mslab 440 ms1.4s
Unencoded binary assets (images / WOFF2) 4,168502 ms433 ms180 ms433 mslab 439 ms1.4s
Brotli (Content-Encoding: br) 3,813481 ms439 ms176 ms439 mslab 446 ms1.4s
Zstandard (Content-Encoding: zstd) 1,734685 ms445 ms213 ms445 mslab 448 ms1.7s
Dictionary-Compressed Brotli (dcb) 32353 ms635 ms165 ms304 ms635 mslab 635 ms1.3s
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

Subresource HTTP compression per platform

Wix sets the subresource HTTP compression to Brotli compression on 100% of its sites, and 94% of Wix sites have a good LCP, against 84% of all sites. WordPress sets the subresource HTTP compression to unencoded binary assets on 100% of its sites, and 63% of WordPress sites have a good LCP.

PlatformSubresource HTTP compression on its sitesGood LCP
All React sites 9,570 sitesUnencoded binary assets (images / WOFF2) 100%Gzip (Content-Encoding: gzip) 98%Brotli (Content-Encoding: br) 91%Zstandard (Content-Encoding: zstd) 41%84%
Wix 5,824 sitesGzip (Content-Encoding: gzip) 100%Unencoded binary assets (images / WOFF2) 100%Brotli (Content-Encoding: br) 100%Zstandard (Content-Encoding: zstd) 32%94%
WordPress 2,342 sitesUnencoded binary assets (images / WOFF2) 100%Gzip (Content-Encoding: gzip) 93%Brotli (Content-Encoding: br) 80%Zstandard (Content-Encoding: zstd) 60%63%
Unencoded binary assets (images / WOFF2) Gzip (Content-Encoding: gzip) Brotli (Content-Encoding: br) Zstandard (Content-Encoding: zstd) Dictionary-Compressed Brotli (dcb)
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

Subresource compression or the platform

Does the platform explain the subresource HTTP compression difference?

On Wix, 94% of sites with Brotli compression subresource HTTP compression have a good LCP, against 94% of Wix sites with unencoded binary assets. Within Wix, sites with Brotli compression and unencoded binary assets have a good LCP about equally often. On WordPress, 62% of sites with Brotli compression subresource HTTP compression have a good LCP, against 63% of WordPress sites with unencoded binary assets. Within WordPress, sites with Brotli compression and unencoded binary assets have a good LCP about equally often.

Brotli, Zstandard (zstd), and Dictionary-Compressed Brotli (dcb) across page subresources

Nearly every page (99.9%) transfers pre-compressed binary formats like WebP, AVIF, and WOFF2 without extra Content-Encoding. For text subresources (JS, CSS, SVG, JSON), 97.7% of sites use Gzip (84% good LCP, 1.4s median), 91.1% use Brotli (85% good LCP), 41.3% include Zstandard responses (76% good LCP, often from Meta/Google third-party scripts), and 0.5% (47 sites, led by Shopify/Cloudflare) use shared-dictionary Brotli (dcb) to achieve 94% good LCP (1.3s median).

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 subresource compression algorithms

Enable Brotli (br) and Zstandard (zstd) at your CDN edge for all text-based subresources (text/css, application/javascript, image/svg+xml, application/json) to shrink transfer size by 15% to 25% over Gzip. Across all audited sites, 91.1% serve Brotli subresources (85% good LCP) and 0.5% serve Dictionary-Compressed Brotli (94% good LCP).

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 Scripts per page → Stylesheet origin (1P/3P) → DOM depth → Responsive image markup → By Arjen Karel · 9,570 crawled React sites (5,488 with phone Chrome field data, October 2026) · How we measured