Skip to main content

Chrome Tab Icon Missing? Troubleshooting Guide

8 min read

Chrome shows a generic document icon or blank space in the tab where your favicon should be. The page loads fine otherwise. Chrome could not find or render a valid icon from your HTML or the default /favicon.ico request.

This guide covers Chrome-specific behavior on desktop and Android, plus fixes that apply when Chrome fails while Firefox works. Validate each step with Favicon Check on your live URL.

How Chrome loads favicons

Chrome requests icons in roughly this order:

  1. link rel="icon" tags in the initial HTML response
  2. Fallback GET to https://yourdomain.com/favicon.ico
  3. Optional SVG if declared with PNG fallback
  4. Manifest icons for installed PWAs (not regular tabs)

Chrome caches favicons per profile in a dedicated store. A missing icon and a stale cached icon look different but both frustrate developers.

SymptomLikely Chrome-specific cause
Globe or default doc icon404 on declared URL and /favicon.ico
Icon on some routes onlyRelative href on nested paths
Icon in Firefox, not ChromePNG vs ICO preference, or cache
Icon after hard refresh onlyFavicon cache in this Chrome profile
Icon vanishes randomlyExtension blocking requests

Step 1: Check view-source, not DevTools Elements

Chrome DevTools Elements panel shows the live DOM after JavaScript runs. Favicons must exist in the first HTML byte stream for reliable tab display.

Right-click > View Page Source. Search for rel="icon".

Expected:

<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">

If tags appear only in Elements but not view-source, your SPA injects them too late. Move tags into server HTML or framework layout. See How to Add a Favicon to Your Website.

Step 2: Open icon URLs directly in Chrome

Copy each href into a new tab. You should see the image or download the file.

Also test root fallback:

https://yourdomain.com/favicon.ico

404 on both declared tags and /favicon.ico guarantees a missing tab icon in Chrome.

Paste the page URL into Favicon Check. The tool lists every detected icon and probes /favicon.ico when undeclared.

Step 3: Fix paths Chrome cannot resolve

Chrome resolves relative URLs against the current page path.

Broken on nested routes:

<link rel="icon" href="favicon.ico">

On https://example.com/docs/guide, Chrome requests https://example.com/docs/favicon.ico.

Fixed:

<link rel="icon" href="/favicon.ico">

Root-relative paths start at the domain root on every route.

For CDN-hosted icons, use full HTTPS URLs:

<link rel="icon" type="image/png" sizes="32x32" href="https://cdn.example.com/icons/favicon-32x32.png">

Test a deep URL, not only the homepage. Chrome users bookmark inner pages.

Step 4: PNG, ICO, and SVG in Chrome

Chrome supports ICO, PNG, and SVG favicons.

Recommended pattern:

<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">

If SVG fails validation or returns wrong MIME type, Chrome may skip it and use the next tag. Ensure Content-Type: image/svg+xml on SVG files.

Oversized PNGs (512×512 as the only tab icon) usually work but waste bandwidth. Provide 16×16 and 32×32 for crisp tabs. Details in the Favicon Sizes Guide.

Step 5: Clear Chrome favicon cache

Chrome keeps favicons longer than normal page cache.

Quick tests:

  1. Incognito window (Cmd+Shift+N / Ctrl+Shift+N)
  2. Hard reload (Cmd+Shift+R / Ctrl+Shift+R)
  3. New Chrome profile or different machine

If incognito shows the icon but normal profile does not, clear site data:

Settings > Privacy and security > Delete browsing data > Cached images and files

Or remove data for one site via the lock icon in the address bar.

For deploy updates that reuse the same URL, rename the file instead of fighting cache. See Favicon Not Updating After Change?.

Step 6: HTTPS and mixed content

Chrome blocks HTTP favicons on HTTPS pages.

Wrong:

<link rel="icon" href="http://example.com/favicon.ico">

The Security panel in DevTools shows mixed content warnings. Every icon URL must use HTTPS in production.

Step 7: Chrome extensions and enterprise policy

Ad blockers and privacy extensions sometimes block requests to /favicon.ico or third-party CDNs.

Test with extensions disabled or in incognito with extensions off.

Managed Chrome installs may enforce policies that strip icons from internal sites. Compare on an unmanaged browser if you suspect policy.

Step 8: Service workers and PWAs

A service worker with aggressive precaching may serve an old or empty favicon response:

self.addEventListener('fetch', (event) => {
if (event.request.url.includes('favicon')) {
event.respondWith(caches.match(event.request));
}
});

