CDN impact
Time to first byte by CDN provider, measured in real-user Chrome data.
1
At a glance the headline numbers for CDN impact
Time to first byte by CDN provider, measured in real-user Chrome data.
15
Providers ranked
After min-sites filter
347,010
Sites in sample
Combined across all items
2.0s
Best LCP (p75)
KeyCDN
The State of Web Vitals · October 2026 · 210,902 crawled sites · phone field datacorewebvitals.io/state-of-cwv
2
The ranking sorted by LCP at p75, fastest first
| # | Provider | LCP p75 | Passing | Sites | |
|---|---|---|---|---|---|
| 1 | KeyCDN | 2.0s | 86.6% | 1,307 | |
| 2 | Google Cloud CDN | 2.1s | 84.1% | 34,465 | |
| 3 | jsDelivr | 2.2s | 81.6% | 14,565 | |
| 4 | Bunny CDN | 2.2s | 81.3% | 19,200 | |
| 5 | Fastly | 2.2s | 81.2% | 90,115 | |
| 6 | cdnjs | 2.3s | 80.5% | 18,880 | |
| 7 | Cloudflare | 2.3s | 80.4% | 91,586 | |
| 8 | Azure CDN | 2.3s | 80.2% | 907 | |
| 9 | CloudFront | 2.3s | 80.1% | 56,531 | |
| 10 | Akamai | 2.3s | 78.8% | 8,164 | |
| 11 | Vercel Edge | 2.4s | 78.7% | 3,180 | |
| 12 | Imperva/Incapsula | 2.5s | 75.6% | 523 | |
| 13 | unpkg | 2.5s | 74.7% | 6,211 | |
| 14 | Netlify Edge | 2.6s | 72.0% | 1,165 | |
| 15 | Sucuri | 2.8s | 67.8% | 211 |
The State of Web Vitals · October 2026 · 210,902 crawled sites · phone field datacorewebvitals.io/state-of-cwv
3
Passing LCP per CDN which group passes the LCP most often
CDNSitesPassing LCPp75
KeyCDN 0.6% 1,307 2.0s
Google Cloud CDN 16.3% 34,465 2.1s
jsDelivr 6.9% 14,565 2.2s
Bunny CDN 9.1% 19,200 2.2s
Fastly 42.7% 90,115 2.2s
cdnjs 9% 18,880 2.3s
Cloudflare 43.4% 91,586 2.3s
Azure CDN 0.4% 907 2.3s
CloudFront 26.8% 56,531 2.3s
Akamai 3.9% 8,164 2.3s
Vercel Edge 1.5% 3,180 2.4s
Imperva/Incapsula 0.2% 523 2.5s
unpkg 2.9% 6,211 2.5s
Netlify Edge 0.6% 1,165 2.6s
Sucuri 0.1% 211 2.8s
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
87% of KeyCDN sites pass LCP. Sucuri trails 19 points behind, leaving 32% of its sites failing. computed
The State of Web Vitals · October 2026 · 210,902 crawled sites · 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
Cloudflare 43.4%
802.3s
91137ms
870.03
741.8s
601.2s
Fastly 42.7%
812.2s
91139ms
860.03
761.8s
611.1s
CloudFront 26.8%
802.3s
90145ms
850.04
751.8s
611.1s
Google Cloud CDN 16.3%
842.1s
90145ms
880.03
811.6s
72860ms
Bunny CDN 9.1%
812.2s
93133ms
880.03
751.8s
591.2s
cdnjs 9%
812.3s
93132ms
870.03
741.8s
601.2s
jsDelivr 6.9%
822.2s
92137ms
870.03
761.8s
611.1s
Akamai 3.9%
792.3s
92137ms
860.03
741.8s
551.2s
unpkg 2.9%
752.5s
90144ms
850.04
672.1s
531.3s
Vercel Edge 1.5%
792.4s
85166ms
840.05
761.8s
78727ms
KeyCDN 0.6%
872.0s
91148ms
890.04
841.5s
74819ms
Netlify Edge 0.6%
722.6s
77192ms
750.11
721.9s
531.1s
Azure CDN 0.4%
802.3s
82173ms
860.06
751.8s
611.1s
Imperva/Incapsula 0.2%
762.5s
83169ms
810.08
711.9s
64997ms
Sucuri 0.1%
682.8s
96134ms
850.05
572.3s
351.7s
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.
KeyCDN leads on LCP: 87% of its sites pass. Sucuri trails at 68%. computed
The State of Web Vitals · October 2026 · 210,902 crawled sites · phone field datacorewebvitals.io/state-of-cwv
Want the polished comparison? View as a share-anchored page →
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
210,902 crawled sites with Chrome field data, representing millions of real page loads. How we measured.