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
162,178
Sites in sample
Combined across all items
2.0s
Best LCP (p75)
KeyCDN
The State of Web Vitals · Q1 2026 · 94,910 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 | 88.8% | 620 | |
| 2 | Google Cloud CDN | 2.1s | 84.4% | 16,124 | |
| 3 | Bunny CDN | 2.2s | 81.5% | 9,060 | |
| 4 | Fastly | 2.2s | 81.3% | 42,269 | |
| 5 | Azure CDN | 2.3s | 83.0% | 197 | |
| 6 | cdnjs | 2.3s | 80.9% | 8,930 | |
| 7 | jsDelivr | 2.3s | 81.3% | 6,936 | |
| 8 | Cloudflare | 2.3s | 80.5% | 42,570 | |
| 9 | CloudFront | 2.3s | 80.1% | 26,296 | |
| 10 | Akamai | 2.3s | 78.9% | 3,939 | |
| 11 | Vercel Edge | 2.3s | 79.6% | 1,458 | |
| 12 | unpkg | 2.5s | 73.5% | 2,887 | |
| 13 | Netlify Edge | 2.6s | 71.9% | 548 | |
| 14 | Imperva/Incapsula | 2.6s | 71.5% | 242 | |
| 15 | Sucuri | 2.6s | 69.4% | 102 |
The State of Web Vitals · Q1 2026 · 94,910 sites · phone field datacorewebvitals.io/state-of-cwv
3
Passing LCP per CDN which group passes the LCP most often
CDNSitesPassing LCPp75
KeyCDN 0.7% 620 2.0s
Google Cloud CDN 17% 16,124 2.1s
Azure CDN 0.2% 197 2.3s
Bunny CDN 9.5% 9,060 2.2s
Fastly 44.5% 42,269 2.2s
jsDelivr 7.3% 6,936 2.3s
cdnjs 9.4% 8,930 2.3s
Cloudflare 44.9% 42,570 2.3s
CloudFront 27.7% 26,296 2.3s
Vercel Edge 1.5% 1,458 2.3s
Akamai 4.2% 3,939 2.3s
unpkg 3% 2,887 2.5s
Netlify Edge 0.6% 548 2.6s
Imperva/Incapsula 0.3% 242 2.6s
Sucuri 0.1% 102 2.6s
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
89% of KeyCDN sites pass LCP. Sucuri trails 20 points behind, leaving 31% of its sites failing. computed
The State of Web Vitals · Q1 2026 · 94,910 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 44.9%
812.3s
91137ms
870.03
751.8s
601.1s
Fastly 44.5%
812.2s
91139ms
860.03
761.8s
611.1s
CloudFront 27.7%
802.3s
90145ms
850.04
751.8s
611.1s
Google Cloud CDN 17%
842.1s
90145ms
880.03
821.6s
73859ms
Bunny CDN 9.5%
822.2s
93131ms
880.03
761.8s
601.1s
cdnjs 9.4%
812.3s
94130ms
870.03
741.8s
601.2s
jsDelivr 7.3%
812.3s
92137ms
870.03
751.8s
601.1s
Akamai 4.2%
792.3s
93136ms
870.03
751.8s
561.2s
unpkg 3%
742.5s
90144ms
850.04
682.1s
531.3s
Vercel Edge 1.5%
802.3s
85167ms
840.04
771.7s
78744ms
KeyCDN 0.7%
892.0s
92148ms
900.03
851.5s
73881ms
Netlify Edge 0.6%
722.6s
81178ms
760.10
731.9s
531.2s
Imperva/Incapsula 0.3%
722.6s
80175ms
810.08
722.0s
631.1s
Azure CDN 0.2%
832.3s
85147ms
820.08
811.6s
72872ms
Sucuri 0.1%
692.6s
97129ms
840.06
632.1s
391.6s
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: 89% of its sites pass. Sucuri trails at 69%. computed
The State of Web Vitals · Q1 2026 · 94,910 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 (7) → Forms (3) → Personalization (5) → Chrome field data from 94,910 sites, representing millions of real page loads · How we measured
Chrome field data from 94,910 sites, representing millions of real page loads. How we measured.