How to Fix Slow DNS Lookup in Chrome, Windows & Mac

What Is DNS Lookup Time and Why Does It Matter?
DNS lookup time is the number of milliseconds it takes for your device to translate a domain name (like example.com) into an IP address (like 93.184.216.34). This lookup happens before any data transfers — your browser cannot send a single byte until DNS resolves the domain.
A typical DNS lookup takes 20-120ms depending on your DNS server, network conditions, and whether the result is cached. When DNS is slow, it delays every website, every API call, and every resource your browser loads. A page that loads 50 external resources could add 1-5 seconds of total DNS overhead.
Google's research shows that when page load time increases from 1 second to 3 seconds, the bounce probability rises to 32%. At 5 seconds, it jumps to 90%. Slow DNS is often the hidden bottleneck that causes this.
What Causes Slow DNS Lookups?
Understanding the root cause helps you pick the right fix. Here are the most common reasons DNS lookups are slow on your device or network.
Slow ISP DNS servers — Most ISPs run overloaded DNS resolvers that take 80-200ms per query. This is the #1 cause of slow DNS for home users.
Stale or corrupted DNS cache — Your OS or browser cached an old entry that forces repeated slow lookups instead of instant cache hits.
Geographic distance — If your DNS server is on another continent, every query has to travel thousands of miles and back, adding 50-200ms of latency.
CNAME chains — Each CNAME redirect triggers an additional DNS lookup. A chain of 3 CNAMEs means 3 sequential lookups before reaching the final IP.
Low TTL values — Short Time-to-Live values (like 60 seconds) force your device to re-query DNS constantly instead of using cached results.
VPN or proxy interference — VPNs route DNS queries through their own servers, which may be slower or farther away than your normal DNS.
Network congestion — Heavy network traffic or an overloaded router can cause DNS packet loss and retransmissions, adding seconds of delay.
IPv6 fallback issues — Some networks try IPv6 DNS first, fail, then fall back to IPv4 — doubling the lookup time for every request.
How to Measure Your Current DNS Lookup Time
Before fixing anything, measure your current DNS speed so you can compare after. Here are three quick ways to check your DNS lookup time.
Method 1: Using dig (Mac/Linux)
The dig command shows exact DNS query time in milliseconds:
# Query your current DNS server
dig google.com
# Look for "Query time" at the bottom:
# ;; Query time: 24 msec
# Test a specific DNS server
dig @1.1.1.1 google.com
dig @8.8.8.8 google.com
dig @9.9.9.9 google.comMethod 2: Using nslookup (Windows)
Windows does not show query time with nslookup by default, but you can use PowerShell to measure it:
# Measure DNS lookup time in PowerShell
Measure-Command { Resolve-DnsName google.com } | Select-Object TotalMilliseconds
# Test with a specific DNS server
Measure-Command { Resolve-DnsName google.com -Server 1.1.1.1 } | Select-Object TotalMillisecondsMethod 3: Using Chrome DevTools
Chrome shows DNS lookup time for every network request:
Open any website → press F12 to open DevTools → go to the Network tab → click on any request → look at the Timing section. The DNS Lookup row shows exactly how long the DNS resolution took for that domain.
If you see DNS lookup times consistently above 100ms, your DNS server is slow and the fixes below will help.
Fix 1: Switch to a Faster DNS Server
This is the single most impactful fix. ISP DNS servers typically respond in 80-200ms. Public DNS servers like Cloudflare and Google respond in 8-20ms — that is a 10x speed improvement on every DNS query.
Here is how to change your DNS server on each platform:
Change DNS on Windows 10/11
Open Settings → Network & Internet → Advanced network settings
Click your active connection (Wi-Fi or Ethernet) → Hardware properties
Click Edit next to DNS server assignment
Switch from Automatic to Manual → enable IPv4
Set Preferred DNS to
1.1.1.1and Alternate DNS to1.0.0.1Click Save and test with
digor PowerShell
Change DNS on macOS
Open System Settings → Network → Wi-Fi (or your active connection)
Click Details next to your connected network
Click DNS in the sidebar
Remove existing entries and add
1.1.1.1and1.0.0.1Click OK then Apply
Change DNS on Linux
On most Linux distributions using systemd-resolved:
# Edit the resolved config
sudo nano /etc/systemd/resolved.conf
# Add or modify these lines:
[Resolve]
DNS=1.1.1.1 1.0.0.1
FallbackDNS=8.8.8.8 8.8.4.4
# Restart the service
sudo systemctl restart systemd-resolved
# Verify the change
resolvectl statusFix 2: Flush Your DNS Cache
A stale or corrupted DNS cache forces your device to either use outdated entries or perform fresh lookups that fail and retry. Flushing the cache clears all stored DNS entries and forces fresh queries to your DNS server.
Run the command for your operating system:
# Windows (Command Prompt as Administrator)
ipconfig /flushdns
# macOS
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
# Linux (systemd-resolved)
sudo resolvectl flush-caches
# Verify cache is empty (Windows)
ipconfig /displaydnsFix 3: Enable DNS Prefetching in Your Browser
DNS prefetching tells your browser to resolve domain names before you click a link. When you hover over a link or when a page loads, the browser proactively resolves DNS for linked domains in the background. By the time you click, DNS is already resolved — zero waiting.
Most modern browsers enable DNS prefetching by default, but it can get disabled. Here is how to verify and enable it.
Chrome DNS Prefetch Settings
In Chrome, DNS prefetching is part of the preloading feature:
Open Chrome → Settings → Privacy and Security → Preload pages
Enable "Preload pages for faster browsing and searching"
This enables DNS prefetching, TCP pre-connect, and page prerendering for links you are likely to visit
Firefox DNS Prefetch Settings
Firefox supports DNS prefetching but can be disabled accidentally:
Type
about:configin the address bar and press EnterSearch for
network.dns.disablePrefetchEnsure it is set to `false` (false = prefetching is ON)
Also check
network.dns.disablePrefetchFromHTTPS— set tofalsefor HTTPS sites too
Fix 4: Clear Chrome's Internal DNS Cache
Chrome maintains its own DNS cache that is separate from your operating system's cache. Even after flushing your OS DNS cache, Chrome may still use stale entries from its internal cache.
To clear Chrome's DNS cache:
Open Chrome and type
chrome://net-internals/#dnsin the address barClick "Clear host cache" to flush Chrome's internal DNS entries
Also visit
chrome://net-internals/#socketsand click "Flush socket pools" to close lingering connectionsRestart Chrome for a completely fresh DNS state
Fix 5: Configure DNS on Your Router
Changing DNS on your router applies the faster DNS server to every device on your network — phones, tablets, smart TVs, gaming consoles — without configuring each one individually.
To change DNS on most routers:
Open your browser and navigate to
192.168.1.1or192.168.0.1(your router's admin page)Log in with your router's admin credentials (check the sticker on your router if you have not changed them)
Find the DNS settings — usually under WAN settings, Internet settings, or DHCP settings
Change Primary DNS to
1.1.1.1and Secondary DNS to1.0.0.1Save and reboot the router to apply the changes
Fix 6: Reduce CNAME Chains (For Website Owners)
To reduce CNAME chains, use CNAME flattening (also called ALIAS records). This resolves the CNAME chain at the DNS server level and returns the final IP address directly. Cloudflare, AWS Route 53, and DNSimple all support CNAME flattening.
You can check your CNAME chains using DNS Robot's DNS Lookup tool — enter your domain and check the CNAME records to see if chains exist.
www.example.com → CNAME → example.com.cdn.cloudflare.net
→ CNAME → cdn-123.cloudflare.net
→ A → 104.21.55.123
# That is 3 DNS lookups instead of 1!
# Each adds 20-80ms of latency.Fix 7: Increase TTL Values (For Website Owners)
TTL (Time to Live) controls how long DNS resolvers cache your domain's records. A low TTL like 60 seconds means every resolver must re-query your authoritative DNS server every minute. A higher TTL like 3600 seconds (1 hour) means the result is cached and served instantly for an hour.
The impact is significant: increasing TTL from 60s to 3600s can reduce DNS lookups to your authoritative server by 98% during peak hours.
| TTL Value | Cache Duration | Best For |
|---|---|---|
| 60 | 1 minute | Records that change frequently (failover, load balancing) |
| 300 | 5 minutes | Records that change occasionally |
| 3600 | 1 hour | Stable records (recommended default) |
| 86400 | 24 hours | Records that rarely change (MX, TXT) |
DNS Server Speed Comparison (2026 Benchmarks)
Cloudflare (1.1.1.1) consistently ranks as the fastest public DNS resolver worldwide. Google Public DNS is a close second. Both support DNS over HTTPS (DoH) and DNS over TLS (DoT) for encrypted queries.
You can benchmark DNS servers for your specific location using the GRC DNS Benchmark tool on Windows, or run dig @1.1.1.1 google.com vs dig @8.8.8.8 google.com on Mac/Linux to compare response times.
| DNS Provider | Primary IP | Secondary IP | Avg Response Time | Privacy | Security Features |
|---|---|---|---|---|---|
| Cloudflare | 1.1.1.1 | 1.0.0.1 | ~11ms | No IP logging | DNSSEC, DoH, DoT |
| Google Public DNS | 8.8.8.8 | 8.8.4.4 | ~14ms | Logs anonymized after 48h | DNSSEC, DoH, DoT |
| Quad9 | 9.9.9.9 | 149.112.112.112 | ~20ms | No IP logging | DNSSEC, malware blocking |
| OpenDNS | 208.67.222.222 | 208.67.220.220 | ~23ms | Logs for filtering | Content filtering, DNSSEC |
| Typical ISP DNS | Varies | Varies | ~80-200ms | Varies | Basic only |
How to Verify Your DNS Is Faster
You should see DNS lookup times drop from 80-200ms (ISP DNS) to 10-20ms (Cloudflare/Google). You can also use DNS Robot's Ping tool to measure latency to your DNS server directly — ping 1.1.1.1 and compare it to your old ISP DNS server IP.
# Mac/Linux: Compare before and after
dig google.com # Should show lower query time
dig amazon.com # Test multiple domains
dig github.com
# Windows PowerShell
Measure-Command { Resolve-DnsName google.com } | Select-Object TotalMilliseconds
# Check Chrome DevTools
# Open any page → F12 → Network tab → look at DNS Lookup timingCheck your DNS speed now
Use DNS Robot's free DNS Lookup tool to measure DNS resolution times from multiple global servers. See exactly how fast your DNS resolves worldwide.
Try DNS LookupFrequently Asked Questions
Under 50ms is good, under 20ms is excellent. Anything over 100ms is slow and will noticeably impact your browsing speed. Public DNS servers like Cloudflare (1.1.1.1) typically respond in 10-15ms.