I reviewed a client's Shopify store last month and found their favicon was still the default Shopify shopping bag. They'd spent $4,000 on branding — custom logo, color palette, typography, the works. But when I opened their site alongside twenty other tabs, there was a generic shopping bag staring back at me. It's the digital equivalent of showing up to a pitch meeting with a blank name tag.
Your favicon doesn't just sit in a browser tab. It shows up in bookmarks, browsing history, Google Search results, Safari's start page, PWA home screens, and even in the "open tab" preview on mobile Chrome. I've counted at least 15 different surfaces where a favicon can appear. Lose consistency in any of them and your brand looks sloppy.
Let me walk through the surfaces I check when setting up a client site:
Here's what I've seen work — and not work — across dozens of client sites:
A simplified mark works better than a shrunken logo. Most logos are designed for horizontal space. A favicon is square and tiny. I recommend creating a standalone brand mark — a single letter, a geometric shape, or a simplified icon — rather than shrinking the full logo. The client I mentioned earlier had a beautiful wordmark that became completely illegible at 16×16.
Dark mode matters more than you think. I learned this the hard way on a project where the favicon was a dark navy symbol on a transparent background. Looked great on light tabs. Completely invisible on dark mode browser tabs. I now check every favicon against both backgrounds before shipping.
| Size | Where It's Used | Skippable? |
|---|---|---|
| 16×16 | Browser tabs, history | No — this is the core size |
| 32×32 | HiDPI tabs, bookmarks | No |
| 48×48 | Windows taskbar pin | Only if you target Windows |
| 180×180 | Apple touch icon | No for any iOS traffic |
| 192×192 | Android PWA | Only if you use PWA |
| SVG | Modern browsers (dark mode) | No — this is the future |
I start with a 512×512 source PNG or SVG. Then I generate the full size set — 16, 32, 48, 180, 192, and SVG. I drop the 180×180 as an apple-touch-icon and the 192×192 in the manifest. I test on a dark tab, a light tab, and on an actual iPhone home screen. Takes about 20 minutes. Catches problems that would otherwise sit there for months.
I use GenFavicon for this — it generates all sizes from one source, includes the SVG for dark mode support, and the whole thing stays in the browser. No uploading brand assets to a third-party server. (I built it specifically because I was tired of uploading client logos to random free tools.)