Favicon Troubleshooting
Nine times out of ten it's caching, a path, or a content type. Here's how to tell which.
A favicon that doesn't appear is frustrating precisely because there's no error message — the browser just quietly shows a blank page icon. The cause is almost always one of a handful of things: an aggressively cached old icon, a relative path that resolves differently on a subpage, a file served with the wrong MIME type, a tag that iOS ignores, or a CDN returning HTML where an image should be. These guides work through each symptom to its actual cause, with a way to confirm the diagnosis before you change anything. If you'd rather skip straight to a verdict, the Checker inspects a live URL and reports what it finds.
How Browsers Actually Decide Which Favicon to Show
Declare five icons and the browser displays one. The selection rules aren't the order you wrote them in — here's what governs the choice, and why two sites with identical markup can show different icons.
7 min read
ReadTroubleshootingGoogle Search Console Favicon Not Showing: How to Fix It
Google has its own strict favicon rules, separate from what your browser accepts — here's how to meet them.
4 min read
ReadTroubleshootingWhy Isn't My Favicon Showing Up? 9 Common Causes and Fixes
Favicon not showing? Check these 9 causes in order: browser cache, a missing or malformed link tag, a 404 on the file, wrong MIME type, JavaScript-only injection, CDN caching, a stale service worker, a bad relative path, or a corrupted file.
5 min read
ReadTroubleshootingFavicon Not Updating? How to Bust the Browser Cache
Favicons are cached harder than almost anything else on the web — here's how to force a fresh one.
4 min read
ReadTroubleshootingWhy Your Favicon Looks Broken on iPhone (and How to Fix It)
iOS ignores favicon.ico completely — what it actually reads instead, and how to fix a black or blank home-screen icon.
4 min read
ReadTroubleshootingFavicon Showing a 404 in the Console: How to Fix It
GET /favicon.ico 404 means the browser found no icon declared on that page, so it tried the default path. Tested in Chrome: what triggers the request, when it doesn't happen, and how to fix it on any stack.
5 min read
Read