pngtoicotool
Browser-only conversion

Favicon troubleshooting

Favicon Not Showing? Check Which Surface Is Missing It

Start by naming the place where the icon is missing: a browser tab, Google Search, an iPhone Home Screen, or an installed web app. Each surface reads a different route, so replacing one image may not fix the failed one.

Check the surface first. For a browser tab, inspect the live page's rel="icon" link and request its exact URL. For Google Search, check the homepage and favicon are crawlable, then allow time for a recrawl. For an iPhone Home Screen or installed web app, verify the separate touch-icon or manifest route. A working icon in one place does not prove the others are configured; the favicon troubleshooting checklist separates these surfaces before you change another file.

One working icon route does not verify the other three surfaces in this map.

The same word can describe four different failures

A favicon is not one universal display slot. A coded page can declare a browser icon with `rel="icon"`; Google's search-result favicon has crawler and hostname rules; an iPhone Home Screen icon uses an Apple touch-icon declaration; and an installed web app can select an icon from its manifest. Treating these destinations as one setting makes troubleshooting slower because a successful upload may belong to a different route.

Use the visible symptom to select the check. If the browser tab is blank, begin with the published page head and the icon request. If the tab works but Google shows a default or old mark, leave the tab setup alone and check Google's documented route. If only a saved or installed icon is wrong, inspect the touch-icon or manifest entry.

Browser tab: follow the live link to its response

On the public page, inspect the `link` element whose `rel` includes `icon`. Copy the browser-resolved URL rather than guessing from the filename. Open it directly and check that the response is successful and contains an image. A server can return status 200 with an HTML page, so the status alone does not confirm that the browser received icon bytes.

If the exact URL is broken, compare it with where the file was actually deployed. A root-relative `/favicon.ico` points to the domain root, while `favicon.ico` is resolved relative to the current page. When the request and file are correct but an old image remains, test a fresh browser context before replacing the artwork. Keep the URL stable unless a deliberate new filename is needed to separate a changed asset from a cached response.

Google Search: check its crawl route separately

Google documents that its search-result favicon is associated with a hostname. Its crawler needs access to both the homepage and the favicon file, and the icon URL should remain stable. The documented image needs a square 1:1 shape and must be at least 8 by 8 pixels; Google recommends more than 48 by 48 pixels for better display across surfaces. Meeting these conditions makes an icon eligible, but does not guarantee that it will appear.

After changing the homepage declaration or file, Google says recrawling can take several days to several weeks. You can request homepage indexing through Search Console's URL Inspection tool, but that request is not an instant favicon refresh. If the browser already shows the correct icon, changing its HTML repeatedly can introduce a new problem without speeding up Google's processing.

Home Screen and installed app: verify the other declarations

A browser tab icon does not by itself configure every mobile destination. Apple documents `rel="apple-touch-icon"` for a Home Screen web clip. An installable web app instead declares icons in its web app manifest. Check that each file URL is public and that the declaration belongs to the live page or manifest that the device actually loads.

If the route and file are correct but a device keeps showing an older mark, record which device surface is stale and test a newly saved shortcut or a fresh install only when it is safe to do so. That observation helps separate a missing declaration from a saved icon that has not refreshed; it does not establish a universal cache duration.

Use this small result sheet to avoid changing the wrong thing

Before editing, record the surface, the live declaration, the resolved file URL, the response status and content type, and the result after a fresh load. This makes the next action concrete: repair a missing link, fix the response, allow a crawler to revisit, or configure a separate mobile route. Do not resize an image to fix a request that currently returns an error page.

Where it is missingFirst place to inspectWhat a passing check means
Browser tabPublished page head and resolved rel=icon URLThe live page points to a public image response
Google Search resultHomepage and favicon crawl access, stable URL, documented dimensionsThe route is eligible; display still is not guaranteed
iPhone Home ScreenLive apple-touch-icon link and its fileThe Home Screen route has its own declared image
Installed web appManifest icon entries and fetched filesThe installed-app route has usable manifest assets

For checking the HTML favicon link, see the [checking the HTML favicon link](favicon-html).

A three-step browser tab check: inspect rel icon in the published HTML, open the resolved href, then confirm the response is an image rather than an HTML fallback
For a missing browser-tab icon, follow the live HTML link all the way to the response.
Google Search favicon route: crawl the homepage and icon file, keep the URL stable, then allow recrawl; eligibility does not guarantee display
Search results have a separate crawl and processing route.
Two separate mobile icon declarations: apple-touch-icon for an iPhone Home Screen web clip and manifest icons for an installed web app
A browser icon link does not configure both mobile routes.

Run these checks in order

  1. 01
    Name the missing surface

    Write down whether the icon is missing in a browser tab, a Google result, an iPhone Home Screen bookmark, or an installed web app. A report like “favicon not showing” is not specific enough to tell which file or declaration to inspect.

  2. 02
    Inspect the published page, not its editor preview

    Open the public page and inspect its current HTML. For a browser icon, find the active `link rel="icon"` element and copy its resolved `href`. A CMS preview or upload confirmation does not establish that the public page serves the same declaration or file.

  3. 03
    Request the exact icon URL

    Open the copied URL directly. Confirm it returns the image file rather than an error or an HTML fallback page. If the response fails, fix the deployed path or access rule before changing image dimensions.

  4. 04
    Follow the route for that surface

    A browser tab uses the page icon link. Google Search separately crawls the homepage and favicon. An iPhone Home Screen uses an Apple touch-icon link, while an installable web app uses its manifest icons. Check only the route for the missing surface first.

  5. 05
    Change one cause, then recheck

    After correcting a URL, file, or crawl setting, reload the live page and request the icon again. Keep the URL stable when possible. Browser display caches and Google's recrawl schedule are different; repeated uploads or indexing requests cannot prove that either surface has refreshed.

FAQ

Favicon not showing questions

My favicon appears in the browser but not in Google. Is the file broken?

Not necessarily. Google Search separately crawls the homepage and favicon and may take several days to several weeks to recrawl. Verify crawl access and the stable URL, then allow processing time; a browser tab result does not confirm Google's search display.

The icon URL returns 200. Why is the tab still blank?

A 200 response can still contain an HTML fallback page instead of image bytes. Check the response content type and file itself, then confirm that the public page points to that exact URL.

Will changing the favicon size fix every missing icon?

No. Dimensions matter for some requirements, but a missing or incorrect URL, blocked request, wrong declaration, or separate mobile route must be diagnosed at its own layer.

Does `rel="icon"` set the iPhone Home Screen icon too?

It identifies a page icon. Apple documents a separate `rel="apple-touch-icon"` route for a Home Screen web clip.