In DevTools > Application > Service Workers, unregister while debugging. Bump cache revision after icon updates.

Chrome on Android

Mobile Chrome uses the same rel="icon" tags as desktop for tabs. It does not use apple-touch-icon for tabs.

If the tab icon is missing on Android Chrome specifically:

  • Check mobile network blocking CDN
  • Confirm icons are not behind geo-restrictions
  • Test on WiFi vs cellular

Home screen icons on Android come from manifest.json, not tab favicons. Wrong launcher icon vs missing tab icon are different problems. See Wrong Favicon on Mobile Home Screen?.

DevTools Network tab for favicon requests

Chrome lists favicon fetches separately from document requests in some versions. Open DevTools > Network, reload the page, filter by "favicon" or "icon".

You should see requests matching your declared href values. Status 200 with type image/png or x-icon confirms Chrome received bytes. Status (failed) or (blocked) points to mixed content, CORS on cross-origin icons, or extension interference.

If no favicon request appears at all, Chrome may rely on cache and skip the network call. Hard reload with "Disable cache" checked in Network tab forces a fresh fetch.

Response headers worth checking:

Content-Type: image/png
Cache-Control: public, max-age=86400

Wrong type on SVG or corrupt ICO can cause Chrome to discard the response and show a generic tab icon without an obvious console error.

Chrome vs other browsers

Works in Firefox, missing in ChromeCheck
SVG without fallbackAdd PNG or ICO fallback
Wrong MIME typeFix server headers
Chrome cacheIncognito test
Duplicate conflicting tagsAudit all rel="icon" entries

Safari-specific issues: Safari Favicon or Tab Icon Not Working.

General missing icon causes: Favicon Not Showing in Browser?.

Common Chrome favicon mistakes

Only testing localhost

Chrome on localhost serves files differently than production CDN. Always verify production URL.

Relying on JavaScript meta frameworks

Client-side head managers update too late for first paint favicon in some Chrome versions.

Forgetting /favicon.ico at root

Chrome requests it even when PNG tags exist. A 404 is harmless if tags work, but many setups depend on the root file alone.

Blurry icon looks "missing"

A white-on-white favicon appears invisible in Chrome light mode tabs. Check contrast. Pixelation fixes: Favicon Looks Blurry?.

Staging behind basic auth

Chrome cannot fetch icons behind auth walls for anonymous visitors. Favicon Check also fails. Make icons public.

Step-by-step Chrome fix workflow

  1. View-source on the broken page in Chrome. Copy all favicon-related tags.
  2. Open each icon URL in a new Chrome tab. Fix 404s.
  3. Confirm /favicon.ico at domain root if you rely on fallback.
  4. Move tags into server-rendered HTML if missing from view-source.
  5. Deploy over HTTPS with correct MIME types.
  6. Scan with Favicon Check.
  7. Test Chrome incognito. Then normal profile after cache clear if needed.
  8. Optional: Open Graph scanner for full metadata audit on the same URL.

FAQ

Why is my favicon not showing in Chrome only?

Often Chrome favicon cache, SVG without fallback, or tags injected after JavaScript. View-source and incognito isolate the cause.

Does Chrome require favicon.ico?

No, but Chrome requests /favicon.ico automatically. Explicit link tags with PNG are recommended. Missing both yields a generic icon.

How do I force Chrome to reload my favicon?

Rename the file and update href, or append ?v=2. Clearing cached images helps locally. Incognito confirms server-side fix.

Chrome shows favicon on homepage but not blog posts

Relative icon paths break on nested URLs. Use root-relative /favicon.ico paths.

Can Chrome use SVG favicons?

Yes, with proper MIME type. Keep PNG or ICO fallback for compatibility and audit tools.

Why did my favicon disappear after Chrome update?

Rare, but check if extensions updated or if service worker cache changed. Server-side tags usually unchanged.

Favicon missing in Chrome tab but shows in bookmarks bar

Different cache buckets in some Chrome versions. Same fix: correct URL, bust cache, verify in incognito.

How do I test Chrome without cache?

Incognito window plus Favicon Check on the production URL. The scanner fetches like a fresh client.

Bottom line

A missing Chrome tab icon means Chrome never got a valid icon from HTML or /favicon.ico. Fix server-rendered tags, root-relative paths, HTTPS URLs, and MIME types. Confirm with Favicon Check and Chrome incognito. Most cases are path or cache issues, not Chrome bugs.