CDN impact React sites

Time to first byte by CDN provider, measured in real-user Chrome data.

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

At a glance the headline numbers for CDN impact

Time to first byte by CDN provider, measured in real-user Chrome data.

11
Providers ranked
After min-sites filter
26,752
Sites in sample
Combined across all items
1.7s
Best LCP (p75)
Google Cloud CDN
The State of Web Vitals · October 2026 · React sites (9,570) · phone field datacorewebvitals.io/state-of-cwv
2

The ranking sorted by LCP at p75, fastest first

# Provider LCP p75 Passing Sites
1 Google Cloud CDN 1.7s 91.8%
6,456
2 CloudFront 1.8s 88.8%
7,234
3 Fastly 1.9s 87.0%
7,837
4 Vercel Edge 2.2s 75.9%
93
5 Cloudflare 2.4s 76.6%
3,558
6 Netlify Edge 2.4s 79.0%
79
7 Akamai 2.6s 70.5%
223
8 jsDelivr 2.7s 68.9%
281
9 Bunny CDN 2.8s 68.5%
366
10 cdnjs 3.0s 62.9%
386
11 unpkg 3.1s 56.4%
239
The State of Web Vitals · October 2026 · React sites (9,570) · phone field datacorewebvitals.io/state-of-cwv
3

Passing LCP per CDN which group passes the LCP most often

CDNSitesPassing LCPp75
Google Cloud CDN 67.5% 6,456 92% 1.7s
CloudFront 75.6% 7,234 89% 1.8s
Fastly 81.9% 7,837 87% 1.9s
Netlify Edge 0.8% 79 79% 2.4s
Cloudflare 37.2% 3,558 77% 2.4s
Vercel Edge 1% 93 76% 2.2s
KeyCDN 0.3% 24 71% 3.2s
Akamai 2.3% 223 71% 2.6s
Azure CDN 0.3% 32 70% 2.6s
Imperva/Incapsula 0.2% 15 70% 2.4s
jsDelivr 2.9% 281 69% 2.7s
Bunny CDN 3.8% 366 69% 2.8s
cdnjs 4% 386 63% 3.0s
unpkg 2.5% 239 56% 3.1s
Good Needs Improvement Poor Sorted best-passing first · median colored by its own rating · pass = good LCP (2.5s at p75) · one value per site

92% of Google Cloud CDN sites pass LCP. Unpkg trails 36 points behind, leaving 44% of its sites failing. computed

The State of Web Vitals · October 2026 · React sites (9,570) · phone field datacorewebvitals.io/state-of-cwv
4

All five vitals at once the whole category without toggling - cell is the pass rate, small number the p75

LCP
INP
CLS
FCP
TTFB
Fastly 81.9%
871.9s
93120ms
930.00
851.4s
75807ms
CloudFront 75.6%
891.8s
94115ms
940.00
871.3s
78727ms
Google Cloud CDN 67.5%
921.7s
94109ms
960.00
911.2s
82631ms
Cloudflare 37.2%
772.4s
89144ms
870.02
731.9s
591.3s
cdnjs 4%
633.0s
91154ms
820.07
562.4s
421.8s
Bunny CDN 3.8%
692.8s
89144ms
850.07
642.3s
451.7s
jsDelivr 2.9%
692.7s
82171ms
750.11
612.1s
471.6s
unpkg 2.5%
563.1s
83167ms
740.11
502.5s
401.9s
Akamai 2.3%
712.6s
85163ms
830.05
622.0s
471.5s
Vercel Edge 1%
762.2s
83165ms
760.04
711.9s
691.1s
Netlify Edge 0.8%
792.4s
18777ms
130.33
861.5s
71.2s
Azure CDN 0.3%
702.6s
77169ms
800.04
702.1s
501.0s
KeyCDN 0.3%
713.2s
91171ms
640.19
573.2s
392.0s
Imperva/Incapsula 0.2%
702.4s
100130ms
700.09
801.7s
60972ms
60%95%+ passing Cell: pass rate, small number = p75 · faded rows: under 100 sites

One row per CDN, one column per vital - the cell is the share of sites passing, the small number the p75. No toggling needed to see where the category actually differs.

Google Cloud CDN leads on LCP: 92% of its sites pass. unpkg trails at 56%. computed

The State of Web Vitals · October 2026 · React sites (9,570) · phone field datacorewebvitals.io/state-of-cwv
Related signals Marketing pixels (10) → Bot detection (8) → Forms (4) → Personalization (6) → 210,902 crawled sites with Chrome field data, representing millions of real page loads · How we measured