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 · Desktop 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.1s
Best FCP (p75)
Google Cloud CDN
The State of Web Vitals · October 2026 · React sites (9,570) · desktop field datacorewebvitals.io/state-of-cwv
2

The ranking sorted by FCP at p75, fastest first

# Provider FCP p75 Passing Sites
1 Google Cloud CDN 1.1s 86.3%
6,456
2 CloudFront 1.5s 80.1%
7,234
3 Fastly 1.6s 78.4%
7,837
4 Vercel Edge 1.8s 74.2%
93
5 Akamai 1.8s 73.2%
223
6 Cloudflare 2.0s 70.5%
3,558
7 jsDelivr 2.0s 64.8%
281
8 Bunny CDN 2.1s 66.7%
366
9 Netlify Edge 2.3s 66.7%
79
10 cdnjs 2.3s 57.8%
386
11 unpkg 2.5s 55.4%
239
The State of Web Vitals · October 2026 · React sites (9,570) · desktop field datacorewebvitals.io/state-of-cwv
3

Passing FCP per CDN which group passes the FCP most often

CDNSitesPassing FCPp75
Imperva/Incapsula 0.2% 15 100% 1.3s
KeyCDN 0.3% 24 89% 1.7s
Google Cloud CDN 67.5% 6,456 86% 1.1s
CloudFront 75.6% 7,234 80% 1.5s
Fastly 81.9% 7,837 78% 1.6s
Vercel Edge 1% 93 74% 1.8s
Akamai 2.3% 223 73% 1.8s
Cloudflare 37.2% 3,558 71% 2.0s
Bunny CDN 3.8% 366 67% 2.1s
Netlify Edge 0.8% 79 67% 2.3s
Azure CDN 0.3% 32 67% 1.8s
jsDelivr 2.9% 281 65% 2.0s
cdnjs 4% 386 58% 2.3s
unpkg 2.5% 239 55% 2.5s
Good Needs Improvement Poor Sorted best-passing first · median colored by its own rating · pass = good FCP (1.8s at p75) · one value per site

86% of Google Cloud CDN sites pass FCP. Unpkg trails 31 points behind, leaving 45% of its sites failing. computed

The State of Web Vitals · October 2026 · React sites (9,570) · desktop 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%
802.2s
9967ms
810.07
781.6s
561.4s
CloudFront 75.6%
812.2s
9966ms
830.06
801.5s
581.4s
Google Cloud CDN 67.5%
871.9s
10061ms
890.03
861.1s
651.2s
Cloudflare 37.2%
752.5s
9974ms
730.12
712.0s
471.7s
cdnjs 4%
663.0s
9978ms
660.16
582.3s
421.9s
Bunny CDN 3.8%
732.6s
9881ms
640.18
672.1s
461.7s
jsDelivr 2.9%
752.4s
9878ms
620.19
652.0s
451.6s
unpkg 2.5%
663.0s
10068ms
630.16
552.5s
342.0s
Akamai 2.3%
772.3s
9984ms
680.17
731.8s
521.4s
Vercel Edge 1%
772.1s
9690ms
710.15
741.8s
671.3s
Netlify Edge 0.8%
672.7s
10086ms
670.14
672.3s
501.8s
Azure CDN 0.3%
862.2s
10070ms
800.09
671.8s
501.4s
KeyCDN 0.3%
782.1s
10068ms
330.24
891.7s
71893ms
Imperva/Incapsula 0.2%
752.1s
10064ms
750.11
1001.3s
501.2s
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 FCP: 86% of its sites pass. unpkg trails at 55%. computed

The State of Web Vitals · October 2026 · React sites (9,570) · desktop 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