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
1.5s
Best FCP (p75)
KeyCDN
The State of Web Vitals · Q1 2026 · 94,910 sites · phone field datacorewebvitals.io/state-of-cwv
2
The ranking sorted by FCP at p75, fastest first
| # | Provider | FCP p75 | Passing | Sites | |
|---|---|---|---|---|---|
| 1 | KeyCDN | 1.5s | 85.2% | 620 | |
| 2 | Google Cloud CDN | 1.6s | 82.0% | 16,124 | |
| 3 | Azure CDN | 1.6s | 81.1% | 197 | |
| 4 | Vercel Edge | 1.7s | 76.9% | 1,458 | |
| 5 | Fastly | 1.8s | 76.1% | 42,269 | |
| 6 | Bunny CDN | 1.8s | 75.7% | 9,060 | |
| 7 | CloudFront | 1.8s | 75.2% | 26,296 | |
| 8 | jsDelivr | 1.8s | 75.1% | 6,936 | |
| 9 | Akamai | 1.8s | 74.8% | 3,939 | |
| 10 | Cloudflare | 1.8s | 74.7% | 42,570 | |
| 11 | cdnjs | 1.8s | 74.2% | 8,930 | |
| 12 | Netlify Edge | 1.9s | 72.5% | 548 | |
| 13 | Imperva/Incapsula | 2.0s | 72.1% | 242 | |
| 14 | unpkg | 2.1s | 67.6% | 2,887 | |
| 15 | Sucuri | 2.1s | 63.0% | 102 |
The State of Web Vitals · Q1 2026 · 94,910 sites · phone field datacorewebvitals.io/state-of-cwv
3
Passing FCP per CDN which group passes the FCP most often
CDNSitesPassing FCPp75
KeyCDN 0.7% 620 1.5s
Google Cloud CDN 17% 16,124 1.6s
Azure CDN 0.2% 197 1.6s
Vercel Edge 1.5% 1,458 1.7s
Fastly 44.5% 42,269 1.8s
Bunny CDN 9.5% 9,060 1.8s
CloudFront 27.7% 26,296 1.8s
jsDelivr 7.3% 6,936 1.8s
Akamai 4.2% 3,939 1.8s
Cloudflare 44.9% 42,570 1.8s
cdnjs 9.4% 8,930 1.8s
Netlify Edge 0.6% 548 1.9s
Imperva/Incapsula 0.3% 242 2.0s
unpkg 3% 2,887 2.1s
Sucuri 0.1% 102 2.1s
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
85% of KeyCDN sites pass FCP. Sucuri trails 22 points behind, leaving 37% 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 FCP: 85% of its sites pass. Sucuri trails at 63%. 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.