Image hosting origins on React sites

32.4% of audited sites (3,095) serve images from their own origin (72% good LCP, 1.8s median), 93.7% load images from external domains or CDNs (79% good LCP), and 32.0% inline base64 data-URI images (78% good LCP, 1.6s median).

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 →

93.7% of React sites use cross-origin images image hosting origin, and 79% 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,561 sites with image hosting originBy Arjen Karel · corewebvitals.io/state-of-cwv
1

LCP pass rate

Sites with cross-origin images image hosting origin have a good LCP most often: 79%, against 79% of all React sites. Sites with same-origin images image origin have it least often, at 72%.

SitesGood, needs improvement, poor LCPMedian
All React sites1,97979%1.5s
Cross-origin / external CDN 93.7%1,81279%1.5s
Inline data: URI images 32.0%60778%1.6s
Same-origin (self-hosted) 32.4%1,08372%1.8s
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,561 sites with image hosting originBy Arjen Karel · corewebvitals.io/state-of-cwv
2

Image hosting origin usage

Cross-origin images is the most used: 93.7% of React sites.

Sites using each option (sites can use more than one) 9,561 sites
Cross-origin / external CDN 93.7% Same-origin (self-hosted) 32.4% Inline data: URI images 32.0%
Cross-origin / external CDN 93.7% Same-origin (self-hosted) 32.4% Inline data: URI images 32.0%
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field data · 9,561 sites with image hosting originBy Arjen Karel · corewebvitals.io/state-of-cwv
3

LCP phase breakdown by image hosting source

Across the four LCP sub-parts in Chrome's field data, the largest gap between cross-origin images and same-origin images sits in time to first byte (TTFB): 696 ms median for cross-origin images against 945 ms for same-origin images. Overall median field LCP is 1.6s for cross-origin images (TTFB 696 ms, load delay 417 ms, load duration 145 ms, render delay 191 ms) versus 1.8s for same-origin images.

Median LCP phase breakdown (Chrome field p75) Load delay Median LCP
React sites with image hosting origin 1,324703 ms413 ms192 ms413 mslab 429 ms1.6s
Same-origin (self-hosted) 837945 ms353 ms246 ms353 mslab 379 ms1.8s
Cross-origin / external CDN 1,209696 ms417 ms191 ms417 mslab 431 ms1.6s
Inline data: URI images 401734 ms460 ms194 ms460 mslab 445 ms1.6s
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,561 sites with image hosting originBy Arjen Karel · corewebvitals.io/state-of-cwv
4

Image hosting origin per platform

Wix sets the image hosting origin to cross-origin images on 100% of its sites, and 92% of Wix sites have a good LCP, against 79% of all sites. WordPress sets the image hosting origin to same-origin images on 98% of its sites, and 66% of WordPress sites have a good LCP.

PlatformImage hosting origin on its sitesGood LCP
React sites with image hosting origin 9,561 sitesCross-origin / external CDN 94%Same-origin (self-hosted) 32%Inline data: URI images 32%79%
Wix 5,822 sitesCross-origin / external CDN 100%Inline data: URI images 36%92%
WordPress 2,342 sitesSame-origin (self-hosted) 98%Cross-origin / external CDN 78%Inline data: URI images 23%66%
Cross-origin / external CDN Same-origin (self-hosted) Inline data: URI images
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field data · 9,561 sites with image hosting originBy Arjen Karel · corewebvitals.io/state-of-cwv
5

Image hosting origin or the platform

Does the platform explain the image hosting origin difference?

On Wix, 92% of sites with cross-origin images image hosting origin have a good LCP, against 89% of Wix sites with inline data-URI images. Within Wix, sites with cross-origin images and inline data-URI images have a good LCP about equally often. On WordPress, 65% of sites with cross-origin images image hosting origin have a good LCP, against 66% of WordPress sites with same-origin images. Within WordPress, sites with cross-origin images and same-origin images have a good LCP about equally often.

Why base64 inline data-URI images bloat HTML and delay LCP

Serving images from the same origin (32.4% of sites, 3,095) reuses the primary HTTP/2 or HTTP/3 connection (72% good LCP, 1.8s median). Cross-origin images (93.7%, 79% good LCP) include both dedicated media CDNs and external third-party pixels. Inlining images as base64 data: URIs (32.0% of sites, 3,063) inflates HTML/CSS byte size by ~33% and blocks the parser, dropping good LCP to 78% (1.6s median).

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field data · 9,561 sites with image hosting originBy Arjen Karel · corewebvitals.io/state-of-cwv
6

Understanding image hosting origins

Serve images from your primary origin to share the main connection, or add <link rel="preconnect"> if you use a dedicated cross-origin image CDN, and avoid base64 data: URIs for anything larger than tiny CSS icons. Across all audited sites, 32.4% use same-origin images (72% good LCP) while 32.0% inline data: URIs (78% good LCP).

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field data · 9,561 sites with image hosting originBy Arjen Karel · corewebvitals.io/state-of-cwv
Related signals Bytes by resource type → Images per page → DOM size → Iframes per page → By Arjen Karel · 9,570 crawled React sites (1,979 with desktop Chrome field data, 9,561 sites with image hosting origin, October 2026) · How we measured