Benchmark report
Is jsDelivr slow?
CDN response times from 6 cities
Fast globally
jsDelivr responds quickly from all 6 test locations. Amsterdam was fastest at 9 ms; San Francisco took 38 ms.
- Fastest
- 9 ms
- Amsterdam
- Slowest
- 38 ms
- San Francisco
- Successful requests
- 100%
- 6 locations
Response time around the world
Amsterdam
9 msSingapore
11 msTokyo
16 msMontreal
17 msMumbai
17 msSan Francisco
38 ms
Why is San Francisco slower?
In the controlled run of 27 September five cities had the 2.1 KB file in 8 to 10 ms, with no phase above 4 ms. San Francisco took 33 ms and every phase grew with it: 10 ms to connect, 12 ms for the secure handshake and 10 ms waiting for the first byte. When all the stages stretch together, the likely cause is a longer path to the cache that answered rather than a slow cache. San Francisco was the slowest of the six on 11 of the 14 days, so the gap is steady. The PyPI page, also served by Fastly, shows the same San Francisco pattern.
Click the location to see each stage.
San Francisco33 ms
- Finding the server
- 13 ms
- Reaching the server
- 10 ms
- Setting up security: most of the time
- 12 ms
- Waiting for the server
- 10 ms
- Receiving the response
- 1 ms
- Total
- 33 ms
Finding the server is measured once per location, so it sits outside these bars. Open a city to see it.
Bars show the typical request, so the parts add up to its total. Why
Compare all locationsHide the comparison
Click a city to see its stage-by-stage breakdown.
Amsterdam10 ms
- Finding the server
- 2 ms
- Reaching the server
- 2 ms
- Setting up security
- 3 ms
- Waiting for the server: most of the time
- 4 ms
- Receiving the response
- 1 ms
- Total
- 10 ms
San Francisco33 ms
- Finding the server
- 13 ms
- Reaching the server
- 10 ms
- Setting up security: most of the time
- 12 ms
- Waiting for the server
- 10 ms
- Receiving the response
- 1 ms
- Total
- 33 ms
Montreal9 ms
- Finding the server
- 3 ms
- Reaching the server
- 2 ms
- Setting up security: most of the time
- 4 ms
- Waiting for the server
- 3 ms
- Receiving the response
- 0 ms
- Total
- 9 ms
Singapore10 ms
- Finding the server
- 3 ms
- Reaching the server
- 2 ms
- Setting up security: most of the time
- 4 ms
- Waiting for the server
- 4 ms
- Receiving the response
- 0 ms
- Total
- 10 ms
Tokyo8 ms
- Finding the server
- 1 ms
- Reaching the server
- 2 ms
- Setting up security: most of the time
- 3 ms
- Waiting for the server
- 3 ms
- Receiving the response
- 0 ms
- Total
- 8 ms
Mumbai10 ms
- Finding the server
- 2 ms
- Reaching the server
- 2 ms
- Setting up security: most of the time
- 4 ms
- Waiting for the server
- 4 ms
- Receiving the response
- 0 ms
- Total
- 10 ms
The phases come from the controlled run of 27 September 2026. Typical and slower times pool the daily requests. 6 of 6 test locations included: Amsterdam, San Francisco, Montreal, Singapore, Tokyo, Mumbai.
Finding the server is measured once per location, so it sits outside these bars. Open a city to see it.
Bars show the typical request, so the parts add up to its total. Why
jsDelivr still feels slow?
- Check jsDelivr’s status page
- Incidents and degraded regions are posted there. A slow file during one is not your network.
- This is one small cached file
- We fetch normalize.min.css 8.0.1, a 2.1 KB file that is almost always in cache. A large bundle, a file nobody has asked for lately, a version range jsDelivr has to resolve, or a directory listing can take longer.
- Two CDNs behind one name
- Five of our cities reached Fastly and Montreal reached Cloudflare, so which network answers depends on where you are. Montreal's daily median was 9 to 18 ms on most days and 33 to 71 ms on five of them (19 to 22 and 25 September).
Response time over the last 18 days
A dot marks a day well above that location’s usual level.
Show the numbers
| Day | Amsterdam | San Francisco | Montreal | Singapore | Tokyo | Mumbai |
|---|---|---|---|---|---|---|
| 9 September 2026 | 12 ms | 37 ms | 12 ms | 11 ms | 21 ms | 22 ms |
| 10 September 2026 | 9 ms | 45 ms | 20 ms | 23 ms | 19 ms | 17 ms |
| 11 September 2026 | 9 ms | 44 ms | 23 ms | 27 ms | 20 ms | 23 ms |
| 12 September 2026 | 8 ms | 40 ms | 9 ms | 10 ms | 18 ms | 10 ms |
| 13 September 2026 | 8 ms | 42 ms | 9 ms | 11 ms | 15 ms | 16 ms |
| 14 September 2026 | 9 ms | 36 ms | 10 ms | 10 ms | 16 ms | 20 ms |
| 15 September 2026 | 9 ms | 46 ms | 15 ms | 10 ms | 21 ms | 17 ms |
| 16 September 2026 | 10 ms | 36 ms | 18 ms | 11 ms | 9 ms | 22 ms |
| 17 September 2026 | 8 ms | 38 ms | 10 ms | 28 ms | 14 ms | 20 ms |
| 18 September 2026 | 8 ms | 38 ms | 17 ms | 11 ms | 15 ms | 15 ms |
| 19 September 2026 | 9 ms | 39 ms | 33 ms | 11 ms | 10 ms | 9 ms |
| 20 September 2026 | 9 ms | 40 ms | 33 ms | 12 ms | 14 ms | 9 ms |
| 21 September 2026 | 9 ms | 37 ms | 48 ms ▲ | 12 ms | 17 ms | 22 ms |
| 22 September 2026 | 9 ms | 40 ms | 71 ms ▲ | 16 ms | 17 ms | 22 ms |
| 23 September 2026 | 8 ms | 38 ms | 9 ms | 11 ms | 15 ms | 9 ms |
| 24 September 2026 | 8 ms | 40 ms | 9 ms | 10 ms | 17 ms | 20 ms |
| 25 September 2026 | 9 ms | 38 ms | 50 ms ▲ | 13 ms | 16 ms | 18 ms |
| 26 September 2026 | 9 ms | 35 ms | 10 ms | 12 ms | 10 ms | 20 ms |
| 27 September 2026 | 9 ms | 35 ms | 17 ms | 10 ms | 16 ms | 9 ms |
About this measurement
GET cdn.jsdelivr.net/npm/normalize.css@8.0.1/normalize.min.css · 70 requests per location over 14 daily runs · 14 September 2026 to 27 September 2026
What we tested · Static file. normalize.min.css 8.0.1 from cdn.jsdelivr.net: 2.1 KB of CSS, immutable, served from a Fastly cache behind Cloudflare, the same file cdnjs serves.
How LatencyRadar measures response time →
Technical details
Doesn’t measure: Larger bundles, jsDelivr's GitHub or npm directory listings, or a cache miss. This file is a hit almost everywhere.
One jsDelivr surface: normalize.min.css 8.0.1 from cdn.jsdelivr.net, 2.1 KB of CSS marked immutable. jsDelivr serves npm and GitHub files through more than one CDN; in our runs five cities reached Fastly and Montreal reached Cloudflare. This is the request a browser makes when a page links a library file from jsDelivr, and a file this popular is almost always in cache. It is the same file cdnjs serves.
Not measured: larger bundles, jsDelivr's npm or GitHub directory listings, version ranges it has to resolve, or a cache miss.
Between 14 and 27 September 2026 the typical time was 9 ms in Amsterdam, 11 ms in Singapore, 16 ms in Tokyo, 17 ms in Montreal and Mumbai, and 38 ms in San Francisco. Amsterdam was the fastest city on 13 of the 14 days, and its daily median never left 8 to 10 ms; San Francisco's stayed between 35 and 46 ms. Montreal is the one city with a slow tail, 74 ms for the slowest 5% of requests, from the five days its daily median rose to 33 to 71 ms. Compare unpkg, which serves the unminified copy of the same stylesheet.
| Test location | Typical response time | Slower response time | Requests |
|---|---|---|---|
| Amsterdam | 9 ms | 10 ms | 20 |
| San Francisco | 38 ms | 52 ms | 20 |
| Montreal | 17 ms | 74 ms | 20 |
| Singapore | 11 ms | 38 ms | 20 |
| Tokyo | 16 ms | 27 ms | 20 |
| Mumbai | 17 ms | 26 ms | 20 |
Typical: half of the requests finished within this time (technical: p50). Slower: 95% of requests finished within this time (technical: p95). Statistics
- Request
- GET cdn.jsdelivr.net/npm/normalize.css@8.0.1/normalize.min.css
- Measured from
- Amsterdam · San Francisco · Montreal · Singapore · Tokyo · Mumbai
- Requests
- Daily measurements from 14 September 2026 to 27 September 2026. 6 of 6 test locations included: Amsterdam, San Francisco, Montreal, Singapore, Tokyo, Mumbai. · 14 September 2026 to 27 September 2026
- Timings taken
- DNS, connect, TLS, waiting for the server, download
- Report coverage
- 6 of 6 test locations included: Amsterdam, San Francisco, Montreal, Singapore, Tokyo, Mumbai.
- Daily requests in each location
- Amsterdam: 70 · San Francisco: 70 · Montreal: 70 · Singapore: 70 · Tokyo: 70 · Mumbai: 70
- Typical response time
- Median of the eligible daily requests in each included location.
- Slower response time
- The 95th percentile of the same eligible daily requests in each included location.
jsDelivr
https://cdn.jsdelivr.net/npm/normalize.css@8.0.1/normalize.min.css
Independent measurement by LatencyRadar. Not affiliated with jsDelivr. · How we measure (v1.2)
How fast does your site load around the world?
Run a free speed test from multiple cities and find out where your users are waiting. No setup, no account required.
No account required · Takes about 30 seconds.