google-chrome - site - disable chrome cache permanently

Disabling Chrome cache for website development (20)

How can I disable the cache temporarily or refresh the page in some way that I could see the changes?

It's unclear which "cache" you're referring to. There are several different methods a browser can cache content persistently. Web Storage being one of them, Cache-Control being another.

Some browsers also have a Cache, used in conjunction with Service Workers, to create Progressive Web Apps (PWAs) providing offline support.

To clear the cache for a PWA

self.caches.keys().then(keys => { keys.forEach(key => console.log(key)) })

to list the names of the cache keys, then run:


to delete a cache key by name (i.e., my-site-cache). Then refresh the page.

If you see any worker-related errors in the console after refreshing, you may also need to unregister the registered workers:

  .then(registrations => {
    registrations.forEach(registration => {

I am modifying a site's appearance (CSS modifications) but can't see the result on Chrome because of annoying persistent cache. I tried Shift+refresh but it doesn't work.

How can I disable the cache temporarily or refresh the page in some way that I could see the changes?

  1. F12 to open Chrome DevTools
  2. F1 to open DevTools Settings
  3. Check Disable cache (while DevTools is open) as shown below:

This is currently on the Preferences tab which is the default. You may need to scroll down. This checkbox has been moved at least a couple times since this question was asked. Last I checked, it was in the middle column at the bottom. If you have it open on a thinner screen and there are 2 columns under Preferences, it may be near the top right. Feel free to update this post if it changes or comment and I'll update the post.

Clearing the cache is too annoying when you need to clear the cache 30 times an hour.. so I installed a Chrome Extension called Classic Cache Killer that clears the cache on every page load.

Chrome Store Link (free) (Now without malware!)

Now my mock json, javascript, css, html and data refreshes every time on every page load.

I never have to worry if I need to clear my cache.

There are about 20 cache cleaners for Chrome I found, but this one seemed lightweight and zero effort. In an update, Cache Killer can now stay "always on".

Note: I do not know the plugin author in any way. I just found it useful.

Actually if you don't mind using the bandwidth it is more secure for multiple reasons to disable caching and advised by many security sites.

Chromium shouldn't be arrogant enough to make decisions and enforce settings on users.

You can disable the cache on UNIX with --disk-cache-dir=/dev/null.

As this is unexpected crashes may happen but if they do then that will clearly point to a more severe bug which should be fixed in any case.

Chrome's Cache killer is by far the best option. Since the store URL to install cache killer is down, you can download the CRX file here:

once the extension file is downloaded, open Chrome -> more tools -> extensions, then drag the CRX file from the File Explorer or your Desktop (depending the location where you downloaded the file) into the chrome window to install the extension.

Disable cache in chrome only works when you have dev tools open

How about a bookmarklet which changes the page name to prevent the page from cacheing. In Chrome you would create a new bookmark and then paste the code into the URL. Click the bookmark and the page will reload with timestamp to thwart the cache.

javascript:(function(){var idx = location.href.indexOf('?');var d = new Date();var str = location.href.substr(0,idx) + '?version=' + d.getTime();location.href=str; void 0;})();

I had the same problem, I tried :

  • Control Shift R,
  • Disable cache in F12
  • Control F5.

Then I discovered that using a .appcache manifest for a non https site is deprecated. I removed my site.appcache file and its reference in the html tag and now I'm seeing the latest version of each page!

I just got caught out but not necessarily due to Chrome.

I am using jQuery to make AJAX requests. I had the cache attribute set to true in the request:

        type: 'GET',
        cache: true,

Setting this to false fixed my problem but this is not ideal.

I have no idea where this data is saved but I do know that chrome never hit the server for a request.

I was in a situation that the browser load the cache data from disk even I checked it disabled cache (I was using Chrome). All my css and js were loading from server but not the webpage. This was happening on both my local and Production.

To fixed it, I need to put an extra param in my url to force the browser to get the webpage from server, even the controller did not need it.

I was using ASP.Net, so here is my example

//Controller function
public ActionResult Index()
        return View();
@Html.Action("Index", "Home", new { ts = DateTime.Now.Ticks.ToString()})

The result is, it will generate a link like:

This is my situation and solution. Hopefully it could help somebody.

If you're using ServiceWorkers (e.g.: for Progressive web apps), you'll likely need to check "Update on reload" under Application > Service Workers in dev tools too.

In addition to the disable cache option (which you get to via a button in the lower right corner of the developer tools window -- Tools | Developer Tools, or Ctrl + Shift + I), on the network pane of the developer tools you can now right click and choose "Clear Cache" from the popup menu.

Instead of hitting "F5" Just hit:

"Ctrl + F5"

Not sure what you are using, but if you are using ASP.Net you can do the following which works like a charm:

<link href="@Url.Content("~/Content/Site.css")[email protected]" rel="stylesheet" />

Basically it will automatically append the Date and Time to the end of the file each time it is ran, meaning since the file name is technically different, you will never have to worry about it getting cached again.

Since version 50 (if I remember correctly), the "Disable cache" option was removed from the Devtool Settings. Go to the "Network" tab and there's the "Disable cache" option.

The Chrome DevTools can disable the cache.

  1. Right-click and choose Inspect Element to open the DevTools. Or use the following keyboard shortcuts:
    • F12
    • Command+Option+i on Mac
    • Control+Shift+i on Windows or Linux
  2. Click Network in the toolbar to open the network pane.
  3. Check the Disable cache checkbox at the top.

Keep in mind, as a tweet from @ChromiumDev stated, this setting is only active while the devtools are open.

Note that this will result in all resources being reloaded. Should you desire to disable the cache only for some resources, you can modify the HTTP header that your server sends alongside your files.

If you do not want to use the Disable cache checkbox, a long press on the refresh button with the DevTools open will show a menu with the options to Hard Reload or Empty Cache and Hard Reload which should have a similar effect. Read about the difference between the options. The following shortcuts are available:

  • Command+Option+R on Mac
  • Control+Shift+R on Windows or Linux

There is a better and quicker way now (Chrome version 59.x.x.):

Right-click onto the reload-icon (left of the url-field) and you get a drop-down menu, select the third option: 'empty Cache and Hard reload'.

This option is only available when the developer tools are open. (Notice the difference to option 2: 'Hard reload' -cmd-shift-R). No cache emptying here!

There is a chrome extension available in the chrome web store named Clear Cache.

I use it every day and its a very useful tool I think. You can use it as a reload button and can clear the cache and if you like also cookies, locale storage, form data etc. Also you can define on which domain this happens. So can clear all this shit with only the reload button which you anyway have to press - on your chosen domains.

Very very nice!

You also can define a Keyboard Shortcut for this in the options!

Also another way is to start your chrome window in incognito-mode. Here the cache also should be completely disabled.

To be clear, the disable cache checkbox in Chrome (v17 here, but since v15 I believe) is not in the main settings UI. It is in the developer tools settings UI.

  1. From the browser window's wrench icon menu (prefs menu) choose Tools → Developer Tools

  2. In the developer tools UI that appears, click the gear icon at bottom right.

  3. Check the 'Disable cache' checkbox in the Network section.

Until the bug is fixed you could use Clear Cache Chrome plugin and you can also set a keyboard shortcut for it.

After installing it, right click and go to options:

Check Automatically reload active tab after clearing data:

Select Everything for Time Period:

And then you can go to Menu => Tools => Extensions:

Click on keyboard shortcuts at the bottom:

And set your keyboard shortcut, for example Ctrl + Shift +R: