Methodology
How we measure
Every measurement runs in your browser. The method and the data are public.
Two targets
This site (detour.tw) is deployed on a Cloudflare Free-plan zone. Its /cdn-cgi/trace endpoint reports the colo (data center code) that served you — the landing data center an ordinary Cloudflare site gets for your connection.
We also time cloudflare.com/cdn-cgi/trace. cloudflare.com is Cloudflare's own Enterprise zone, which normally lands in a Taiwan data center for users in Taiwan. It is our "ideal path" baseline — the "Taiwan node" figure on the result card, measured live in every test, not estimated.
Procedure
The browser first gets a single-use signed token, then makes 1 warm-up request and 5 timed requests to each target, interleaved (ours, baseline, ours, baseline…) so transient congestion affects both equally.
Requests bypass caches with a random query string; timing covers request start to body read. Each request times out after 4 s, the whole test after 15 s. We report the median of the 5 samples.
Anti-abuse and sanity checks
Tokens are HMAC-signed, single-use, valid only between 2 and 120 s after issue, and bound to the requesting address.
Physics check: light in fibre covers about 200 km per ms, so an RTT below the distance-based lower bound is impossible. The server also compares client timings with the TCP RTT it observes. Implausible tests are shown but not counted.
One counted test per device per day. The device id lives in the browser, and clearing it makes a new device, so this is best effort.
At most 20 counted tests per IP per day; for IPv6 a /64 counts as one address (a household is usually given a whole /64), and so do the rate limits. Mobile carriers put many users behind one IP (CGNAT), so mobile networks may be under-sampled.
What is excluded, and why
Only tests from users in Taiwan on Taiwanese networks count toward Taiwan statistics. Tests from abroad and travel eSIMs form the international baseline; roaming, VPN, corporate and hosting networks are shown but not counted.
Tests with "Share data" switched off are not stored at all.
Limitations
County location comes from IP geolocation and can be wrong. Mobile networks are the worst case: carrier address blocks are often registered in Taipei, so county statistics skew toward Taipei City. ISPs are identified by ASN; small providers may be grouped as "other".
cloudflare.com is not a perfect proxy: as an Enterprise zone it may route differently from other Enterprise sites. The "Taiwan node" figure is measured on cloudflare.com: it shows how fast a site served in Taiwan is, not that every such site is exactly as fast.
Browser timings include TLS, HTTP and browser overhead, so they read slightly higher than ping. Both targets are timed the same way, so they are comparable.
Round-trip times are measured and reported by your browser. The server can only check that they are plausible, not verify each one, so the median RTT and the median added latency are computed from client-reported values.
Volunteers are not a random sample; participants may skew toward people who care about this issue.
How ISPs are grouped
Tests are attributed by ASN and grouped under the brand a customer would recognise. Registry organisation names differ between databases, so names are never used as the key.
- Chunghwa Telecom's HiNet fixed broadband (AS3462) and its mobile network (AS17421) are reported separately.
- Taiwan Star merged into Taiwan Mobile in December 2023; its former AS24157 is counted under Taiwan Mobile.
- Asia Pacific Telecom merged into Far EasTone in December 2023; the legacy network is still distinguishable and is listed separately.
- Taiwan Mobile's mobile network (AS24158) and Taiwan Mobile Broadband (AS24163–24165) are reported separately.
- Academic and government networks are their own groups. Cloud, VPN, iCloud Private Relay and WARP addresses are not household connections: they get the gray light and are never counted.
- Taiwanese networks not mapped to a brand are listed by ASN. The public daily download still pools them into one group, since a single ASN may be one person's own network.
| Brand | ASNs |
|---|---|
| Chunghwa Telecom (HiNet) | AS3462 |
| Chunghwa Telecom Mobile | AS17421 |
| Taiwan Mobile | AS24158 · AS24157 |
| Taiwan Mobile Broadband (TFN Media) | AS24163 · AS24164 · AS24165 |
| Taiwan Fixed Network (TFN) | AS9924 |
| Far EasTone | AS9674 · AS18412 |
| Asia Pacific Telecom (now Far EasTone) | AS17709 · AS24154 · AS24155 |
| Seednet (Digital United) | AS4780 |
| kbro | AS38841 |
| Homeplus (KBT) | AS9416 · AS18042 |
| Taiwan Broadband Communications (TBC) | AS131596 |
| Taiwan Optical Platform (TOP) | AS18049 |
| DaDa Broadband | AS18419 |
| So-net Taiwan | AS18182 |
| Asia Pacific On-line (APOL) | AS7482 |
| New Kaohsiung Broadband | AS9922 |
| Peicity Digital Cable | AS131627 |
| Hsin Yeong An Cable TV | AS131602 |
| VeeTIME | AS17809 |
| Extra-Lan Technologies | AS18429 |
| Digidom CableTV | AS131607 |
| TNET Communication | AS38851 · AS132157 |
| DongFong Technology | AS18046 |
| Pittqiao Network Information | AS131642 · AS18178 |
| San Da Cable TV | AS131611 |
| Taiwan Intelligent Fiber Optic Network | AS131584 |
| Taiwan Digital Streaming | AS18041 |
| Sky Digital | AS134823 |
| Taiwan Academic Network (TANet) | AS1659 |
| TWAREN (NCHC) | AS7539 |
| Academia Sinica (ASNet) | AS9264 |
| Government Service Network (GSN) | AS4782 |
Privacy
We do not store your IP address. To stop repeat submissions, a keyed hash of your IP and device id that includes the date is kept for 48 hours, then removed from the database; database backups may keep it for up to 30 more days. Server request logging is off, so no logs hold your IP. Each test stores only ISP/ASN, county-level location, landing data centers, round-trip times, device time zone and connection type, for anonymous statistics. Only daily aggregates are published for download, never individual tests; landing data centers with fewer than 3 tests for an ISP on a day are merged. You can switch off "Share data" at any time; when it is off, nothing is stored. Fonts are served by Google Fonts, so your browser connects to Google to load them.
Data licence
Statistics are licensed CC BY 4.0. Reuse freely; please credit "Detour (detour.tw)".
The download holds daily statistics, not individual tests. Each row is one day (Taipei time), one ISP and one landing data center: the number of counted tests, their share of that ISP's tests that day, and the medians of the measured round-trip time, the Taiwan-node round-trip time and the added latency. Data centers with fewer than 3 tests for an ISP on a day are merged into one OTHER row, which shows no medians while it has fewer than 3 tests itself, so no single person's test can be picked out.
/api/export.csv covers every day and is refreshed every hour. Once a day is over, a file with only that day is added and never changes (/api/export/YYYY-MM-DD.csv, e.g. /api/export/2026-11-13.csv). Cite that file to point at a fixed version.
Questions about the data or the method? Write to developer@detour.tw
Cloudflare colo codes
Cloudflare names data centers after the nearest airport (IATA code). This table maps all 344 colos we know to cities; the result card uses it.
| Code | City | Country / region | Region |
|---|---|---|---|
| ACX | Xingyi | China | Asia |
| AGR | Agra | India | Asia |
| AIP | Jalandhar | India | Asia |
| AKX | Aktobe | Kazakhstan | Asia |
| ALA | Almaty | Kazakhstan | Asia |
| AMD | Ahmedabad | India | Asia |
| AVA | Anshun | China | Asia |
| BBI | Bhubaneswar | India | Asia |
| BDQ | Jamnagar | India | Asia |
| BKK | Bangkok | Thailand | Asia |
| BLR | Bangalore | India | Asia |
| BOM | Mumbai | India | Asia |
| BWN | Bandar Seri Begawan | Brunei | Asia |
| CAN | Guangzhou | China | Asia |
| CCU | Kolkata | India | Asia |
| CEB | Cebu | Philippines | Asia |
| CGD | Changde | China | Asia |
| CGK | Jakarta | Indonesia | Asia |
| CGO | Zhengzhou | China | Asia |
| CGP | Chittagong | Bangladesh | Asia |
| CGY | Cagayan de Oro | Philippines | Asia |
| CJB | Coimbatore | India | Asia |
| CKG | Chongqing | China | Asia |
| CMB | Colombo | Sri Lanka | Asia |
| CNN | Kannur | India | Asia |
| CNX | Chiang Mai | Thailand | Asia |
| COK | Kochi | India | Asia |
| CRK | Tarlac City | Philippines | Asia |
| CSX | Changsha | China | Asia |
| CTU | Chengdu | China | Asia |
| CZX | Changzhou | China | Asia |
| DAC | Dhaka | Bangladesh | Asia |
| DAD | Da Nang | Vietnam | Asia |
| DEL | New Delhi | India | Asia |
| DLC | Dalian | China | Asia |
| DPS | Denpasar | Indonesia | Asia |
| DYU | Dushanbe | Tajikistan | Asia |
| FOC | Fuzhou | China | Asia |
| FRU | Bishkek | Kyrgyzstan | Asia |
| FUK | Fukuoka | Japan | Asia |
| FUO | Foshan | China | Asia |
| HAK | Chengmai | China | Asia |
| HAN | Hanoi | Vietnam | Asia |
| HGH | Shaoxing | China | Asia |
| HKG | Hong Kong | Hong Kong | Asia |
| HYD | Hyderabad | India | Asia |
| HYN | Taizhou | China | Asia |
| ICN | Seoul | South Korea | Asia |
| ISB | Islamabad | Pakistan | Asia |
| IXC | Chandigarh | India | Asia |
| JAI | Jaipur | India | Asia |
| JHB | Johor Bahru | Malaysia | Asia |
| JOG | Yogyakarta | Indonesia | Asia |
| JRG | Sambalpur | India | Asia |
| JXG | Jiaxing | China | Asia |
| KCH | Kuching | Malaysia | Asia |
| KHH | Kaohsiung | Taiwan | Asia |
| KHI | Karachi | Pakistan | Asia |
| KHN | Nanchang | China | Asia |
| KIX | Osaka | Japan | Asia |
| KMG | Kunming | China | Asia |
| KNU | Kanpur | India | Asia |
| KTM | Kathmandu | Nepal | Asia |
| KUL | Kuala Lumpur | Malaysia | Asia |
| KWE | Guiyang | China | Asia |
| LHE | Lahore | Pakistan | Asia |
| LHW | Lanzhou | China | Asia |
| LUH | Ludhiana | India | Asia |
| LYA | Luoyang | China | Asia |
| MAA | Chennai | India | Asia |
| MFM | Macau | Macao | Asia |
| MLE | Malé | Maldives | Asia |
| MLG | Malang | Indonesia | Asia |
| MNL | Manila | Philippines | Asia |
| NAG | Nagpur | India | Asia |
| NQZ | Astana | Kazakhstan | Asia |
| NRT | Tokyo | Japan | Asia |
| OKA | Naha | Japan | Asia |
| PAT | Patna | India | Asia |
| PBH | Thimphu | Bhutan | Asia |
| PKX | Beijing | China | Asia |
| PNH | Phnom Penh | Cambodia | Asia |
| PNQ | Pune | India | Asia |
| SGN | Ho Chi Minh City | Vietnam | Asia |
| SHA | Shanghai | China | Asia |
| SIN | Singapore | Singapore | Asia |
| SJW | Hengshui | China | Asia |
| SZX | Shenzhen | China | Asia |
| TAO | Qingdao | China | Asia |
| TEN | Tongren | China | Asia |
| TNA | Jinan | China | Asia |
| TPE | Taipei | Taiwan | Asia |
| TYN | Yangquan | China | Asia |
| UDR | Udaipur | India | Asia |
| ULN | Ulaanbaatar | Mongolia | Asia |
| URT | Surat Thani | Thailand | Asia |
| VTE | Vientiane | Laos | Asia |
| WUH | Wuhan | China | Asia |
| XFN | Xiangyang | China | Asia |
| XIY | Baoji | China | Asia |
| ADL | Adelaide | Australia | Oceania |
| AKL | Auckland | New Zealand | Oceania |
| BNE | Brisbane | Australia | Oceania |
| CBR | Canberra | Australia | Oceania |
| CHC | Christchurch | New Zealand | Oceania |
| GUM | Hagatna | Guam | Oceania |
| HBA | Hobart | Australia | Oceania |
| MEL | Melbourne | Australia | Oceania |
| NOU | Noumea | New Caledonia | Oceania |
| PER | Perth | Australia | Oceania |
| PPT | Papeete | French Polynesia | Oceania |
| SUV | Suva | Fiji | Oceania |
| SYD | Sydney | Australia | Oceania |
| WLG | Wellington | New Zealand | Oceania |
| ABQ | Albuquerque | United States | North America |
| ANC | Anchorage | United States | North America |
| ATL | Atlanta | United States | North America |
| AUS | Austin | United States | North America |
| BGI | Bridgetown | Barbados | North America |
| BGR | Bangor | United States | North America |
| BNA | Nashville | United States | North America |
| BOS | Boston | United States | North America |
| CLE | Cleveland | United States | North America |
| CLT | Charlotte | United States | North America |
| CMH | Columbus | United States | North America |
| CVG | Cincinnati | United States | North America |
| DEN | Denver | United States | North America |
| DFW | Dallas | United States | North America |
| DTW | Detroit | United States | North America |
| EWR | Newark | United States | North America |
| FSD | Sioux Falls | United States | North America |
| GDL | Guadalajara | Mexico | North America |
| GND | St. George's | Grenada | North America |
| GUA | Guatemala City | Guatemala | North America |
| HNL | Honolulu | United States | North America |
| IAD | Ashburn | United States | North America |
| IAH | Houston | United States | North America |
| IND | Indianapolis | United States | North America |
| JAX | Jacksonville | United States | North America |
| KIN | Kingston | Jamaica | North America |
| LAS | Las Vegas | United States | North America |
| LAX | Los Angeles | United States | North America |
| MCI | Kansas City | United States | North America |
| MEM | Memphis | United States | North America |
| MEX | Mexico City | Mexico | North America |
| MIA | Miami | United States | North America |
| MSP | Minneapolis | United States | North America |
| OKC | Oklahoma City | United States | North America |
| OMA | Omaha | United States | North America |
| ORD | Chicago | United States | North America |
| ORF | Norfolk | United States | North America |
| PDX | Portland | United States | North America |
| PHL | Philadelphia | United States | North America |
| PHX | Phoenix | United States | North America |
| PIT | Pittsburgh | United States | North America |
| POS | Port of Spain | Trinidad & Tobago | North America |
| PTY | Panama City | Panama | North America |
| QRO | Queretaro | Mexico | North America |
| RDU | Durham | United States | North America |
| RIC | Richmond | United States | North America |
| SAN | San Diego | United States | North America |
| SAP | San Pedro Sula | Honduras | North America |
| SAT | San Antonio | United States | North America |
| SDQ | Santo Domingo | Dominican Republic | North America |
| SEA | Seattle | United States | North America |
| SFO | San Francisco | United States | North America |
| SJC | San Jose | United States | North America |
| SJO | San José | Costa Rica | North America |
| SJU | San Juan | Puerto Rico | North America |
| SLC | Salt Lake City | United States | North America |
| SMF | Sacramento | United States | North America |
| STI | Santiago de los Caballeros | Dominican Republic | North America |
| STL | St. Louis | United States | North America |
| TGU | Tegucigalpa | Honduras | North America |
| TLH | Tallahassee | United States | North America |
| TPA | Tampa | United States | North America |
| YHZ | Halifax | Canada | North America |
| YUL | Montréal | Canada | North America |
| YVR | Vancouver | Canada | North America |
| YWG | Winnipeg | Canada | North America |
| YXE | Saskatoon | Canada | North America |
| YYC | Calgary | Canada | North America |
| YYZ | Toronto | Canada | North America |
| ARI | Arica | Chile | Latin America |
| ARU | Aracatuba | Brazil | Latin America |
| ASU | Asunción | Paraguay | Latin America |
| BAQ | Barranquilla | Colombia | Latin America |
| BEL | Belém | Brazil | Latin America |
| BOG | Bogotá | Colombia | Latin America |
| BSB | Brasilia | Brazil | Latin America |
| CAW | Campos dos Goytacazes | Brazil | Latin America |
| CFC | Cacador | Brazil | Latin America |
| CGB | Cuiaba | Brazil | Latin America |
| CLO | Cali | Colombia | Latin America |
| CNF | Belo Horizonte | Brazil | Latin America |
| COR | Córdoba | Argentina | Latin America |
| CWB | Curitiba | Brazil | Latin America |
| EZE | Buenos Aires | Argentina | Latin America |
| FLN | Florianopolis | Brazil | Latin America |
| FOR | Fortaleza | Brazil | Latin America |
| GEO | Georgetown | Guyana | Latin America |
| GIG | Rio de Janeiro | Brazil | Latin America |
| GRU | São Paulo | Brazil | Latin America |
| GYE | Guayaquil | Ecuador | Latin America |
| GYN | Goiania | Brazil | Latin America |
| JDO | Juazeiro do Norte | Brazil | Latin America |
| JOI | Joinville | Brazil | Latin America |
| LIM | Lima | Peru | Latin America |
| LPB | La Paz | Bolivia | Latin America |
| MAO | Manaus | Brazil | Latin America |
| MDE | Medellín | Colombia | Latin America |
| NQN | Neuquen | Argentina | Latin America |
| NVT | Timbo | Brazil | Latin America |
| PBM | Paramaribo | Suriname | Latin America |
| PMW | Palmas | Brazil | Latin America |
| POA | Porto Alegre | Brazil | Latin America |
| QWJ | Americana | Brazil | Latin America |
| RAO | Ribeirao Preto | Brazil | Latin America |
| REC | Recife | Brazil | Latin America |
| SCL | Santiago | Chile | Latin America |
| SJK | São José dos Campos | Brazil | Latin America |
| SJP | São José do Rio Preto | Brazil | Latin America |
| SOD | Sorocaba | Brazil | Latin America |
| SSA | Salvador | Brazil | Latin America |
| UDI | Uberlandia | Brazil | Latin America |
| UIO | Quito | Ecuador | Latin America |
| VCP | Campinas | Brazil | Latin America |
| VIX | Vitoria | Brazil | Latin America |
| XAP | Chapeco | Brazil | Latin America |
| ADB | Izmir | Türkiye | Europe |
| AMS | Amsterdam | Netherlands | Europe |
| ARN | Stockholm | Sweden | Europe |
| ATH | Athens | Greece | Europe |
| BCN | Barcelona | Spain | Europe |
| BEG | Belgrade | Serbia | Europe |
| BOD | Bordeaux | France | Europe |
| BRU | Brussels | Belgium | Europe |
| BTS | Bratislava | Slovakia | Europe |
| BUD | Budapest | Hungary | Europe |
| CDG | Paris | France | Europe |
| CPH | Copenhagen | Denmark | Europe |
| DME | Moscow | Russia | Europe |
| DUB | Dublin | Ireland | Europe |
| DUS | Düsseldorf | Germany | Europe |
| FCO | Rome | Italy | Europe |
| FRA | Frankfurt | Germany | Europe |
| GOT | Gothenburg | Sweden | Europe |
| GVA | Geneva | Switzerland | Europe |
| HAM | Hamburg | Germany | Europe |
| HEL | Helsinki | Finland | Europe |
| IST | Istanbul | Türkiye | Europe |
| KBP | Kyiv | Ukraine | Europe |
| KEF | Reykjavík | Iceland | Europe |
| KIV | Chișinău | Moldova | Europe |
| LCA | Nicosia | Cyprus | Europe |
| LED | Saint Petersburg | Russia | Europe |
| LHR | London | United Kingdom | Europe |
| LIS | Lisbon | Portugal | Europe |
| LJU | Ljubljana | Slovenia | Europe |
| LUX | Luxembourg City | Luxembourg | Europe |
| LYS | Lyon | France | Europe |
| MAD | Madrid | Spain | Europe |
| MAN | Manchester | United Kingdom | Europe |
| MLA | Valletta | Malta | Europe |
| MRS | Marseille | France | Europe |
| MSQ | Minsk | Belarus | Europe |
| MUC | Munich | Germany | Europe |
| MXP | Milan | Italy | Europe |
| OSL | Oslo | Norway | Europe |
| OTP | Bucharest | Romania | Europe |
| PMO | Palermo | Italy | Europe |
| PRG | Prague | Czechia | Europe |
| PRN | Pristina | Kosovo | Europe |
| RIX | Riga | Latvia | Europe |
| SKG | Thessaloniki | Greece | Europe |
| SKP | Skopje | North Macedonia | Europe |
| SOF | Sofia | Bulgaria | Europe |
| STR | Stuttgart | Germany | Europe |
| TBS | Tbilisi | Georgia | Europe |
| TIA | Tirana | Albania | Europe |
| TLL | Tallinn | Estonia | Europe |
| TXL | Berlin | Germany | Europe |
| VIE | Vienna | Austria | Europe |
| VNO | Vilnius | Lithuania | Europe |
| WAW | Warsaw | Poland | Europe |
| WRO | Wroclaw | Poland | Europe |
| ZAG | Zagreb | Croatia | Europe |
| ZRH | Zurich | Switzerland | Europe |
| AMM | Amman | Jordan | Middle East |
| BAH | Manama | Bahrain | Middle East |
| BEY | Beirut | Lebanon | Middle East |
| BGW | Baghdad | Iraq | Middle East |
| BSR | Basra | Iraq | Middle East |
| DMM | Dammam | Saudi Arabia | Middle East |
| DOH | Doha | Qatar | Middle East |
| DXB | Dubai | United Arab Emirates | Middle East |
| EBL | Erbil | Iraq | Middle East |
| EVN | Yerevan | Armenia | Middle East |
| GYD | Baku | Azerbaijan | Middle East |
| HFA | Haifa | Israel | Middle East |
| ISU | Sulaymaniyah | Iraq | Middle East |
| JED | Jeddah | Saudi Arabia | Middle East |
| KWI | Kuwait City | Kuwait | Middle East |
| LLK | Astara | Azerbaijan | Middle East |
| MCT | Muscat | Oman | Middle East |
| NJF | Najaf | Iraq | Middle East |
| RUH | Riyadh | Saudi Arabia | Middle East |
| TLV | Tel Aviv | Israel | Middle East |
| XNH | Nasiriyah | Iraq | Middle East |
| ZDM | Ramallah | Palestine | Middle East |
| AAE | Annaba | Algeria | Africa |
| ABJ | Abidjan | Côte d’Ivoire | Africa |
| ACC | Accra | Ghana | Africa |
| ADD | Addis Ababa | Ethiopia | Africa |
| ALG | Algiers | Algeria | Africa |
| ASK | Yamoussoukro | Côte d’Ivoire | Africa |
| CAI | Cairo | Egypt | Africa |
| CPT | Cape Town | South Africa | Africa |
| CZL | Constantine | Algeria | Africa |
| DAR | Dar es Salaam | Tanzania | Africa |
| DKR | Dakar | Senegal | Africa |
| DLA | Douala | Cameroon | Africa |
| DUR | Durban | South Africa | Africa |
| EBB | Kampala | Uganda | Africa |
| FIH | Kinshasa | Congo - Kinshasa | Africa |
| GBE | Gaborone | Botswana | Africa |
| HRE | Harare | Zimbabwe | Africa |
| JIB | Djibouti | Djibouti | Africa |
| JNB | Johannesburg | South Africa | Africa |
| KGL | Kigali | Rwanda | Africa |
| LAD | Luanda | Angola | Africa |
| LLW | Lilongwe | Malawi | Africa |
| LOS | Lagos | Nigeria | Africa |
| LUN | Lusaka | Zambia | Africa |
| MBA | Mombasa | Kenya | Africa |
| MPM | Maputo | Mozambique | Africa |
| MRU | Port Louis | Mauritius | Africa |
| NBO | Nairobi | Kenya | Africa |
| ORN | Oran | Algeria | Africa |
| OUA | Ouagadougou | Burkina Faso | Africa |
| RUN | Saint-Denis | Réunion | Africa |
| TNR | Antananarivo | Madagascar | Africa |
| TUN | Tunis | Tunisia | Africa |
| WDH | Windhoek | Namibia | Africa |