Since my ISP thought was a good idea to modify their resolver responses to push me to their own "search engine", I realized the importance of the free DNS projects that Google, OpenDNS and others are offering.

They give you an un-modified DNS experience that you may not get from your ISP. In addition to that, some players also block malicious domains and offer an option to block certain domain categories (mostly adult content) for families and kids.

That's all awesome as now we have a variety of options to choose from.

However, DNS performance is critical for your own Internet experience, so before you choose a provider, we recommend testing it to see how fast it will load from your location. In this article, we will compare the raw performance of a few popular providers from multiple locations throughout the world and see how they fare against each other.

Tested players

Unfiltered DNS + Optional Blocking of malicious domains:

Google: 8.8.8.8 (unfiltered only) Quad9: 9.9.9.9 OpenDNS: 208.67.222.222

Filtered / Safe DNS — Blocking Adult content for families / children:

OpenDNS Family Shield: 208.67.222.123 CleanBrowsing: 185.228.168.168 Norton ConnectSafe: 199.85.126.20 Yandex DNS: 77.88.8.7

Locations

As far as locations, we tested from these 14 locations from around the globe:

North America : New York, Toronto, Montreal, Atlanta, Dallas, San Francisco

: New York, Toronto, Montreal, Atlanta, Dallas, San Francisco Europe : London, Paris, Amsterdam, Frankfurt

: London, Paris, Amsterdam, Frankfurt Asia : Tokyo, Singapore, Australia

: Tokyo, Singapore, Australia South America: Sao Paulo

Results Summary

I divided the test into 2 phases to see how it would fare against each other. First, I did the basic ping test. Ping's help us measure latency and distance between our testing servers and their DNS servers. Second, we actually measure the cached DNS lookup for a couple domains: Google.com, Yahoo.com and Medium.com and compared all the players.

TLDR: Google was the most stable and with the best average performance across all locations. Quad9 is pretty strong and faster than Google in multiple locations. OpenDNS is still pretty good across the US, but not as fast in Asia and South America. CleanBrowsing and Norton are pretty consistent and with good performance across all locations. Yandex is for Russia only. But see for yourself.

Test 1: DNS Lookup

The DNS lookup test was done using the dig utility and extracting the "Query time" from the results. For each domain we tested it a 5 times, with a few minutes within each one. We removed the worst response and averaged the others (to reduce the chance of a latency from our test location affect the results).

Summary

Quad9 got the fastest response out of the most locations we tested. It was under 2msec in 8 different locations, which is amazing.

response out of the most locations we tested. It was under 2msec in 8 different locations, which is amazing. Google got in #1 place when comparing the averages (9.5msec).

when comparing the averages (9.5msec). Quad9 did not perform well across a few cities (specially Sao Paulo and Tokyo) and had an average response time of 26msec, higher than Google (9msec).

Yandex was the worst across all locations.

CleanBrowsing was the fastest when offering adult content filtering.

Average results (when removing the worst location of each)

#1 Google: 9.538 msec

#2 CleanBrowsing: 9.923 msec

#3 Quad9: 26.07 msec

#4 Norton: 32.76 msec

#5 OpenDNS: 38.10 msec

#6 OpenDNS_Family: 40.69 msec

#7 Yandex: 160.7 msec

Results

NewYork

#1 Google: 1 msec

#1 Quad9: 1 msec

#3 CleanBrowsing: 4 msec

#4 Norton: 6 msec

#5 OpenDNS: 17 msec

#6 OpenDNS_Family: 21 msec

#7 Yandex: 104 msec Toronto

#1 Quad9: 1 msec

#2 Google: 10 msec

#3 OpenDNS: 25 msec

#4 OpenDNS_Family: 28 msec

#4 CleanBrowsing: 28 msec

#6 Norton: 29 msec

#7 Yandex: 123 msec Montreal

#1 CleanBrowsing: 16 msec

#2 Quad9: 17 msec

#3 Google: 18msec

#4 Norton: 25 msec

#5 OpenDNS: 27 msec

#6 OpenDNS_Family: 27 msec

#7 Yandex: 116 msec Atlanta

#1 Quad9: 1 msec

#2 Google: 2 msec

#3 CleanBrowsing: 19 msec

#4 OpenDNS: 21 msec

#5 OpenDNS_Family: 30 msec

