Benchmark report

jsDelivr thumbnail

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 43 ms.

Fastest
9 ms
Amsterdam
Slowest
43 ms
San Francisco
Successful requests
100%
6 locations

Response time around the world

Amsterdam 9ms typicalSan Francisco 43ms typicalMontreal 15ms typicalSingapore 11ms typicalTokyo 10ms typicalMumbai 9ms typical
  • NetherlandsAmsterdam
    9 ms
  • IndiaMumbai
    9 ms
  • JapanTokyo
    10 ms
  • SingaporeSingapore
    11 ms
  • CanadaMontreal
    15 ms
  • United StatesSan Francisco
    43 ms

Why is San Francisco slower?

In the controlled run of 4 October five cities had the 2.1 KB file in 9 to 12 ms, with no connect, handshake or wait phase above 6 ms. San Francisco took 38 ms and every phase grew with it: 12 ms to connect, 15 ms for the secure handshake and 11 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 13 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.

ConnectTLSServer waitDownload
United StatesSan Francisco
38 ms
Finding the server
13 ms
Reaching the server
12 ms
Setting up security: most of the time
15 ms
Waiting for the server
11 ms
Receiving the response
0 ms
Total
38 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 locations

Click a city to see its stage-by-stage breakdown.

ConnectTLSServer waitDownload
NetherlandsAmsterdam
10 ms
Finding the server
1 ms
Reaching the server
2 ms
Setting up security: most of the time
5 ms
Waiting for the server
3 ms
Receiving the response
0 ms
Total
10 ms
United StatesSan Francisco
38 ms
Finding the server
13 ms
Reaching the server
12 ms
Setting up security: most of the time
15 ms
Waiting for the server
11 ms
Receiving the response
0 ms
Total
38 ms
CanadaMontreal
12 ms
Finding the server
15 ms
Reaching the server
2 ms
Setting up security
4 ms
Waiting for the server: most of the time
5 ms
Receiving the response
1 ms
Total
12 ms
SingaporeSingapore
11 ms
Finding the server
3 ms
Reaching the server: most of the time
4 ms
Setting up security
4 ms
Waiting for the server
2 ms
Receiving the response
1 ms
Total
11 ms
JapanTokyo
9 ms
Finding the server
2 ms
Reaching the server
2 ms
Setting up security: most of the time
4 ms
Waiting for the server
2 ms
Receiving the response
1 ms
Total
9 ms
IndiaMumbai
10 ms
Finding the server
9 ms
Reaching the server
2 ms
Setting up security: most of the time
6 ms
Waiting for the server
2 ms
Receiving the response
0 ms
Total
10 ms

The phases come from the controlled run of 4 October 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 8 to 19 ms on ten of the 13 days and 32 to 50 ms on the other three (28 September, 3 and 6 October).

Response time over the last 29 days

Daily median of 5 requests per location, 11 September 2026 to 10 October 2026.
0250500 ms11 Sept10 OctMontreal, 21 September 2026: 48 ms, well above its usual level.Montreal, 22 September 2026: 71 ms, well above its usual level.Montreal, 25 September 2026: 50 ms, well above its usual level.Montreal, 28 September 2026: 50 ms, well above its usual level.Montreal, 6 October 2026: 47 ms, well above its usual level.Singapore, 28 September 2026: 235 ms, well above its usual level.

A dot marks a day well above that location’s usual level.

Show the numbers
DayAmsterdamSan FranciscoMontrealSingaporeTokyoMumbai
11 September 20269 ms44 ms23 ms27 ms20 ms23 ms
12 September 20268 ms40 ms9 ms10 ms18 ms10 ms
13 September 20268 ms42 ms9 ms11 ms15 ms16 ms
14 September 20269 ms36 ms10 ms10 ms16 ms20 ms
15 September 20269 ms46 ms15 ms10 ms21 ms17 ms
16 September 202610 ms36 ms18 ms11 ms9 ms22 ms
17 September 20268 ms38 ms10 ms28 ms14 ms20 ms
18 September 20268 ms38 ms17 ms11 ms15 ms15 ms
19 September 20269 ms39 ms33 ms11 ms10 ms9 ms
20 September 20269 ms40 ms33 ms12 ms14 ms9 ms
21 September 20269 ms37 ms48 ms ▲12 ms17 ms22 ms
22 September 20269 ms40 ms71 ms ▲16 ms17 ms22 ms
23 September 20268 ms38 ms9 ms11 ms15 ms9 ms
24 September 20268 ms40 ms9 ms10 ms17 ms20 ms
25 September 20269 ms38 ms50 ms ▲13 ms16 ms18 ms
26 September 20269 ms35 ms10 ms12 ms10 ms20 ms
27 September 20269 ms35 ms17 ms10 ms16 ms9 ms
28 September 20268 ms43 ms50 ms ▲235 ms ▲17 ms9 ms
29 September 20268 ms38 ms11 ms30 ms10 ms9 ms
30 September 20269 ms39 ms15 ms13 ms15 ms9 ms
1 October 20269 ms38 ms15 ms9 ms18 ms23 ms
2 October 20269 ms40 ms11 ms10 ms17 ms9 ms
3 October 202610 ms49 ms32 ms12 ms9 ms16 ms
4 October 20268 ms47 ms13 ms10 ms8 ms9 ms
5 October 202635 ms45 ms19 ms10 ms9 ms8 ms
6 October 20269 ms44 ms47 ms ▲9 ms8 ms19 ms
7 October 202638 ms42 ms8 ms10 ms9 ms9 ms
9 October 20269 ms51 ms11 ms34 ms10 ms9 ms
10 October 20269 ms43 ms15 ms11 ms9 ms9 ms

About this measurement

GET cdn.jsdelivr.net/npm/normalize.css@8.0.1/normalize.min.css · 65 requests per location over 13 daily runs · 27 September 2026 to 10 October 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.

Between 27 September and 10 October 2026 the typical time was 9 ms in Amsterdam and Mumbai, 10 ms in Tokyo, 11 ms in Singapore, 15 ms in Montreal, and 43 ms in San Francisco. Amsterdam's daily median sat at 8 to 10 ms except on 5 and 7 October (35 and 38 ms); San Francisco's stayed between 35 and 51 ms. Singapore has the longest slow tail, 235 ms for the slowest 5% of requests; on 28 September its daily median was 235 ms, against 9 to 34 ms on every other day. Montreal's 72 ms tail lines up with its three slower days. Compare unpkg, which serves the unminified copy of the same stylesheet.

Test locationTypical response timeSlower response timeRequests
Amsterdam9 ms38 ms65
San Francisco43 ms60 ms65
Montreal15 ms72 ms65
Singapore11 ms235 ms65
Tokyo10 ms22 ms65
Mumbai9 ms25 ms65

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 27 September 2026 to 10 October 2026. 6 of 6 test locations included: Amsterdam, San Francisco, Montreal, Singapore, Tokyo, Mumbai. · 27 September 2026 to 10 October 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: 65 · San Francisco: 65 · Montreal: 65 · Singapore: 65 · Tokyo: 65 · Mumbai: 65
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.3)

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.

Test my site

No account required · Takes about 30 seconds.

More benchmarks

All benchmarks →