Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

As you probably know Google Chrome has its own internal DNS cache. Is there a way to clear it without having to wait for the time out or close the browser?

share|improve this question
    
The only reason for me to flush Chrome's DNS cache is because if I don't, I can't access Google. Luckily, Google's not the only search engine out there (or else I wouldn't have found this question) and I only have to deal with Chrome at work. –  Nolonar Apr 11 '13 at 9:16
    
For me, this is probably caused by having an incorrect DNS-server in resolv.conf. (I am trying to access an internal server on a VPN). The people at T-com have misconfigured their DNS to respond with their advertisement site instead of NXDOMAIN, and the people who wrote Chrome didn't care to respect the resolv.conf order, but instead happily use whatever DNS server appears to work. –  Ketil Feb 21 at 2:32
    

13 Answers 13

up vote 571 down vote accepted

Navigate to chrome://net-internals/#dns and press the "Clear host cache" button.

share|improve this answer
    
Thanks a lot .. –  Mee Oct 26 '10 at 23:03
11  
Strangely, this only works in one direction. I have a mapping in the hosts file that maps a domain name to the local machine (i.e. to 127.0.0.1), when I remove the mapping and flush the DNS cache in Chrome, it correctly loads the site from the internet, but when I add the mapping again to the hosts file, it still loads the site from the internet. It shows the cached DNS list empty in Chrome after clearing the DNS cache (also cleared the OS cache using ipconfig /flushdns), still, it loads the site from the internet! Seems like a bug. –  Mee Oct 28 '10 at 2:14
3  
Even more annoying, Chrome shows the IP address correctly (127.0.0.1) for that domain in the DNS cache list (after flushing and trying to load the site again), still it loads the site from the internet. –  Mee Oct 28 '10 at 2:15
14  
@Ian chrome://about –  ephemient Sep 24 '11 at 18:47
2  
Wasn't enough for me. Had to "ipconfig /flushdns" in command prompt (found in answer below) –  Adam Tal May 27 at 21:47

"Navigate to chrome://net-internals/#dns" doesn't work in the Google Chrome browser, at least on my system. Looks like this solution maybe works for the Google Chrome OS, but not the Google Chrome browser more generally speaking. For me the link redirects here:
The Chromium Projects

It appears "Empty the Cache" is the better solution. Also note my browser says "Preferences" rather than "Options"

Via http://www.google.com/support/forum/p/Chrome/thread?tid=026b6a1d9151a6e3&hl=en

"Go to tools -> options -> Under the hood -> Clear Browsing data and check 'empty the cache' and click on clear browsing data. Yes yes, I know, it is not the DNS cache I would expect it to clear, but hey it seems to. And now it works for me."

share|improve this answer
2  
For the record, this solution didn't clear up my particular problem. Hopefully I just need to wait another day for DNS propagation. –  PJ Brunet Oct 20 '11 at 8:22
1  
Confirmed this worked for me, Clear Browsing Data -> Empty the cache. No other method worked. Thanks PJ. –  Air Dec 29 '12 at 23:04
    
The accepted answer didn't work for me, and this method did. Thanks! –  Martin Argerami Sep 6 '13 at 7:39
    
This worked for me on both chrome and chromium when /etc/resolver/foo.com was being ignored. –  chovy Sep 17 '13 at 3:31
    
Looks like Google is gradually making name changes to some internal URLs over different versions. As of version 27.0.1421.0 (184274)... –  DocSalvager Jan 16 at 10:25

Clicking "clear host cache" in chrome://net-internals/#dns should do it for Google Chrome, but there are other DNS caches to consider on your machine.

Windows:

ipconfig /flushdns

OS X pre-10.7 (before Lion):

sudo dscacheutil -flushcache

OS X 10.7+ (Lion and later):

sudo killall -HUP mDNSResponder

Your router may be caching the DNS as well (restart it or read the manual). The ultimate test is to use dig, but this uses your network's DNS host, not the authoritative server by default:

dig superuser.com

To query right from the source, try something like:

dig superuser.com @ns1.serverfault.com
share|improve this answer

Sometimes you need to flush the socket pools after flushing the DNS:

chrome://net-internals/#sockets
share|improve this answer
    
Finally a solution that seem to work! Thanks! –  gabrielf Nov 10 at 9:52

This worked for me: Empty and Clear the Disk Cache

In Chrome, click on Wrench icon, and then Options. Go to Under the Hood tab. Click on Clear browsing data button under Privacy section. Select just "Empty the cache" check box, and then click on Clear browsing data button.

This worked immediately - I didn't even have to close the browser.

share|improve this answer
1  
This seems to work to force Chrome to recognize changes to the hosts file. –  minamhere Jun 26 '12 at 2:39
    
This worked for me on Mac Chrome, after having tried the chrome://net-internals/#dns flush trick mentioned here, without success. –  Markus Amalthea Magnuson Mar 10 at 20:16

In OS X 10.9.1 w/ Chrome 32 I needed to both clear the host cache and flush the socket pools to get Chrome to refresh the DNS cache:

  1. Navigate to chrome://net-internals/#dns and click "Clear Host Cache"
  2. Navigate to chrome://net-internals/#sockets abd click "Flush Socket Pools"
share|improve this answer
    
I needed it in Windows 8.1 as well, so it's not just OS X. –  benrick Jul 14 at 2:34
    
Chrome for Linux also need it chrome://net-internals/#sockets –  pengemizt Dec 17 at 11:51

As far as I can find, in recent versions of Chrome (I'm on 26.0.1410.43), there's no (reliable) way to do it, at least not on a Mac. None of the suggestions on this page have worked for me.

My situation is that I've added a hosts file entry, but Chrome is still going to the IP address returned by DNS. Firefox works correctly.

In fact, the chrome://net-internals/#dns page is simply lying about the IP address for me. It shows the IP from the hosts entry, but that is clearly not where it's actually getting the site from.

share|improve this answer
    
Same problem here. I have tried clearing cache, clearing the internal DNS cache, ipconfig flush dns, and it is still loading a local website from the live domain. If I open it in "Incognito" it works, or in Firefox it works, but normal Chrome refuses to reset its DNS –  andrewtweber Apr 23 '13 at 14:43

I tried to flush the DNS cache in so many ways, but nothing worked for me. At last, I planned to change my DNS entry. This trick will work for all people who access Internet through high speed LAN connection.

On a LAN connection, a user is generally provided two DNS addresses. One is primary and another is secondary or alternative DNS address. What I did was that I just changed the secondary address to the primary address and vice-versa. It worked for me instantly.

I kept the alternative DNS address as primary address for two days. The problem solved itself and later, I reinstated the old DNS entry.

share|improve this answer

I know this is an old question but I got annoyed by same the complaints as others: even after clearing the cache it can still take a minute or two for the new DNS changes to kick in.

There are a few ways around it. After clearing the DNS cache through chrome://net-internals/#dns (or using an extension that achieves the same result):

  1. Open an incognito window and the new DNS mappings for the domain will be effective immediately.

  2. Clear the browser cache. This is cumbersome if you use your browser for regular browsing. You can run a separate instance of the browser as another user and clearing the cache in that account will not interfere with your regular browsing cache. I haven't tried this but it should work.

  3. Hit CTRL+F5. I had to keep CTRL+F5 pressed for about one second which consecutively reloads the page a couple of times. This is odd behavior but it works and is also just as effective. This is my preferred approach.

Ideally there ought be a plugin that can purge the DNS and cache (specifically just the document cache and not the cookie cache) but I didn't find anything of the sort yet.

UPDATE: On OSX the Gas Mask application is excelling for switching between hosts files and along with the #2 workaround, it's quite effective.

share|improve this answer

Full process:

Created site in IIS (windows 8), set host header.

Tried hitting the the host with no host file, ensuring to use http:// so it does not just do a google search. Correctly failed in chrome "Version 32.0.1700.76 m"

Add host to host file as 127.0.0.1, now can hit it in chrome.

Remove from host file and run ipconfig /flushdns, chrome still shows site!

Do nothing other than CTRL+F5 and now site correct fails in Chrome.

With the number of different answers here I wonder if we all have slightly different use cases.

share|improve this answer

Try DNS Flusher for Chrome. Note that to use it, it requires a command line flag, --enable-benchmarking when you start the Chrome browser.

share|improve this answer

Navigate to chrome://net-internals/#dns and press the "Clear host cache" button. as answered already Also you may need dscacheutil -flushcache command in OS X, to flush system-wide DNS cache. ipconfig /flushdns in windows command prompt

share|improve this answer

For me private browsing did the trick (New incognito window/ private window).

share|improve this answer
    
Hi Bart, welcome to Superuser! Unfortunately, this question is about the computer-version of Chrome, not the mobile version. I'd suggest editing your answer to reflect the desktop version. Thanks –  Canadian Luke Feb 21 at 2:35

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.