Updated September 2026

Why Your Favicon Isn't Updating (And How to Force a Refresh)

You replaced favicon.ico, reloaded the page, and… the old icon is still there. This is one of the most common favicon complaints, and it is almost never a bug in your upload — it is the browser's cache, which treats favicons very differently from the rest of a page.

Why favicons cache so stubbornly

Browsers cache favicons separately from normal page assets, often in their own dedicated store (Chrome, for example, keeps a local Favicons database distinct from the regular HTTP disk cache). A normal page reload, or even a hard refresh in some cases, does not always touch that store, because the browser is not treating the favicon as part of the page it just reloaded — it is treating it as a property of the site, checked far less often.

Fixes that actually work, in order of how much control you have

  1. Version the URL. The most reliable fix if you control the site's HTML: add a query string that changes every time you update the icon, e.g. <link rel="icon" href="/favicon.ico?v=2">. Browsers cache by exact URL, so a new version string forces a fresh fetch. Bump the number (or use a build hash) every time you change the icon.
  2. Set explicit cache headers on the favicon file. If your server or CDN is serving favicon.ico with a long Cache-Control: max-age (common, since it is a static file that rarely changes), that header is honored on top of the browser's own favicon cache. Lowering it, or pairing it with the versioned URL above, avoids stale copies being served from an intermediate cache too.
  3. Clear the browser's favicon cache manually (useful for checking your own change, less realistic to ask visitors to do). In Chrome/Edge, a full "Cached images and files" clear from Settings → Privacy usually clears it; on some versions closing the browser after clearing history is needed before the new icon shows.
  4. Try a private/incognito window. A fresh browsing context has no favicon cache yet, so it is the fastest way to confirm whether your new icon is actually being served correctly, separate from whether your own browser has simply cached the old one.

Checklist before you assume it's a caching problem

  • Confirm the new file was actually uploaded to the right path — view https://yoursite.com/favicon.ico directly in a new tab to bypass the page entirely.
  • Check you are not also referencing an old icon explicitly with a <link rel="icon"> tag pointing at a different, stale file than the one you updated.
  • If you use a CDN in front of your site, purge that layer too — it caches independently of both your server and the visitor's browser.

Once you have a design you are happy with, export it from the editor and reuse the versioned-URL trick above every time you update it, so future changes show up immediately instead of fighting the cache again.