#6 Norton: 24 msec

#7 Yandex: 133 msec Dallas

#1 Google: 2 msec

#2 CleanBrowsing: 2 msec

#3 Norton: 3 msec

#4 OpenDNS_Family: 7 msec

#5 OpenDNS: 16 msec

#6 Quad9: 30 msec

#7 Yandex: 147 msec SanFrancisco

#1 Norton: 2 msec

#2 CleanBrowsing: 9 msec

#3 Google: 10 msec

#4 Quad9: 26 msec

#5 OpenDNS: 40 msec

#6 OpenDNS_Family: 40 msec

#7 Yandex: 175 msec London

#1 Quad9: 1 msec

#2 CleanBrowsing: 3 msec

#3 Norton: 4 msec

#4 Google: 8 msec

#5 OpenDNS_Family: 15 msec

#6 Yandex: 34 msec

#7 OpenDNS: 42 msec Paris

#1 CleanBrowsing: 6 msec

#2 Quad9: 7 msec

#3 OpenDNS_Family: 10 msec

#4 Google: 11 msec

#5 Norton: 20 msec

#6 OpenDNS: 23 msec

#7 Yandex: 39 msec Amsterdam

#1 Google: 1 msec

#1 Quad9: 1 msec

#3 CleanBrowsing: 9 msec

#4 Norton: 13 msec

#5 OpenDNS: 14 msec

#6 OpenDNS_Family: 14 msec

#7 Yandex: 29 msec Frankfurt

#1 Quad9: 1 msec

#2 OpenDNS: 9 msec

#3 Google: 10 msec

#4 Norton: 11 msec

#4 CleanBrowsing: 14 msec

#6 OpenDNS_Family: 20 msec

#7 Yandex: 35 msec SaoPaulo

#1 CleanBrowsing: 5 msec

#2 Google: 15 msec

#3 Norton: 113 msec

#4 OpenDNS: 126 msec

#5 OpenDNS_Family: 127 msec

#6 Quad9: 179 msec

#7 Yandex: 238 msec Tokyo

#1 OpenDNS: 1 msec

#2 CleanBrowsing: 5 msec

#3 Norton: 8 msec

#4 Google: 18 msec

#5 OpenDNS_Family: 36 msec

#6 Quad9: 65 msec

#7 Yandex: 309 msec Singapore

#1 OpenDNS_Family: 1 msec

#2 Google: 2 msec

#2 Quad9: 2 msec

#2 OpenDNS: 2 msec

#5 CleanBrowsing: 4 msec

#6 Norton: 9 msec

#7 Yandex: 269 msec Sydney

#1 CleanBrowsing: 5 msec

#2 Quad9: 7 msec

#3 Google: 16 msec

#4 OpenDNS: 131 msec

#5 OpenDNS_Family: 153 msec

#6 Norton: 159 msec

#7 Yandex: 339 msec

Test 2: Ping

All those providers, except for Yandex, have an anycast network, so they performed very well. Yandex seems to be restricted to Russia, so had very high ping times compared to the others. We removed them from the results as their ping tests were way above 100ms for all locations.

Norton does not allow ICMP, so could not be tested.

We consider any response under 5ms to be pretty strong and equal between each other as they are undistinguished for the end user. Responses between 5-20ms are acceptable (OK) and anything between 20ms-100ms we consider to be slow. Ping responses higher than 100ms get a FAIL as it means there is not presence on that location (or somewhere close by).

Winners

All providers performed really well, but both Google and Quad9 got 1st 5 times out of the 14 locations. CleanBrowsing came out in 3rd, being the faster in 3 locations.

However, when we consider the average across allow all locations, Quad9 did not perform as well, as it had very high ping time from Sao Paulo, Tokyo and Dallas. Considering the averages, those were the winners:

Google: 2.332 ms

CleanBrowsing: 3.545 ms

OpenDNS: 11.93 ms

OpenDNS_Family: 13.34 ms

Quad9: 21.73 ms

Those number are not very fair with OpenDNS as they performed very well, except for Sao Paulo, which skewed the results. If we remove Sao Paulo the numbers change to:

Google: 2.318

CleanBrowsing: 3.473

OpenDNS: 4.233

OpenDNS_Family: 5.675

Quad9: 9.941

In any event, go ahead and check for yourself: